
On 03/04/2014 10:10 AM, Mark Brown wrote:
From: Mark Brown broonie@linaro.org
We now no longer have any users of hw_read() in the kernel so remove the code in order to prevent any new users being added. Users should be using regmap.
Signed-off-by: Mark Brown broonie@linaro.org
include/sound/soc.h | 1 - sound/soc/soc-io.c | 13 ------------- 2 files changed, 14 deletions(-)
diff --git a/include/sound/soc.h b/include/sound/soc.h index 56c4c71..dc36331 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -706,7 +706,6 @@ struct snd_soc_codec { /* codec IO */ void *control_data; /* codec control (i2c/3wire) data */ hw_write_t hw_write;
- unsigned int (*hw_read)(struct snd_soc_codec *, unsigned int);
This part is OK.
unsigned int (*read)(struct snd_soc_codec *, unsigned int); int (*write)(struct snd_soc_codec *, unsigned int, unsigned int); void *reg_cache; diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c index c3b6a0a..3c1de9c 100644 --- a/sound/soc/soc-io.c +++ b/sound/soc/soc-io.c @@ -26,18 +26,6 @@ static int hw_write(struct snd_soc_codec *codec, unsigned int reg, 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;
- ret = regmap_read(codec->control_data, reg, &val);
- if (ret == 0)
return val;
- else
return -1;
-}
- /**
- snd_soc_codec_set_cache_io: Set up standard I/O functions.
@@ -64,7 +52,6 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, int ret;
codec->write = hw_write;
- codec->read = hw_read;
But this part will break snd_soc_read() and with it basically every driver that has any controls or DAPM widgets.
I do have a set of patches that moves IO to the component level that will clean this all up quite a bit. I'm just waiting for Xiubo Li snd_soc_codec_set_cache_io() cleanup to be merged first, since it will make things a bit simpler.
switch (control) { case SND_SOC_REGMAP: