Commit 2b4bdee2 authored by Mark Brown's avatar Mark Brown

ASoC: io: Retrieve val_bytes from the regmap API

Allow us to build infrastructure which needs to know the size of a value
without requiring regmap based drivers to supply this information to both
ASoC and regmap by asking regmap for the value.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@ti.com>
parent 82150451
...@@ -114,6 +114,7 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, ...@@ -114,6 +114,7 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
enum snd_soc_control_type control) enum snd_soc_control_type control)
{ {
struct regmap_config config; struct regmap_config config;
int ret;
memset(&config, 0, sizeof(config)); memset(&config, 0, sizeof(config));
codec->write = hw_write; codec->write = hw_write;
...@@ -141,6 +142,11 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec, ...@@ -141,6 +142,11 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
case SND_SOC_REGMAP: case SND_SOC_REGMAP:
/* Device has made its own regmap arrangements */ /* Device has made its own regmap arrangements */
codec->using_regmap = true; codec->using_regmap = true;
ret = regmap_get_val_bytes(codec->control_data);
/* Errors are legitimate for non-integer byte multiples */
if (ret > 0)
codec->val_bytes = ret;
break; break;
default: default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment