summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-11-01 13:53:37 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-11-01 18:51:49 +0000
commit2af8de8c39cf58e5a5e40a9d5d71332da98e6ba7 (patch)
tree456be1b86b3928da68a7bdfd1641ffb4046ae7bd /sound
parent4f4488abc97c1c27ff029f887944e6a6da1f5733 (diff)
downloadlinux-2af8de8c39cf58e5a5e40a9d5d71332da98e6ba7.tar.gz
linux-2af8de8c39cf58e5a5e40a9d5d71332da98e6ba7.tar.bz2
linux-2af8de8c39cf58e5a5e40a9d5d71332da98e6ba7.zip
ASoC: Ensure the WM8962 oscillator and PLLs start up disabled
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
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8962.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 32d931f1122c..a0c895b2d53b 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -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) {