[2/2] ASoC: io: Remove reduntant params of snd_soc_codec_set_cache_io()
diff mbox

Message ID 1393564009-15968-3-git-send-email-Li.Xiubo@freescale.com
State New, archived
Delegated to: Mark Brown
Headers show

Commit Message

Xiubo Li Feb. 28, 2014, 5:06 a.m. UTC
Now that all users have been converted to regmap and the config.reg_bits
and config.val_bits can be setted by each user through regmap core API.
So these two params are redundant here.

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
---
 include/sound/soc.h       | 1 -
 sound/soc/codecs/wm5110.c | 2 +-
 sound/soc/codecs/wm8997.c | 2 +-
 sound/soc/soc-core.c      | 2 +-
 sound/soc/soc-io.c        | 4 ----
 5 files changed, 3 insertions(+), 8 deletions(-)

Comments

Lars-Peter Clausen Feb. 28, 2014, 8:26 a.m. UTC | #1
On 02/28/2014 06:06 AM, Xiubo Li wrote:
[...]
> @@ -118,7 +115,6 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
>   EXPORT_SYMBOL_GPL(snd_soc_codec_set_cache_io);
>   #else
>   int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
> -			       int addr_bits, int data_bits,
>   			       enum snd_soc_control_type control)

Since the only control type that is left is SND_SOC_REGMAP that can be 
removed as well. And while you are at it I think we should make it possible 
to specify the regmap struct as a parameter to snd_soc_codec_set_cache_io(). 
So basically the new signature of the function should be:

snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, struct regmap *regmap)

if regmap is NULL the function should use dev_get_regmap(), otherwise use 
the supplied regmap struct. This turns the two step initialization in the 
form of

	codec->control_data = priv->regmap;
	snd_soc_codec_set_cache_io(codec, ...);

into
	snd_soc_codec_set_cache_io(codec, priv->regmap);

which is much nicer in my opinion.

- Lars
Xiubo Li Feb. 28, 2014, 8:50 a.m. UTC | #2
> [...]
> > @@ -118,7 +115,6 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec
> *codec,
> >   EXPORT_SYMBOL_GPL(snd_soc_codec_set_cache_io);
> >   #else
> >   int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
> > -			       int addr_bits, int data_bits,
> >   			       enum snd_soc_control_type control)
> 
> Since the only control type that is left is SND_SOC_REGMAP that can be
> removed as well. And while you are at it I think we should make it possible

Yes, agree.

> to specify the regmap struct as a parameter to snd_soc_codec_set_cache_io().
> So basically the new signature of the function should be:
> 
> snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, struct regmap *regmap)
>
> if regmap is NULL the function should use dev_get_regmap(), otherwise use
> the supplied regmap struct. This turns the two step initialization in the
> form of
> 
> 	codec->control_data = priv->regmap;
> 	snd_soc_codec_set_cache_io(codec, ...);
> 
> into
> 	snd_soc_codec_set_cache_io(codec, priv->regmap);
> 
> which is much nicer in my opinion.
> 
> - Lars
> 

That's a good idea, I'll try to implement it.

Thanks,

--
Best Regards,
Xiubo

Patch
diff mbox

diff --git a/include/sound/soc.h b/include/sound/soc.h
index ecfb334..0a1d732 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -404,7 +404,6 @@  int snd_soc_codec_readable_register(struct snd_soc_codec *codec,
 int snd_soc_codec_writable_register(struct snd_soc_codec *codec,
 				    unsigned int reg);
 int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
-			       int addr_bits, int data_bits,
 			       enum snd_soc_control_type control);
 int snd_soc_cache_sync(struct snd_soc_codec *codec);
 int snd_soc_cache_init(struct snd_soc_codec *codec);
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c
index 4de2bf1..9cb4257 100644
--- a/sound/soc/codecs/wm5110.c
+++ b/sound/soc/codecs/wm5110.c
@@ -1590,7 +1590,7 @@  static int wm5110_codec_probe(struct snd_soc_codec *codec)
 	codec->control_data = priv->core.arizona->regmap;
 	priv->core.arizona->dapm = &codec->dapm;
 
-	ret = snd_soc_codec_set_cache_io(codec, 32, 16, SND_SOC_REGMAP);
+	ret = snd_soc_codec_set_cache_io(codec, SND_SOC_REGMAP);
 	if (ret != 0)
 		return ret;
 
diff --git a/sound/soc/codecs/wm8997.c b/sound/soc/codecs/wm8997.c
index 4e6442c..4a36d1a 100644
--- a/sound/soc/codecs/wm8997.c
+++ b/sound/soc/codecs/wm8997.c
@@ -1055,7 +1055,7 @@  static int wm8997_codec_probe(struct snd_soc_codec *codec)
 
 	codec->control_data = priv->core.arizona->regmap;
 
-	ret = snd_soc_codec_set_cache_io(codec, 32, 16, SND_SOC_REGMAP);
+	ret = snd_soc_codec_set_cache_io(codec, SND_SOC_REGMAP);
 	if (ret != 0)
 		return ret;
 
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index c159a34..e7aa681 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1139,7 +1139,7 @@  static int soc_probe_codec(struct snd_soc_card *card,
 
 	/* Set the default I/O up try regmap */
 	if (dev_get_regmap(codec->dev, NULL))
-		snd_soc_codec_set_cache_io(codec, 0, 0, SND_SOC_REGMAP);
+		snd_soc_codec_set_cache_io(codec, SND_SOC_REGMAP);
 
 	if (driver->probe) {
 		ret = driver->probe(codec);
diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c
index 18353f1..4b4f3d9 100644
--- a/sound/soc/soc-io.c
+++ b/sound/soc/soc-io.c
@@ -69,8 +69,6 @@  static unsigned int hw_read(struct snd_soc_codec *codec, unsigned int reg)
  * snd_soc_codec_set_cache_io: Set up standard I/O functions.
  *
  * @codec: CODEC to configure.
- * @addr_bits: Number of bits of register address data.
- * @data_bits: Number of bits of data per register.
  * @control: Control bus used.
  *
  * Register formats are frequently shared between many I2C and SPI
@@ -85,7 +83,6 @@  static unsigned int hw_read(struct snd_soc_codec *codec, unsigned int reg)
  * volatile registers.
  */
 int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
-			       int addr_bits, int data_bits,
 			       enum snd_soc_control_type control)
 {
 	int ret;
@@ -118,7 +115,6 @@  int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
 EXPORT_SYMBOL_GPL(snd_soc_codec_set_cache_io);
 #else
 int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
-			       int addr_bits, int data_bits,
 			       enum snd_soc_control_type control)
 {
 	return -ENOTSUPP;