From 8e1879a4776f7e59d4bd6159958aaab8330f2767 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Fri, 2 Dec 2011 18:23:37 +0000 Subject: [PATCH] --- yaml --- r: 283852 b: refs/heads/master c: 45e967553f3466f773ecd418c09fe92b753f18b0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/soc/codecs/wm8903.c | 18 +++--------------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index 644b9a88dc10..ab32d9ec3f92 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 88a1b12b9c70d1b2ea4d11bdfa6ae65c9570909b +refs/heads/master: 45e967553f3466f773ecd418c09fe92b753f18b0 diff --git a/trunk/sound/soc/codecs/wm8903.c b/trunk/sound/soc/codecs/wm8903.c index 745681258eda..fdc3ff053f98 100644 --- a/trunk/sound/soc/codecs/wm8903.c +++ b/trunk/sound/soc/codecs/wm8903.c @@ -1767,23 +1767,11 @@ static int wm8903_suspend(struct snd_soc_codec *codec) static int wm8903_resume(struct snd_soc_codec *codec) { - int i; - u16 *reg_cache = codec->reg_cache; - u16 *tmp_cache = kmemdup(reg_cache, sizeof(wm8903_reg_defaults), - GFP_KERNEL); + struct wm8903_priv *wm8903 = snd_soc_codec_get_drvdata(codec); - /* Bring the codec back up to standby first to minimise pop/clicks */ - wm8903_set_bias_level(codec, SND_SOC_BIAS_STANDBY); + snd_soc_cache_sync(codec); - /* Sync back everything else */ - if (tmp_cache) { - for (i = 2; i < ARRAY_SIZE(wm8903_reg_defaults); i++) - if (tmp_cache[i] != reg_cache[i]) - snd_soc_write(codec, i, tmp_cache[i]); - kfree(tmp_cache); - } else { - dev_err(codec->dev, "Failed to allocate temporary cache\n"); - } + wm8903_set_bias_level(codec, SND_SOC_BIAS_STANDBY); return 0; }