Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

regmap: Base regmap_register_patch on _regmap_multi_reg_write

Since we now have an internal version of regmap_multi_reg_write use this
to apply the register patch.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>

authored by

Charles Keepax and committed by
Mark Brown
6bf13103 1d5b40bc

+4 -14
+4 -14
drivers/base/regmap/regmap.c
··· 2227 2227 int num_regs) 2228 2228 { 2229 2229 struct reg_default *p; 2230 - int i, ret; 2230 + int ret; 2231 2231 bool bypass; 2232 2232 2233 2233 if (WARN_ONCE(num_regs <= 0, "invalid registers number (%d)\n", ··· 2241 2241 map->cache_bypass = true; 2242 2242 map->async = true; 2243 2243 2244 - /* Write out first; it's useful to apply even if we fail later. */ 2245 - for (i = 0; i < num_regs; i++) { 2246 - if (regs[i].reg % map->reg_stride) { 2247 - ret = -EINVAL; 2248 - goto out; 2249 - } 2250 - ret = _regmap_write(map, regs[i].reg, regs[i].def); 2251 - if (ret != 0) { 2252 - dev_err(map->dev, "Failed to write %x = %x: %d\n", 2253 - regs[i].reg, regs[i].def, ret); 2254 - goto out; 2255 - } 2256 - } 2244 + ret = _regmap_multi_reg_write(map, regs, num_regs); 2245 + if (ret != 0) 2246 + goto out; 2257 2247 2258 2248 p = krealloc(map->patch, 2259 2249 sizeof(struct reg_default) * (map->patch_regs + num_regs),