ASoC: codecs: msm8916-wcd-analog: fix micbias level
authorJean-François Têtu <jean-francois.tetu@savoirfairelinux.com>
Fri, 29 Sep 2017 20:19:44 +0000 (16:19 -0400)
committerMark Brown <broonie@kernel.org>
Wed, 4 Oct 2017 10:42:55 +0000 (11:42 +0100)
commit664611e7e02f76fbc5470ef545b2657ed25c292b
tree38f6beb0ada3525ffd8809e82f8fc3f162d3e336
parentf53ee247ad546183fc13739adafc5579b9f0ebc0
ASoC: codecs: msm8916-wcd-analog: fix micbias level

The macro used to set the microphone bias level causes the
snd_soc_write() call to overwrite other fields in the CDC_A_MICB_1_VAL
register. The macro also does not return the proper level value
to use. This fixes this by preserving all bits from the register
that are not the level while setting the level.

Signed-off-by: Jean-François Têtu <jean-francois.tetu@savoirfairelinux.com>
Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/msm8916-wcd-analog.c