diff options
Diffstat (limited to 'drivers/base/regmap/regmap.c')
-rw-r--r-- | drivers/base/regmap/regmap.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 7a3f535e481c..bb80853ff27a 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c | |||
@@ -775,9 +775,11 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val, | |||
775 | map->format.parse_val(val + i); | 775 | map->format.parse_val(val + i); |
776 | } else { | 776 | } else { |
777 | for (i = 0; i < val_count; i++) { | 777 | for (i = 0; i < val_count; i++) { |
778 | ret = regmap_read(map, reg + i, val + (i * val_bytes)); | 778 | unsigned int ival; |
779 | ret = regmap_read(map, reg + i, &ival); | ||
779 | if (ret != 0) | 780 | if (ret != 0) |
780 | return ret; | 781 | return ret; |
782 | memcpy(val + (i * val_bytes), &ival, val_bytes); | ||
781 | } | 783 | } |
782 | } | 784 | } |
783 | 785 | ||