[alsa-devel] [PATCH 1/2] ASoC: Forward calls to snd_soc_cache_sync() to regcache_sync()

Lars-Peter Clausen lars at metafoo.de
Sat Nov 8 16:38:06 CET 2014


For convenience for drivers that do not want to keep their own pointer to
regmap struct around forward calls to snd_soc_cache_sync() to
regcache_sync() if the driver is using regmap. This is similar to what we do
for snd_soc_read()/snd_soc_write().

This patch also fixes drivers which already have been converted to regmap,
but still use snd_soc_cache_sync() for trying to the sync the cache.

Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
---
Unfortunately there are a few drivers that have already been converted to
regmap, but still use snd_soc_cache_sync(). snd_soc_cache_sync() currently
is a noop for those drivers. Some of these conversions were done as early as
3.4 and while this patch applies cleanly to earlier kernel versions, due to
the restructuring of the ASoC core it will only work on 3.16+. Hence no
Fixes tag.
---
 sound/soc/soc-cache.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c
index a9f82b5..6dab817 100644
--- a/sound/soc/soc-cache.c
+++ b/sound/soc/soc-cache.c
@@ -187,6 +187,9 @@ int snd_soc_cache_sync(struct snd_soc_codec *codec)
 	const char *name = "flat";
 	int ret;
 
+	if (codec->component.regmap)
+		return regcache_sync(codec->component.regmap);
+
 	if (!codec->cache_sync)
 		return 0;
 
-- 
1.8.0



More information about the Alsa-devel mailing list