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

Peter Ujfalusi peter.ujfalusi at nokia.com
Tue Dec 21 08:30:46 CET 2010

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 at 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.


More information about the Alsa-devel mailing list