[alsa-devel] [PATCH 05/13] ASoC: Drop ASoC level caching from hw_write/hw_read
Lars-Peter Clausen
lars at metafoo.de
Tue Mar 18 09:02:08 CET 2014
All drivers using these functions now do regmap level caching. So this is dead
code and can be removed.
Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
---
sound/soc/soc-io.c | 34 +++-------------------------------
1 file changed, 3 insertions(+), 31 deletions(-)
diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c
index de1e496..a66bc17 100644
--- a/sound/soc/soc-io.c
+++ b/sound/soc/soc-io.c
@@ -167,44 +167,16 @@ EXPORT_SYMBOL_GPL(snd_soc_platform_write);
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);
}
static unsigned int hw_read(struct snd_soc_codec *codec, unsigned int reg)
{
- int ret;
unsigned int val;
+ int ret;
- 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 -1;
return val;
}
--
1.8.0
More information about the Alsa-devel
mailing list