regulator: max8973: Fix setting ramp delay
PATCH RESEND 1/1 regulator: max8973: Fix setting ramp delay
Current code can set ramp delay to a wrong setting that the return value from .set_voltage_time_sel is not enough for proper delay. Fix the logic in .set_ramp_delay and also remove unused ret_val variable.
Signed-off-by Axel Lin <[email protected]>
---
RESEND: Fix typo in subject line, it's max8973.
drivers/regulator/max8973-regulator.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-)
drivers/regulator/max8973-regulator.c +6 -10
@@ -271,22 +271,18 @@ static int max8973_set_ramp_delay(struct regulator_dev *rdev,struct max8973_chip *max =rdev_get_drvdata (rdev);unsigned int control;int ret; -int ret_val;/* Set ramp delay */ -if (ramp_delay <25000 ) { +if (ramp_delay <=12000 ) control = MAX8973_RAMP_12mV_PER_US; - ret_val =12000 ; - }else if (ramp_delay <50000 ) { +else if (ramp_delay <=25000 ) control = MAX8973_RAMP_25mV_PER_US; - ret_val =25000 ; - }else if (ramp_delay <200000 ) { +else if (ramp_delay <=50000 ) control = MAX8973_RAMP_50mV_PER_US; - ret_val =50000 ; - }else { +else if (ramp_delay <=200000 ) control = MAX8973_RAMP_200mV_PER_US; - ret_val =200000 ; - } +else +return -EINVAL ; ret =regmap_update_bits (max->regmap,MAX8973_CONTROL1 ,MAX8973_RAMP_MASK , control);
Signature · 1 line
2.5.0