On Monday 20 December 2010 14:17:00 ext Jarkko Nikula wrote:
On Mon, 20 Dec 2010 13:22:49 +0200
Peter Ujfalusi peter.ujfalusi@nokia.com wrote:
For sure we need to have the card level DAPM map, when we have more than one codec in the system. What I was thinking is more like to move the DAPM map from codec domain up to card level. What I mean is, that when you build up your ASoC card, the DAPM map/routes are going to be attached to the card, and not to the codec.
Actually paths and widgets are already decoupled from codec and moved to card domain. Map/route is initialization time thing which still has dependency to codec. I.e. snd_soc_dapm_add_route favors a widget from a calling dapm context (codec).
I see.
This is due if there are machines with multiple codecs that are not cross-connected but if they have widgets with a same name and I didn't want to force them to use name prefixing and thus causing userspace-kernel space breakage (kcontrol names changed) compared to current implementation.
If you have multiple codecs in your device, it is likely that those codecs will have colliding widget names for sure. IMHO using prefixes for multi codec cards shall not break the userspace-kernel interface, since with old ASoC we had one codec per one card. So if you move your machine to real multi-comp, then you anyway break the userspace-kernel interface by moving the PCMs to one card from the original PCM per card way. If you have one codec in your system you do not need to prefix that, so you break nothing. I would use prefixes in real multi codec cases... Are we using the prefixes for the non DAPM kcontrols as well? I think we shall, if the prefix is defined.