diff options
author | Jarkko Nikula <jarkko.nikula@linux.intel.com> | 2014-05-16 09:55:24 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-05-16 14:59:26 -0400 |
commit | a735d992c2e71e230b798518b7fe954fdbc2dc8c (patch) | |
tree | cf2d6295dde1b81ed99f4f005be0aff617e565e8 | |
parent | 541423dde415e9cecdb0bf17657b3bd7e1666dd2 (diff) |
ASoC: max98090: Move microphone bias voltage setting to probe function
Microphone bias level configuration register can configure voltage between
2.2 V and 2.8 V but doesn't manage is voltage on or off. Microphone bias
on/off state is controlled by "MICBIAS" DAPM widget.
Therefore there is no need to update bias voltage conditionally depending on
jack state each time when codec goes to SND_SOC_BIAS_ON state and setting
can be moved to max98090_probe() as driver currently doesn't support other
levels than 2.8 V.
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | sound/soc/codecs/max98090.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c index d36cd154db55..c88bf821b86f 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c | |||
@@ -1795,13 +1795,6 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec, | |||
1795 | 1795 | ||
1796 | switch (level) { | 1796 | switch (level) { |
1797 | case SND_SOC_BIAS_ON: | 1797 | case SND_SOC_BIAS_ON: |
1798 | if (max98090->jack_state == M98090_JACK_STATE_HEADSET) { | ||
1799 | /* | ||
1800 | * Set to normal bias level. | ||
1801 | */ | ||
1802 | snd_soc_update_bits(codec, M98090_REG_MIC_BIAS_VOLTAGE, | ||
1803 | M98090_MBVSEL_MASK, M98090_MBVSEL_2V8); | ||
1804 | } | ||
1805 | break; | 1798 | break; |
1806 | 1799 | ||
1807 | case SND_SOC_BIAS_PREPARE: | 1800 | case SND_SOC_BIAS_PREPARE: |
@@ -2296,6 +2289,9 @@ static int max98090_probe(struct snd_soc_codec *codec) | |||
2296 | snd_soc_write(codec, M98090_REG_BIAS_CONTROL, | 2289 | snd_soc_write(codec, M98090_REG_BIAS_CONTROL, |
2297 | M98090_VCM_MODE_MASK); | 2290 | M98090_VCM_MODE_MASK); |
2298 | 2291 | ||
2292 | snd_soc_update_bits(codec, M98090_REG_MIC_BIAS_VOLTAGE, | ||
2293 | M98090_MBVSEL_MASK, M98090_MBVSEL_2V8); | ||
2294 | |||
2299 | max98090_handle_pdata(codec); | 2295 | max98090_handle_pdata(codec); |
2300 | 2296 | ||
2301 | max98090_add_widgets(codec); | 2297 | max98090_add_widgets(codec); |