ASoC: wm8985 Don't directly reference the cache data structure
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 21 Jan 2012 15:39:34 +0000 (15:39 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 21 Jan 2012 21:15:41 +0000 (21:15 +0000)
In preparation for conversion to regmap.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm8985.c

index 297119ffec68b7dfaf7a1c20dec6a179842d86b4..bbe19b2ae5166d20cb9ad52e6059482673af644e 100644 (file)
@@ -946,7 +946,6 @@ static int wm8985_probe(struct snd_soc_codec *codec)
        size_t i;
        struct wm8985_priv *wm8985;
        int ret;
-       u16 *cache;
 
        wm8985 = snd_soc_codec_get_drvdata(codec);
 
@@ -979,13 +978,13 @@ static int wm8985_probe(struct snd_soc_codec *codec)
                goto err_reg_enable;
        }
 
-       cache = codec->reg_cache;
        /* latch volume update bits */
        for (i = 0; i < ARRAY_SIZE(volume_update_regs); ++i)
-               cache[volume_update_regs[i]] |= 0x100;
+               snd_soc_update_bits(codec, volume_update_regs[i],
+                                   0x100, 0x100);
        /* enable BIASCUT */
-       cache[WM8985_BIAS_CTRL] |= WM8985_BIASCUT;
-       codec->cache_sync = 1;
+       snd_soc_update_bits(codec, WM8985_BIAS_CTRL, WM8985_BIASCUT,
+                           WM8985_BIASCUT);
 
        wm8985_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
        return 0;