From: Mark Brown Date: Sat, 12 May 2012 12:06:08 +0000 (+0100) Subject: Merge tag 'regmap-3.4' into regmap-stride X-Git-Tag: v3.5-rc1~117^2~7^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=25061d285747f20aafa4b50df1b0b5665fef29cd;p=platform%2Fkernel%2Flinux-stable.git Merge tag 'regmap-3.4' into regmap-stride regmap: Last minute bug fix for 3.4 This is a last minute bug fix that was only just noticed since the code path that's being exercised here is one that is fairly rarely used. The changelog for the change itself is extremely clear and the code itself is obvious to inspection so should be pretty safe. Conflicts: drivers/base/regmap/regmap.c (overlap between the fix and stride code) --- 25061d285747f20aafa4b50df1b0b5665fef29cd diff --cc drivers/base/regmap/regmap.c index fcd69ff,bb80853..3572949 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@@ -898,10 -775,11 +898,12 @@@ int regmap_bulk_read(struct regmap *map map->format.parse_val(val + i); } else { for (i = 0; i < val_count; i++) { + unsigned int ival; - ret = regmap_read(map, reg + i, &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); } }