On Tue, 21 Dec 2010 09:30:46 +0200 Peter Ujfalusi peter.ujfalusi@nokia.com wrote:
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...
It's not entirely sure. Before cross-device set, i.e. in 2.6.37 it's possible to build a machine driver with multiple codecs that can have the same widgets names since the paths and widgets are per codec. Collision could come only from kcontrol names.
But I agree. Prefixing new machines sounds safer in long run. Then it's more unlikely that changes in one codec driver causes hard to see problems to machines with multiple codecs.
Are we using the prefixes for the non DAPM kcontrols as well? I think we shall, if the prefix is defined.
Yep, prefix is put to all codec kcontrols, widget and route names.