ASoC: Use standard cache sync for WM8904
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 29 Dec 2011 21:07:04 +0000 (21:07 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 20 Jan 2012 13:58:24 +0000 (13:58 +0000)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm8904.c

index 98d4f815b4a1f0390a5fb6444b3c8f45e302b274..673a2fe585bc9538c8d030ef0c1622fb76caf7e7 100644 (file)
@@ -2088,32 +2088,6 @@ static int wm8904_digital_mute(struct snd_soc_dai *codec_dai, int mute)
        return 0;
 }
 
-static void wm8904_sync_cache(struct snd_soc_codec *codec)
-{
-       u16 *reg_cache = codec->reg_cache;
-       int i;
-
-       if (!codec->cache_sync)
-               return;
-
-       codec->cache_only = 0;
-
-       /* Sync back cached values if they're different from the
-        * hardware default.
-        */
-       for (i = 1; i < codec->driver->reg_cache_size; i++) {
-               if (!wm8904_access[i].writable)
-                       continue;
-
-               if (reg_cache[i] == wm8904_reg[i])
-                       continue;
-
-               snd_soc_write(codec, i, reg_cache[i]);
-       }
-
-       codec->cache_sync = 0;
-}
-
 static int wm8904_set_bias_level(struct snd_soc_codec *codec,
                                 enum snd_soc_bias_level level)
 {
@@ -2146,7 +2120,7 @@ static int wm8904_set_bias_level(struct snd_soc_codec *codec,
                                return ret;
                        }
 
-                       wm8904_sync_cache(codec);
+                       snd_soc_cache_sync(codec);
 
                        /* Enable bias */
                        snd_soc_update_bits(codec, WM8904_BIAS_CONTROL_0,