summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/wm8961.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-01-02 16:14:45 +0300
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-01-05 00:50:58 +0300
commit10505634bfa74871118a21eef8617acad00e4019 (patch)
treefff3fc50ce21730f3ba679713892478d5c52ffae /sound/soc/codecs/wm8961.c
parente0fb28e079b50f891b6c9db1c2bb25fef3268cf4 (diff)
downloadlinux-10505634bfa74871118a21eef8617acad00e4019.tar.xz
ASoC: Only restore non-default registers for WM8961
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'sound/soc/codecs/wm8961.c')
-rw-r--r--sound/soc/codecs/wm8961.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8961.c b/sound/soc/codecs/wm8961.c
index a8007d58813f..d2342c5e0425 100644
--- a/sound/soc/codecs/wm8961.c
+++ b/sound/soc/codecs/wm8961.c
@@ -1022,6 +1022,9 @@ static int wm8961_resume(struct platform_device *pdev)
int i;
for (i = 0; i < codec->reg_cache_size; i++) {
+ if (reg_cache[i] == wm8961_reg_defaults[i])
+ continue;
+
if (i == WM8961_SOFTWARE_RESET)
continue;