summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJavier Martinez Canillas <javierm@redhat.com>2022-06-16 09:34:33 +0200
committerMark Brown <broonie@kernel.org>2022-06-20 11:35:36 +0100
commit5ac01e023a1b0492e159ad2f6734e0a350c1b6b6 (patch)
tree2c4d8d81c40a58f18861d860e8136400c6c184d4 /drivers
parent57b06e9711a5ed5accd04b301da0f27f04aa21d3 (diff)
downloadlinux-stable-5ac01e023a1b0492e159ad2f6734e0a350c1b6b6.tar.gz
linux-stable-5ac01e023a1b0492e159ad2f6734e0a350c1b6b6.tar.bz2
linux-stable-5ac01e023a1b0492e159ad2f6734e0a350c1b6b6.zip
regmap: Re-introduce bulk read support check in regmap_bulk_read()
Support for drivers to define bulk read/write callbacks in regmap_config was introduced by the commit d77e74561368 ("regmap: Add bulk read/write callbacks into regmap_config"), but this commit wrongly dropped a check in regmap_bulk_read() to determine whether bulk reads can be done or not. Before that commit, it was checked if map->bus was set. Now has to check if a map->read callback has been set. Fixes: d77e74561368 ("regmap: Add bulk read/write callbacks into regmap_config") Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://lore.kernel.org/r/20220616073435.1988219-2-javierm@redhat.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/base/regmap/regmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index 2221d9863831..e5bb70374ffc 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -3017,7 +3017,7 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val,
if (val_count == 0)
return -EINVAL;
- if (map->format.parse_inplace && (vol || map->cache_type == REGCACHE_NONE)) {
+ if (map->read && map->format.parse_inplace && (vol || map->cache_type == REGCACHE_NONE)) {
ret = regmap_raw_read(map, reg, val, val_bytes * val_count);
if (ret != 0)
return ret;