ASoC: tlv320aix31xx: Cleanup manual bias level transitions
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 26 Nov 2014 19:57:55 +0000 (20:57 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 27 Nov 2014 11:16:07 +0000 (11:16 +0000)
Set the CODEC driver's suspend_bias_off flag rather than manually going to
SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes
the code a bit shorter and cleaner.

Since the ASoC core now takes care of setting the bias level to
SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually
anymore either.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320aic31xx.c

index 145fe5b..6cd5f50 100644 (file)
@@ -1056,18 +1056,6 @@ static int aic31xx_set_bias_level(struct snd_soc_codec *codec,
        return 0;
 }
 
-static int aic31xx_suspend(struct snd_soc_codec *codec)
-{
-       aic31xx_set_bias_level(codec, SND_SOC_BIAS_OFF);
-       return 0;
-}
-
-static int aic31xx_resume(struct snd_soc_codec *codec)
-{
-       aic31xx_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
-       return 0;
-}
-
 static int aic31xx_codec_probe(struct snd_soc_codec *codec)
 {
        int ret = 0;
@@ -1110,8 +1098,6 @@ static int aic31xx_codec_remove(struct snd_soc_codec *codec)
 {
        struct aic31xx_priv *aic31xx = snd_soc_codec_get_drvdata(codec);
        int i;
-       /* power down chip */
-       aic31xx_set_bias_level(codec, SND_SOC_BIAS_OFF);
 
        for (i = 0; i < ARRAY_SIZE(aic31xx->supplies); i++)
                regulator_unregister_notifier(aic31xx->supplies[i].consumer,
@@ -1123,9 +1109,9 @@ static int aic31xx_codec_remove(struct snd_soc_codec *codec)
 static struct snd_soc_codec_driver soc_codec_driver_aic31xx = {
        .probe                  = aic31xx_codec_probe,
        .remove                 = aic31xx_codec_remove,
-       .suspend                = aic31xx_suspend,
-       .resume                 = aic31xx_resume,
        .set_bias_level         = aic31xx_set_bias_level,
+       .suspend_bias_off       = true,
+
        .controls               = aic31xx_snd_controls,
        .num_controls           = ARRAY_SIZE(aic31xx_snd_controls),
        .dapm_widgets           = aic31xx_dapm_widgets,