ASoC: tlv320aic3x: Don't reference cache datastructure directly
authorMark Brown <broonie@linaro.org>
Mon, 23 Sep 2013 18:55:39 +0000 (19:55 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 24 Sep 2013 18:32:58 +0000 (19:32 +0100)
Rather than referencing the cache directly read back the values we are
going to restore, supporting refactoring to use regmap.

Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/tlv320aic3x.c

index 16fc74cae7540bbaec1780860e740a4e29369f2f..83e7d855c49a880191a855914d3196675fd4db42 100644 (file)
@@ -1068,14 +1068,14 @@ static int aic3x_set_dai_fmt(struct snd_soc_dai *codec_dai,
 
 static int aic3x_init_3007(struct snd_soc_codec *codec)
 {
-       u8 tmp1, tmp2, *cache = codec->reg_cache;
+       unsigned int tmp1, tmp2;
 
        /*
         * There is no need to cache writes to undocumented page 0xD but
         * respective page 0 register cache entries must be preserved
         */
-       tmp1 = cache[0xD];
-       tmp2 = cache[0x8];
+       tmp1 = snd_soc_read(codec, 0xD);
+       tmp2 = snd_soc_read(codec, 0x8);
        /* Class-D speaker driver init; datasheet p. 46 */
        snd_soc_write(codec, AIC3X_PAGE_SELECT, 0x0D);
        snd_soc_write(codec, 0xD, 0x0D);
@@ -1083,8 +1083,9 @@ static int aic3x_init_3007(struct snd_soc_codec *codec)
        snd_soc_write(codec, 0x8, 0x5D);
        snd_soc_write(codec, 0x8, 0x5C);
        snd_soc_write(codec, AIC3X_PAGE_SELECT, 0x00);
-       cache[0xD] = tmp1;
-       cache[0x8] = tmp2;
+
+       snd_soc_write(codec, 0xD, tmp1);
+       snd_soc_write(codec, 0x8, tmp2);
 
        return 0;
 }
This page took 0.02643 seconds and 5 git commands to generate.