[alsa-devel] [linux-sunxi] Re: [PATCH v9 2/2] Add mixer controls: Line-In, FM-In, Mic 2, Capture Source, Differential Line-In.

Chen-Yu Tsai wens at csie.org
Wed Aug 31 09:43:39 CEST 2016


On Wed, Aug 31, 2016 at 3:40 PM, Danny Milosavljevic
<dannym at scratchpost.org> wrote:
>> And what about microphone bias?
>
> Would this be OK?
>
> static int sun4i_codec_handle_mic_bias_event(struct snd_soc_dapm_widget *w,
>                                              struct snd_kcontrol *k, int event)
> {
>         struct sun4i_codec *scodec = snd_soc_card_get_drvdata(w->dapm->card);
>         if (SND_SOC_DAPM_EVENT_ON(event))
>                 regmap_update_bits(scodec->regmap,
>                                    SUN4I_CODEC_ADC_ACTL,
>                                    BIT(SUN4I_CODEC_ADC_ACTL_VMICEN),
>                                    BIT(SUN4I_CODEC_ADC_ACTL_VMICEN));
>         else
>                 regmap_update_bits(scodec->regmap,
>                                    SUN4I_CODEC_ADC_ACTL,
>                                    BIT(SUN4I_CODEC_ADC_ACTL_VMICEN),
>                                    0);
> }
>
> static const struct snd_soc_dapm_widget sun4i_codec_codec_dapm_widgets[] = {
> ...
>         SND_SOC_DAPM_MIC("Mic1", sun4i_codec_handle_mic_bias_event),
>         SND_SOC_DAPM_MIC("Mic2", sun4i_codec_handle_mic_bias_event),
>
> Do I then remove
>
>          SND_SOC_DAPM_SUPPLY("VMIC", SUN4I_CODEC_ADC_ACTL,
>                             SUN4I_CODEC_ADC_ACTL_VMICEN, 0, NULL, 0),
>
> completely? What about the routes?

My apologies. I didn't notice that VMIC was already in the driver.
In that your original patch did everything right.

ChenYu


More information about the Alsa-devel mailing list