ASoC: Ensure the WM8962 oscillator and PLLs start up disabled
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 1 Nov 2011 13:53:37 +0000 (13:53 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 1 Nov 2011 18:51:49 +0000 (18:51 +0000)
Since there is no current software control for these they would otherwise
be left enabled, consuming power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
sound/soc/codecs/wm8962.c

index 32d931f1122cc3b8225e8525b24e0765d242324c..a0c895b2d53b9f6b964df77912fbe49cfaf927ba 100644 (file)
@@ -4035,6 +4035,11 @@ static int wm8962_probe(struct snd_soc_codec *codec)
        snd_soc_update_bits(codec, WM8962_CLOCKING2,
                            WM8962_CLKREG_OVD, WM8962_CLKREG_OVD);
 
+       /* Ensure that the oscillator and PLLs are disabled */
+       snd_soc_update_bits(codec, WM8962_PLL2,
+                           WM8962_OSC_ENA | WM8962_PLL2_ENA | WM8962_PLL3_ENA,
+                           0);
+
        regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
 
        if (pdata) {