diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-11-01 13:36:10 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-11 09:37:06 -0800 |
commit | 6601dc2a3a0518851fd47b8a7e34e624c3ddceef (patch) | |
tree | e0e15eade0b3a5e323088ca43c129270a5a0d9be | |
parent | f11d1a122ac23d7da2dedd0104851b58461e32b3 (diff) | |
download | kernel_samsung_crespo-6601dc2a3a0518851fd47b8a7e34e624c3ddceef.zip kernel_samsung_crespo-6601dc2a3a0518851fd47b8a7e34e624c3ddceef.tar.gz kernel_samsung_crespo-6601dc2a3a0518851fd47b8a7e34e624c3ddceef.tar.bz2 |
ASoC: Ensure WM8962 PLL registers are reset
commit 4f4488abc97c1c27ff029f887944e6a6da1f5733 upstream.
The WM8962 has a separate software reset for the PLL registers. Ensure that
these are reset also on startup.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | sound/soc/codecs/wm8962.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 6bc72a7..ebff8ad 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -1957,7 +1957,13 @@ static int wm8962_readable_register(struct snd_soc_codec *codec, unsigned int re static int wm8962_reset(struct snd_soc_codec *codec) { - return snd_soc_write(codec, WM8962_SOFTWARE_RESET, 0x6243); + int ret; + + ret = snd_soc_write(codec, WM8962_SOFTWARE_RESET, 0x6243); + if (ret != 0) + return ret; + + return snd_soc_write(codec, WM8962_PLL_SOFTWARE_RESET, 0); } static const DECLARE_TLV_DB_SCALE(inpga_tlv, -2325, 75, 0); |