Hi Cezary Thank you for your feedback > > +-- DeviceA --+ +-- DeviceB -+ > > |+-----------+| |+----------+| > > ||ComponentA1|| ||ComponentB|| > > || [DAI] <-> [DAI] || Card-1 > > |+-----------+| |+----------+| > > | | +------------+ > > | | > > | | +-- DeviceC -+ > > |+-----------+| |+----------+| > > ||ComponentA2|| ||ComponentC|| > > || [DAI] <-> [DAI] || Card-2 > > |+-----------+| |+----------+| > > +-------------+ +------------+ > > > > If [DeviceA] could separate feature into [ComponentA1] and [ComponentA2], > > it can use multi Cards on current ASoC, but it is not a generic solution, > > as Pierre-Louis explained. I can agree about it if my understanding was > > correct. At least my Sound can't use this style. > > Hello Kuninori, > > Could you explain what you meant by "my Sound"? Perhaps you could also > share location of problematic bits in your driver (file path + code > lines)? I'd like to take a look - if possible, that is - to better > understand your issue. Thanks. "my Sound" mean "my sound driver". The Device image is like this +-- DeviceA --+ |+-----------+| ||Component || || [DAI] || [DAI] ... || [DAI] || [DAI] |+-----------+| +-------------+ It calls devm_snd_soc_register_component() here. Number of DAIs = rsnd_rdai_nr(priv) is based on the SoC (= DT settings), but these are same DAI. <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/sh/rcar/core.c?h=v5.18#n1923> The DAIs are setuped here. <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/sh/rcar/core.c?h=v5.18#n1350> Component driver is here <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/sh/rcar/core.c?h=v5.18#n1810> DAI ops is here <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/sh/rcar/core.c?h=v5.18#n1067> Please let me know if something was not understandable. Thank you for your help !! Best regards --- Kuninori Morimoto