Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6bf13103 authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown
Browse files

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: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 1d5b40bc
Loading
Loading
Loading
Loading
+4 −14
Original line number Diff line number Diff line
@@ -2227,7 +2227,7 @@ int regmap_register_patch(struct regmap *map, const struct reg_default *regs,
			  int num_regs)
{
	struct reg_default *p;
	int i, ret;
	int ret;
	bool bypass;

	if (WARN_ONCE(num_regs <= 0, "invalid registers number (%d)\n",
@@ -2241,19 +2241,9 @@ int regmap_register_patch(struct regmap *map, const struct reg_default *regs,
	map->cache_bypass = true;
	map->async = true;

	/* Write out first; it's useful to apply even if we fail later. */
	for (i = 0; i < num_regs; i++) {
		if (regs[i].reg % map->reg_stride) {
			ret = -EINVAL;
			goto out;
		}
		ret = _regmap_write(map, regs[i].reg, regs[i].def);
		if (ret != 0) {
			dev_err(map->dev, "Failed to write %x = %x: %d\n",
				regs[i].reg, regs[i].def, ret);
	ret = _regmap_multi_reg_write(map, regs, num_regs);
	if (ret != 0)
		goto out;
		}
	}

	p = krealloc(map->patch,
		     sizeof(struct reg_default) * (map->patch_regs + num_regs),