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

Commit 89e0f0e4 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown
Browse files

regulator: Fix the logic of s5m8767_set_voltage_time_sel



This patch includes below fixes:
1. The mask variable is not used at all here, remove it.
2. We already have the new_sel and old_sel, simply returns the delay by:
  DIV_ROUND_UP(desc->step * (new_sel - old_sel), s5m8767->ramp_delay);

Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 0757b602
Loading
Loading
Loading
Loading
+2 −28
Original line number Original line Diff line number Diff line
@@ -452,38 +452,12 @@ static int s5m8767_set_voltage_time_sel(struct regulator_dev *rdev,
	struct s5m8767_info *s5m8767 = rdev_get_drvdata(rdev);
	struct s5m8767_info *s5m8767 = rdev_get_drvdata(rdev);
	const struct s5m_voltage_desc *desc;
	const struct s5m_voltage_desc *desc;
	int reg_id = rdev_get_id(rdev);
	int reg_id = rdev_get_id(rdev);
	int mask;
	int new_val, old_val;


	switch (reg_id) {
	case S5M8767_LDO1 ... S5M8767_LDO28:
		mask = 0x3f;
		break;
	case S5M8767_BUCK1 ... S5M8767_BUCK6:
		mask = 0xff;
		break;
	case S5M8767_BUCK7 ... S5M8767_BUCK8:
		return -EINVAL;
	case S5M8767_BUCK9:
		mask = 0xff;
		break;
	default:
		return -EINVAL;
	}
	desc = reg_voltage_map[reg_id];
	desc = reg_voltage_map[reg_id];


	new_val = s5m8767_convert_voltage(desc, new_sel, new_sel);
	if (new_val < 0)
		return new_val;

	old_val = s5m8767_convert_voltage(desc, old_sel, old_sel);
	if (old_val < 0)
		return old_val;

	if (old_sel < new_sel)
	if (old_sel < new_sel)
		return DIV_ROUND_UP(desc->step * (new_val - old_val),
		return DIV_ROUND_UP(desc->step * (new_sel - old_sel),
					s5m8767->ramp_delay);
					s5m8767->ramp_delay);
	else
	return 0;
	return 0;
}
}