|
@@ -1769,16 +1769,6 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec,
|
|
|
|
|
|
switch (level) {
|
|
|
case SND_SOC_BIAS_ON:
|
|
|
- if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
|
|
|
- ret = regcache_sync(max98090->regmap);
|
|
|
-
|
|
|
- if (ret != 0) {
|
|
|
- dev_err(codec->dev,
|
|
|
- "Failed to sync cache: %d\n", ret);
|
|
|
- return ret;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
if (max98090->jack_state == M98090_JACK_STATE_HEADSET) {
|
|
|
/*
|
|
|
* Set to normal bias level.
|
|
@@ -1792,6 +1782,16 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec,
|
|
|
break;
|
|
|
|
|
|
case SND_SOC_BIAS_STANDBY:
|
|
|
+ if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
|
|
|
+ ret = regcache_sync(max98090->regmap);
|
|
|
+ if (ret != 0) {
|
|
|
+ dev_err(codec->dev,
|
|
|
+ "Failed to sync cache: %d\n", ret);
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
case SND_SOC_BIAS_OFF:
|
|
|
/* Set internal pull-up to lowest power mode */
|
|
|
snd_soc_update_bits(codec, M98090_REG_JACK_DETECT,
|