[alsa-devel] [PATCH] ASoC: wm8960: add two kcontrols to select ADC left/right channel source

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Mon Jun 15 19:51:22 CEST 2015


On Mon, Jun 15, 2015 at 01:17:24PM +0200, Lars-Peter Clausen wrote:
> On 06/15/2015 12:34 PM, Zidan Wang wrote:
>> Add two kcontrols to select ADC left/right channel source, one to select
>> the left channel source and one for the right channel source.
>>
>> Signed-off-by: Zidan Wang <zidan.wang at freescale.com>
>> ---
<snip>
>>   static const int deemph_settings[] = { 0, 32000, 44100, 48000 };
>> @@ -279,6 +283,9 @@ SOC_SINGLE_TLV("Right Output Mixer Boost Bypass Volume",
>>   	       WM8960_BYPASS2, 4, 7, 1, bypass_tlv),
>>   SOC_SINGLE_TLV("Right Output Mixer RINPUT3 Volume",
>>   	       WM8960_ROUTMIX, 4, 7, 1, bypass_tlv),
>> +
>> +SOC_ENUM("ADC Left Channel Source", wm8960_enum[6]),
>> +SOC_ENUM("ADC Right Channel Source", wm8960_enum[7]),
>
> Since this affects the routing these should be DAPM controls. Otherwise 
> you might run into issues with a path being powered down even if it is 
> used.

I think the naming of these controls needs work.

This presently doesn't actually affect DAPM. You are changing
whether the output of the left ADC will be treated as the left or
right channel on the AIF, but in both cases the AIF and Left ADC
will be powered up.

This might change if the driver was changed to the newer style
AIF hookup, although I haven't looked in detail to see if it
would make sense to use a single widget for the AIF or one for
each channel as per the Arizona devices.

Thanks,
Charles


More information about the Alsa-devel mailing list