
Hi Sameer
I wonder component->driver->non_legacy_dai_naming can't work for you ?
I see currently in simple-card driver that, BE<->BE link would be treated as CODEC<->CODEC link if 'non_legacy_dai_naming' flag is set at both ends of BE. Do we need to set this flag for all BE? However I am not sure how this will work out for a BE<->BE DPCM DAI link considering the fact that I want to use chain of components and I guess routing map would get complicated. Also going by the flag name it was not meant to differentiate between a FE and BE?
OK, non_legacy_dai_naming was just my quick idea.
Maybe your soc_component_is_pcm() idea can work, but it seems a littl bit hackish for me. So, can you please
1) Add soc_component_is_pcm() on simple-card, not soc-core ? Maybe we can move it to soc-core later, but want to keep it under simple-card, so far.
2) Use it with data->component_chaining, and some comment ? non component_chaining user doesn't get damage in worst case, and easy to understand.
/* * This is for BE<->BE connection. * It needs to ... * It is assumng ... * Note is ... */ if (data->component_chaining && !soc_component_is_pcm(cpus)) dai_link->no_pcm = 1;
3) maybe you can reuse snd_soc_find_dai() for soc_component_is_pcm() ?
dai = snd_soc_find_dai(dlc); if (dai && (dai->pcm_new || dai->component->driver->pcm_construct)) return xxx
Thank you for your help !!
Best regards --- Kuninori Morimoto