[linux-sunxi] Re: [PATCH v2 03/12] ASoC: sun8i-codec-analog: split out mbias

Chen-Yu Tsai wens at csie.org
Sun Mar 5 19:46:22 PST 2017


On Sun, Mar 5, 2017 at 9:49 PM, Icenowy Zheng <icenowy at aosc.xyz> wrote:
>
>
> 05.03.2017, 21:38, "Icenowy Zheng" <icenowy at aosc.xyz>:
>> Allwinner V3s features an analog codec without MBIAS pin.
>>
>> Split out this part, in order to prepare for the V3s analog codec.
>>
>> Signed-off-by: Icenowy Zheng <icenowy at aosc.xyz>
>> ---
>>  sound/soc/sunxi/sun8i-codec-analog.c | 34 +++++++++++++++++++++++++++++-----
>>  1 file changed, 29 insertions(+), 5 deletions(-)
>>
>
> Sorry a definiation of has_mbias is mising in the patch...
>
> It's
>
> diff --git a/sound/soc/sunxi/sun8i-codec-analog.c b/sound/soc/sunxi/sun8i-codec-analog.c
> index af56afe5c403..edcc3eb7cd9a 100644
> --- a/sound/soc/sunxi/sun8i-codec-analog.c
> +++ b/sound/soc/sunxi/sun8i-codec-analog.c
> @@ -695,6 +695,7 @@ struct sun8i_codec_analog_quirks {
>         bool has_hmic;
>         bool has_linein;
>         bool has_lineout;
> +       bool has_mbias;
>         bool has_mic2;
>  };

Please incorporate this into the patch in the next version, with

Acked-by: Chen-Yu Tsai <wens at csie.org>

>
>
>> diff --git a/sound/soc/sunxi/sun8i-codec-analog.c b/sound/soc/sunxi/sun8i-codec-analog.c
>> index 6c17c99c2c8d..af56afe5c403 100644
>> --- a/sound/soc/sunxi/sun8i-codec-analog.c
>> +++ b/sound/soc/sunxi/sun8i-codec-analog.c
>> @@ -289,11 +289,6 @@ static const struct snd_soc_dapm_widget sun8i_codec_common_widgets[] = {
>>          /* Microphone input */
>>          SND_SOC_DAPM_INPUT("MIC1"),
>>
>> - /* Microphone Bias */
>> - SND_SOC_DAPM_SUPPLY("MBIAS", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
>> - SUN8I_ADDA_MIC1G_MICBIAS_CTRL_MMICBIASEN,
>> - 0, NULL, 0),
>> -
>>          /* Mic input path */
>>          SND_SOC_DAPM_PGA("Mic1 Amplifier", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
>>                           SUN8I_ADDA_MIC1G_MICBIAS_CTRL_MIC1AMPEN, 0, NULL, 0),
>> @@ -453,6 +448,27 @@ static int sun8i_codec_add_headphone(struct snd_soc_component *cmpnt)
>>          return 0;
>>  }
>>
>> +/* mbias specific widget */
>> +static const struct snd_soc_dapm_widget sun8i_codec_mbias_widgets[] = {
>> + SND_SOC_DAPM_SUPPLY("MBIAS", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
>> + SUN8I_ADDA_MIC1G_MICBIAS_CTRL_MMICBIASEN,
>> + 0, NULL, 0),
>> +};
>> +
>> +static int sun8i_codec_add_mbias(struct snd_soc_component *cmpnt)
>> +{
>> + struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(cmpnt);
>> + struct device *dev = cmpnt->dev;
>> + int ret;
>> +
>> + ret = snd_soc_dapm_new_controls(dapm, sun8i_codec_mbias_widgets,
>> + ARRAY_SIZE(sun8i_codec_mbias_widgets));
>> + if (ret)
>> + dev_err(dev, "Failed to add MBIAS DAPM widgets: %d\n", ret);
>> +
>> + return ret;
>> +}
>> +
>>  /* hmic specific widget */
>>  static const struct snd_soc_dapm_widget sun8i_codec_hmic_widgets[] = {
>>          SND_SOC_DAPM_SUPPLY("HBIAS", SUN8I_ADDA_MIC1G_MICBIAS_CTRL,
>> @@ -686,12 +702,14 @@ static const struct sun8i_codec_analog_quirks sun8i_a23_quirks = {
>>          .has_headphone = true,
>>          .has_hmic = true,
>>          .has_linein = true,
>> + .has_mbias = true,
>>          .has_mic2 = true,
>>  };
>>
>>  static const struct sun8i_codec_analog_quirks sun8i_h3_quirks = {
>>          .has_linein = true,
>>          .has_lineout = true,
>> + .has_mbias = true,
>>          .has_mic2 = true,
>>  };
>>
>> @@ -734,6 +752,12 @@ static int sun8i_codec_analog_cmpnt_probe(struct snd_soc_component *cmpnt)
>>                          return ret;
>>          }
>>
>> + if (quirks->has_mbias) {
>> + ret = sun8i_codec_add_mbias(cmpnt);
>> + if (ret)
>> + return ret;
>> + }
>> +
>>          if (quirks->has_mic2) {
>>                  ret = sun8i_codec_add_mic2(cmpnt);
>>                  if (ret)
>> --
>> 2.11.1
>
> --
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



More information about the linux-arm-kernel mailing list