regmap: Handle sparse caches in the default sync
authorMark Brown <broonie@kernel.org>
Sat, 25 Mar 2023 21:49:49 +0000 (21:49 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 27 Mar 2023 00:42:26 +0000 (01:42 +0100)
If there is no cache entry available we will get -ENOENT from the cache
implementation, handle this gracefully and skip rather than treating it as
an error.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230325-regcache-sparse-sync-v1-1-2a890239d061@kernel.org
drivers/base/regmap/regcache.c

index 0482cf1..c53eabd 100644 (file)
@@ -311,6 +311,8 @@ static int regcache_default_sync(struct regmap *map, unsigned int min,
                        continue;
 
                ret = regcache_read(map, reg, &val);
+               if (ret == -ENOENT)
+                       continue;
                if (ret)
                        return ret;