[alsa-devel] [PATCH 3/4] ASoC: firmware core: Add core support for dynamic kcontrols and widgets.

Liam Girdwood lrg at ti.com
Tue Nov 20 13:19:28 CET 2012


On 20/11/12 02:36, Mark Brown wrote:
> On Mon, Nov 19, 2012 at 06:12:44PM +0000, Liam Girdwood wrote:
>
>> @@ -584,6 +584,8 @@ struct snd_soc_dapm_widget {
>>   	int num_kcontrols;
>>   	const struct snd_kcontrol_new *kcontrol_news;
>>   	struct snd_kcontrol **kcontrols;
>> +	int denum;
>> +	int dmixer;
>
> In the patch adding the actual functional code it looks like these are
> just treated as booleans saying if the control is dynamic.  This in
> conjunction with the fact that we've got a single list of dynamic
> controls means that we can only have one block of dynamic controls on
> this device.  Is that correct?  If not then I've got the wrong end of
> the stick otherwise...
>

That's correct atm.

> It occurs to me that if we just assign these to numbers per thing with
> firmware then we can easily use this data structure to support multiple
> firmwares per device.  We just go through the list and delete all mixers
> numbered 1 or something.  If we do that I think we can simplify the code
> a little and just make all the mixers and controls "dynamic", using ID 0
> for the non-changable ones.
>

Good idea. I'll make this change.

Liam


More information about the Alsa-devel mailing list