aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/wm831x-dcdc.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c
index 7413885be01b..90cbcc683704 100644
--- a/drivers/regulator/wm831x-dcdc.c
+++ b/drivers/regulator/wm831x-dcdc.c
@@ -339,16 +339,15 @@ static int wm831x_buckv_set_current_limit(struct regulator_dev *rdev,
339 u16 reg = dcdc->base + WM831X_DCDC_CONTROL_2; 339 u16 reg = dcdc->base + WM831X_DCDC_CONTROL_2;
340 int i; 340 int i;
341 341
342 for (i = 0; i < ARRAY_SIZE(wm831x_dcdc_ilim); i++) { 342 for (i = ARRAY_SIZE(wm831x_dcdc_ilim) - 1; i >= 0; i--) {
343 if ((min_uA <= wm831x_dcdc_ilim[i]) && 343 if ((min_uA <= wm831x_dcdc_ilim[i]) &&
344 (wm831x_dcdc_ilim[i] <= max_uA)) 344 (wm831x_dcdc_ilim[i] <= max_uA))
345 break; 345 return wm831x_set_bits(wm831x, reg,
346 WM831X_DC1_HC_THR_MASK,
347 i << WM831X_DC1_HC_THR_SHIFT);
346 } 348 }
347 if (i == ARRAY_SIZE(wm831x_dcdc_ilim))
348 return -EINVAL;
349 349
350 return wm831x_set_bits(wm831x, reg, WM831X_DC1_HC_THR_MASK, 350 return -EINVAL;
351 i << WM831X_DC1_HC_THR_SHIFT);
352} 351}
353 352
354static int wm831x_buckv_get_current_limit(struct regulator_dev *rdev) 353static int wm831x_buckv_get_current_limit(struct regulator_dev *rdev)