Re: [PATCH] ASoC: io: Clean up snd_soc_codec_set_cache_io()
On Thu, Feb 27, 2014 at 09:37:45AM +0800, Xiubo Li wrote: > I'm also thinking could we just discard snd_soc_codec_set_cache_io() > calling from each individual driver to simply the code? And just bind > it to devm_regmap_init_i2c() and devm_regmap_init_spi()... > Is there any other limitations for snd_soc_codec_set_cache_io() usage? That's the goal overall, I'm not sure it's worth going through and changing the signature of the function and then later going through and merging it, it's just too much churn. The main thing we need to do in order to do that is to make sure nothing is relying on specific sequencing during startup, probably by providing a way to manually set the regmap pointer in the main device probe function rather than in the ASoC one. signature.asc Description: Digital signature
[PATCH] ASoC: io: Clean up snd_soc_codec_set_cache_io()
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 --- @Mark and All I'm also thinking could we just discard snd_soc_codec_set_cache_io() calling from each individual driver to simply the code? And just bind it to devm_regmap_init_i2c() and devm_regmap_init_spi()... Is there any other limitations for snd_soc_codec_set_cache_io() usage? include/sound/soc.h | 1 - sound/soc/codecs/ad193x.c| 2 +- sound/soc/codecs/adau1373.c | 2 +- sound/soc/codecs/adav80x.c | 2 +- sound/soc/codecs/ak4535.c| 2 +- sound/soc/codecs/ak4641.c| 2 +- sound/soc/codecs/ak4642.c| 2 +- sound/soc/codecs/ak4671.c| 2 +- sound/soc/codecs/alc5623.c | 2 +- sound/soc/codecs/alc5632.c | 2 +- sound/soc/codecs/cq93vc.c| 2 +- sound/soc/codecs/cs4270.c| 2 +- sound/soc/codecs/cs42l51.c | 2 +- sound/soc/codecs/cs42l52.c | 2 +- sound/soc/codecs/cs42l73.c | 2 +- sound/soc/codecs/da7210.c| 2 +- sound/soc/codecs/da7213.c| 2 +- sound/soc/codecs/da732x.c| 2 +- sound/soc/codecs/da9055.c| 2 +- sound/soc/codecs/isabelle.c | 2 +- sound/soc/codecs/lm49453.c | 2 +- sound/soc/codecs/max9768.c | 2 +- sound/soc/codecs/max98088.c | 2 +- sound/soc/codecs/max98090.c | 2 +- sound/soc/codecs/max98095.c | 2 +- sound/soc/codecs/max9850.c | 2 +- sound/soc/codecs/mc13783.c | 2 +- sound/soc/codecs/ml26124.c | 2 +- sound/soc/codecs/rt5631.c| 2 +- sound/soc/codecs/rt5640.c| 2 +- sound/soc/codecs/sgtl5000.c | 2 +- sound/soc/codecs/sn95031.c | 2 +- sound/soc/codecs/ssm2518.c | 2 +- sound/soc/codecs/ssm2602.c | 2 +- sound/soc/codecs/sta32x.c| 2 +- sound/soc/codecs/sta529.c| 2 +- sound/soc/codecs/tlv320aic23.c | 2 +- sound/soc/codecs/tlv320aic26.c | 2 +- sound/soc/codecs/tlv320aic32x4.c | 2 +- sound/soc/codecs/tlv320aic3x.c | 2 +- sound/soc/codecs/wm2000.c| 2 +- sound/soc/codecs/wm2200.c| 2 +- sound/soc/codecs/wm5100.c| 2 +- sound/soc/codecs/wm5102.c| 2 +- sound/soc/codecs/wm5110.c| 2 +- sound/soc/codecs/wm8350.c| 2 +- sound/soc/codecs/wm8400.c| 2 +- sound/soc/codecs/wm8510.c| 2 +- sound/soc/codecs/wm8523.c| 2 +- sound/soc/codecs/wm8580.c| 2 +- sound/soc/codecs/wm8711.c| 2 +- sound/soc/codecs/wm8728.c| 2 +- sound/soc/codecs/wm8731.c| 2 +- sound/soc/codecs/wm8737.c| 2 +- sound/soc/codecs/wm8741.c| 2 +- sound/soc/codecs/wm8750.c| 2 +- sound/soc/codecs/wm8753.c| 2 +- sound/soc/codecs/wm8770.c| 2 +- sound/soc/codecs/wm8776.c| 2 +- sound/soc/codecs/wm8804.c| 2 +- sound/soc/codecs/wm8900.c| 2 +- sound/soc/codecs/wm8903.c| 2 +- sound/soc/codecs/wm8904.c| 2 +- sound/soc/codecs/wm8940.c| 2 +- sound/soc/codecs/wm8955.c| 2 +- sound/soc/codecs/wm8960.c| 2 +- sound/soc/codecs/wm8961.c| 2 +- sound/soc/codecs/wm8962.c| 2 +- sound/soc/codecs/wm8971.c| 2 +- sound/soc/codecs/wm8974.c| 2 +- sound/soc/codecs/wm8978.c| 2 +- sound/soc/codecs/wm8983.c| 2 +- sound/soc/codecs/wm8985.c| 2 +- sound/soc/codecs/wm8988.c| 2 +- sound/soc/codecs/wm8990.c| 2 +- sound/soc/codecs/wm8991.c| 2 +- sound/soc/codecs/wm8993.c| 2 +- sound/soc/codecs/wm8994.c| 2 +- sound/soc/codecs/wm8995.c| 2 +- sound/soc/codecs/wm8996.c| 2 +- sound/soc/codecs/wm8997.c| 2 +- sound/soc/codecs/wm9081.c| 2 +- sound/soc/codecs/wm9090.c| 2 +- sound/soc/soc-core.c | 2 +- sound/soc/soc-io.c | 9 - 85 files changed, 83 insertions(+), 93 deletions(-) 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/ad193x.c b/sound/soc/codecs/ad193x.c index 9381a76..052495f 100644 --- a/sound/soc/codecs/ad193x.c +++ b/sound/soc/codecs/ad193x.c @@ -325,7 +325,7 @@ static int ad193x_codec_probe(struct snd_soc_codec *codec) int ret; codec->control_data = ad193x->regmap; -
[PATCH] ASoC: io: Clean up snd_soc_codec_set_cache_io()
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.xi...@freescale.com --- @Mark and All I'm also thinking could we just discard snd_soc_codec_set_cache_io() calling from each individual driver to simply the code? And just bind it to devm_regmap_init_i2c() and devm_regmap_init_spi()... Is there any other limitations for snd_soc_codec_set_cache_io() usage? include/sound/soc.h | 1 - sound/soc/codecs/ad193x.c| 2 +- sound/soc/codecs/adau1373.c | 2 +- sound/soc/codecs/adav80x.c | 2 +- sound/soc/codecs/ak4535.c| 2 +- sound/soc/codecs/ak4641.c| 2 +- sound/soc/codecs/ak4642.c| 2 +- sound/soc/codecs/ak4671.c| 2 +- sound/soc/codecs/alc5623.c | 2 +- sound/soc/codecs/alc5632.c | 2 +- sound/soc/codecs/cq93vc.c| 2 +- sound/soc/codecs/cs4270.c| 2 +- sound/soc/codecs/cs42l51.c | 2 +- sound/soc/codecs/cs42l52.c | 2 +- sound/soc/codecs/cs42l73.c | 2 +- sound/soc/codecs/da7210.c| 2 +- sound/soc/codecs/da7213.c| 2 +- sound/soc/codecs/da732x.c| 2 +- sound/soc/codecs/da9055.c| 2 +- sound/soc/codecs/isabelle.c | 2 +- sound/soc/codecs/lm49453.c | 2 +- sound/soc/codecs/max9768.c | 2 +- sound/soc/codecs/max98088.c | 2 +- sound/soc/codecs/max98090.c | 2 +- sound/soc/codecs/max98095.c | 2 +- sound/soc/codecs/max9850.c | 2 +- sound/soc/codecs/mc13783.c | 2 +- sound/soc/codecs/ml26124.c | 2 +- sound/soc/codecs/rt5631.c| 2 +- sound/soc/codecs/rt5640.c| 2 +- sound/soc/codecs/sgtl5000.c | 2 +- sound/soc/codecs/sn95031.c | 2 +- sound/soc/codecs/ssm2518.c | 2 +- sound/soc/codecs/ssm2602.c | 2 +- sound/soc/codecs/sta32x.c| 2 +- sound/soc/codecs/sta529.c| 2 +- sound/soc/codecs/tlv320aic23.c | 2 +- sound/soc/codecs/tlv320aic26.c | 2 +- sound/soc/codecs/tlv320aic32x4.c | 2 +- sound/soc/codecs/tlv320aic3x.c | 2 +- sound/soc/codecs/wm2000.c| 2 +- sound/soc/codecs/wm2200.c| 2 +- sound/soc/codecs/wm5100.c| 2 +- sound/soc/codecs/wm5102.c| 2 +- sound/soc/codecs/wm5110.c| 2 +- sound/soc/codecs/wm8350.c| 2 +- sound/soc/codecs/wm8400.c| 2 +- sound/soc/codecs/wm8510.c| 2 +- sound/soc/codecs/wm8523.c| 2 +- sound/soc/codecs/wm8580.c| 2 +- sound/soc/codecs/wm8711.c| 2 +- sound/soc/codecs/wm8728.c| 2 +- sound/soc/codecs/wm8731.c| 2 +- sound/soc/codecs/wm8737.c| 2 +- sound/soc/codecs/wm8741.c| 2 +- sound/soc/codecs/wm8750.c| 2 +- sound/soc/codecs/wm8753.c| 2 +- sound/soc/codecs/wm8770.c| 2 +- sound/soc/codecs/wm8776.c| 2 +- sound/soc/codecs/wm8804.c| 2 +- sound/soc/codecs/wm8900.c| 2 +- sound/soc/codecs/wm8903.c| 2 +- sound/soc/codecs/wm8904.c| 2 +- sound/soc/codecs/wm8940.c| 2 +- sound/soc/codecs/wm8955.c| 2 +- sound/soc/codecs/wm8960.c| 2 +- sound/soc/codecs/wm8961.c| 2 +- sound/soc/codecs/wm8962.c| 2 +- sound/soc/codecs/wm8971.c| 2 +- sound/soc/codecs/wm8974.c| 2 +- sound/soc/codecs/wm8978.c| 2 +- sound/soc/codecs/wm8983.c| 2 +- sound/soc/codecs/wm8985.c| 2 +- sound/soc/codecs/wm8988.c| 2 +- sound/soc/codecs/wm8990.c| 2 +- sound/soc/codecs/wm8991.c| 2 +- sound/soc/codecs/wm8993.c| 2 +- sound/soc/codecs/wm8994.c| 2 +- sound/soc/codecs/wm8995.c| 2 +- sound/soc/codecs/wm8996.c| 2 +- sound/soc/codecs/wm8997.c| 2 +- sound/soc/codecs/wm9081.c| 2 +- sound/soc/codecs/wm9090.c| 2 +- sound/soc/soc-core.c | 2 +- sound/soc/soc-io.c | 9 - 85 files changed, 83 insertions(+), 93 deletions(-) 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/ad193x.c b/sound/soc/codecs/ad193x.c index 9381a76..052495f 100644 --- a/sound/soc/codecs/ad193x.c +++ b/sound/soc/codecs/ad193x.c @@ -325,7 +325,7 @@ static int ad193x_codec_probe(struct snd_soc_codec *codec) int ret;
Re: [PATCH] ASoC: io: Clean up snd_soc_codec_set_cache_io()
On Thu, Feb 27, 2014 at 09:37:45AM +0800, Xiubo Li wrote: I'm also thinking could we just discard snd_soc_codec_set_cache_io() calling from each individual driver to simply the code? And just bind it to devm_regmap_init_i2c() and devm_regmap_init_spi()... Is there any other limitations for snd_soc_codec_set_cache_io() usage? That's the goal overall, I'm not sure it's worth going through and changing the signature of the function and then later going through and merging it, it's just too much churn. The main thing we need to do in order to do that is to make sure nothing is relying on specific sequencing during startup, probably by providing a way to manually set the regmap pointer in the main device probe function rather than in the ASoC one. signature.asc Description: Digital signature