Re: [PATCHv2 2/3] ASoC: Move widgets from DAPM context to snd_soc_card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 12 Nov 2010 13:18:41 +0000
Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, Nov 12, 2010 at 11:23:25AM +0200, Jarkko Nikula wrote:
> 
> > Cross-device paths are registered by listing the widgets from device A in
> > a map for device B. An example below shows a path that connects MONO out of
> > A into Line In of B:
> 
> > static const struct snd_soc_dapm_route mapA[] = {
> > 	{"MONO", NULL, "DAC"},
> > };
> 
> > static const struct snd_soc_dapm_route mapB[] = {
> > 	{"Line In", NULL, "MONO"},
> > };
> 
> This is going to fall over if we have widgets in two devices with the
> same name (and especially if we have two devices of the same kind in the
> system).  Adding source device names to the paths would probably cover
> it with the same format but it should be considered and noted here.
> 
That's the reason why the code favors a widget from current DAPM
context in snd_soc_dapm_add_route so that no current machine would
(hopefully) break because of this patch.

Of course any new code implementing cross-device paths between codecs
with conflicting widget names would need the name prefixing stuff also.

> >  struct snd_soc_dapm_context {
> > -	struct list_head widgets;
> > +	int n_widgets; /* number of widgets in this context */
> 
> I'm not sure why we need to count the number of widgets here; 
> 
True, this should go the next patch actually.

> > index 835087d..77be6b3 100644
> > --- a/include/sound/soc.h
> > +++ b/include/sound/soc.h
> > @@ -618,6 +618,7 @@ struct snd_soc_card {
> >  	struct list_head platform_dev_list;
> >  	struct list_head dai_dev_list;
> >  
> > +	struct list_head widgets;
> >  	struct list_head paths;
> >  
> 
> If we keep moving stuff into the card it's questionable what the context
> is buying us...

DAPM context represent the parent device (codecs currently and other
devices in someday) and its state so I don't see we'll be removing it in
near future even now the widgets and paths are moved to card.


-- 
Jarkko
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux