Re: [alsa-devel] [PATCH] ASoC: sgtl5000: fix bad register MIC_BIAS_VOLTAGE setup on probe

From: Fabio Estevam
Date: Fri Sep 25 2015 - 13:04:05 EST


On Fri, Sep 25, 2015 at 1:50 PM, Mark Brown <broonie@xxxxxxxxxx> wrote:
> On Fri, Sep 25, 2015 at 04:21:27PM +0200, Gianluca Renzi wrote:
>
>> snd_soc_update_bits(codec, SGTL5000_CHIP_MIC_CTRL,
>> SGTL5000_BIAS_R_MASK,
>> - sgtl5000->micbias_voltage << SGTL5000_BIAS_R_SHIFT);
>> + sgtl5000->micbias_voltage << SGTL5000_BIAS_VOLT_SHIFT);
>
> That doesn't look right... I would expect _BIAS_R_SHIFT to shift a
> value into the register masked off by _BIAS_R_MASK and therefore that
> the above is saying that the definition of one of those two macros is
> wrong. I would not expect something called _BIAS_VOLT_SHIFT here.

Yes, the correct fix should be:

--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -1376,8 +1376,8 @@ static int sgtl5000_probe(struct snd_soc_codec *codec)
sgtl5000->micbias_resistor << SGTL5000_BIAS_R_SHIFT);

snd_soc_update_bits(codec, SGTL5000_CHIP_MIC_CTRL,
- SGTL5000_BIAS_R_MASK,
- sgtl5000->micbias_voltage << SGTL5000_BIAS_R_SHIFT);
+ SGTL5000_BIAS_VOLT_MASK,
+ sgtl5000->micbias_voltage << SGTL5000_BIAS_VOLT_SHIFT);
/*
* disable DAP
* TODO:

Gianluca,

Care to send a v2 of the patch?

Regards,

Fabio Estevam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/