summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2023-03-25 21:49:49 +0000
committerMark Brown <broonie@kernel.org>2023-03-27 01:42:26 +0100
commit2c89db8f8d1e544fd817d4c0dc508a00b78a8f7f (patch)
tree99d5a3c76428189fa8a9155c3e6f0fc52bb007be /drivers/base
parentdc4c6232b8831ee4884b1026fcd963bd7e3ae21f (diff)
downloadlinux-2c89db8f8d1e544fd817d4c0dc508a00b78a8f7f.tar.gz
linux-2c89db8f8d1e544fd817d4c0dc508a00b78a8f7f.tar.bz2
linux-2c89db8f8d1e544fd817d4c0dc508a00b78a8f7f.zip
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')
-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;