mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
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: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
0757b6020f
commit
89e0f0e400
@ -452,39 +452,13 @@ static int s5m8767_set_voltage_time_sel(struct regulator_dev *rdev,
|
||||
struct s5m8767_info *s5m8767 = rdev_get_drvdata(rdev);
|
||||
const struct s5m_voltage_desc *desc;
|
||||
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];
|
||||
|
||||
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)
|
||||
return DIV_ROUND_UP(desc->step * (new_val - old_val),
|
||||
return DIV_ROUND_UP(desc->step * (new_sel - old_sel),
|
||||
s5m8767->ramp_delay);
|
||||
else
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct regulator_ops s5m8767_ldo_ops = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user