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@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;