summaryrefslogtreecommitdiff
path: root/drivers/base/regmap
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-03-26 00:49:49 +0300
committerMark Brown <broonie@kernel.org>2023-03-27 03:42:26 +0300
commit2c89db8f8d1e544fd817d4c0dc508a00b78a8f7f (patch)
tree99d5a3c76428189fa8a9155c3e6f0fc52bb007be /drivers/base/regmap
parentdc4c6232b8831ee4884b1026fcd963bd7e3ae21f (diff)
downloadlinux-2c89db8f8d1e544fd817d4c0dc508a00b78a8f7f.tar.xz
regmap: Handle sparse caches in the default sync
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
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r--drivers/base/regmap/regcache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index 0482cf1c3231..c53eabd4855d 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -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;