ASoC: Use BIAS_OFF when idle for wm_hubs devices
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 21 Jan 2010 11:33:20 +0000 (11:33 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 21 Jan 2010 12:05:39 +0000 (12:05 +0000)
This provides a small power saving when audio is inactive.

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

index d73c305..a67319d 100644 (file)
@@ -753,6 +753,12 @@ int wm_hubs_handle_analogue_pdata(struct snd_soc_codec *codec,
                                    WM8993_LINEOUT2_MODE,
                                    WM8993_LINEOUT2_MODE);
 
+       /* If the line outputs are differential then we aren't presenting
+        * VMID as an output and can disable it.
+        */
+       if (lineout1_diff && lineout2_diff)
+               codec->idle_bias_off = 1;
+
        if (lineout1fb)
                snd_soc_update_bits(codec, WM8993_ADDITIONAL_CONTROL,
                                    WM8993_LINEOUT1_FB, WM8993_LINEOUT1_FB);