ASoC: tlv320aic3x: Change bias management semantics
authorJarkko Nikula <jhnikula@gmail.com>
Mon, 26 Apr 2010 12:49:13 +0000 (15:49 +0300)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Tue, 27 Apr 2010 10:08:06 +0000 (11:08 +0100)
Move PLL enable from BIAS_ON state to BIAS_PREPARE to be pair with
BIAS_STANDBY where PLL is disabled. Remove also old comments about power
control.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/codecs/tlv320aic3x.c

index 19602eca4924268dbaadcfe6a265c75973c448dc..6b74ad808a09aeac426d1e5b4dff172786d1e33b 100644 (file)
@@ -997,7 +997,8 @@ static int aic3x_set_bias_level(struct snd_soc_codec *codec,
 
        switch (level) {
        case SND_SOC_BIAS_ON:
-               /* all power is driven by DAPM system */
+               break;
+       case SND_SOC_BIAS_PREPARE:
                if (aic3x->master) {
                        /* enable pll */
                        reg = aic3x_read_reg_cache(codec, AIC3X_PLL_PROGA_REG);
@@ -1005,13 +1006,8 @@ static int aic3x_set_bias_level(struct snd_soc_codec *codec,
                                    reg | PLL_ENABLE);
                }
                break;
-       case SND_SOC_BIAS_PREPARE:
-               break;
        case SND_SOC_BIAS_STANDBY:
-               /*
-                * all power is driven by DAPM system,
-                * so output power is safe if bypass was set
-                */
+               /* fall through and disable pll */
        case SND_SOC_BIAS_OFF:
                if (aic3x->master) {
                        /* disable pll */