ASoC: io: Remove support for ASoC cache in conjunction with regmap
authorMark Brown <broonie@linaro.org>
Thu, 20 Feb 2014 00:08:43 +0000 (09:08 +0900)
committerMark Brown <broonie@linaro.org>
Wed, 19 Mar 2014 13:10:01 +0000 (13:10 +0000)
Since all regmap CODECs should be (and are) using the more advance regmap
cache infrastructure remove the code which supports that and just proxy
I/O straight through to regmap.

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

index 8aa08699686676f86a5732a25e3af467c874378d..260efc8466fc352cf70d08663799c7fde0758a2e 100644 (file)
 static int hw_write(struct snd_soc_codec *codec, unsigned int reg,
                    unsigned int value)
 {
-       int ret;
-
-       if (!snd_soc_codec_volatile_register(codec, reg) &&
-           reg < codec->driver->reg_cache_size &&
-           !codec->cache_bypass) {
-               ret = snd_soc_cache_write(codec, reg, value);
-               if (ret < 0)
-                       return -1;
-       }
-
-       if (codec->cache_only) {
-               codec->cache_sync = 1;
-               return 0;
-       }
-
        return regmap_write(codec->control_data, reg, value);
 }
 
@@ -46,23 +31,11 @@ static unsigned int hw_read(struct snd_soc_codec *codec, unsigned int reg)
        int ret;
        unsigned int val;
 
-       if (reg >= codec->driver->reg_cache_size ||
-           snd_soc_codec_volatile_register(codec, reg) ||
-           codec->cache_bypass) {
-               if (codec->cache_only)
-                       return -1;
-
-               ret = regmap_read(codec->control_data, reg, &val);
-               if (ret == 0)
-                       return val;
-               else
-                       return -1;
-       }
-
-       ret = snd_soc_cache_read(codec, reg, &val);
-       if (ret < 0)
+       ret = regmap_read(codec->control_data, reg, &val);
+       if (ret == 0)
+               return val;
+       else
                return -1;
-       return val;
 }
 
 /**