ASoC: tlv320aic3x: Don't sync first two registers from register cache
authorJarkko Nikula <jhnikula@gmail.com>
Fri, 20 May 2011 13:52:37 +0000 (16:52 +0300)
committerLiam Girdwood <lrg@ti.com>
Mon, 23 May 2011 09:36:43 +0000 (10:36 +0100)
There is no need to sync first two registers from cache to hw after a reset.
First one is used to select page for register access and this driver is
normally accessing page 0 only. Second one does a software reset which is
obviously unneeded after hardware or previous software reset command.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
sound/soc/codecs/tlv320aic3x.c

index c3d96fc8c26734855de19a32bd1747531e914df6..9047bb173c6b9b1618d4f24dc3e0dd49acae4f02 100644 (file)
@@ -1114,7 +1114,7 @@ static int aic3x_set_power(struct snd_soc_codec *codec, int power)
 
                /* Sync reg_cache with the hardware */
                codec->cache_only = 0;
-               for (i = 0; i < ARRAY_SIZE(aic3x_reg); i++)
+               for (i = AIC3X_SAMPLE_RATE_SEL_REG; i < ARRAY_SIZE(aic3x_reg); i++)
                        snd_soc_write(codec, i, cache[i]);
                if (aic3x->model == AIC3X_MODEL_3007)
                        aic3x_init_3007(codec);