]> Pileus Git - ~andy/linux/blobdiff - drivers/base/regmap/regmap.c
Merge tag 'regmap-3.4' into regmap-stride
[~andy/linux] / drivers / base / regmap / regmap.c
index fcd69ff695d593c268fad08d45ae195293727b07..357294905793c840aea6826262bbab4dda2d3660 100644 (file)
@@ -898,10 +898,12 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val,
                        map->format.parse_val(val + i);
        } else {
                for (i = 0; i < val_count; i++) {
+                       unsigned int ival;
                        ret = regmap_read(map, reg + (i * map->reg_stride),
-                                         val + (i * val_bytes));
+                                         &ival);
                        if (ret != 0)
                                return ret;
+                       memcpy(val + (i * val_bytes), &ival, val_bytes);
                }
        }