[alsa-devel] [PATCH] ASoC: Add optional pointer to machine audio routes to snd_soc_card

Jarkko Nikula jhnikula at gmail.com
Tue Dec 21 09:16:59 CET 2010

On Tue, 21 Dec 2010 09:30:46 +0200
Peter Ujfalusi <peter.ujfalusi at 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.


More information about the Alsa-devel mailing list