|
@@ -78,14 +78,14 @@ static int wm8400_ldo_set_voltage(struct regulator_dev *dev,
|
|
|
|
|
|
if (min_uV < 1700000) {
|
|
|
/* Steps of 50mV from 900mV; */
|
|
|
- val = (min_uV - 850001) / 50000;
|
|
|
+ val = DIV_ROUND_UP(min_uV - 900000, 50000);
|
|
|
|
|
|
if ((val * 50000) + 900000 > max_uV)
|
|
|
return -EINVAL;
|
|
|
BUG_ON((val * 50000) + 900000 < min_uV);
|
|
|
} else {
|
|
|
/* Steps of 100mV from 1700mV */
|
|
|
- val = ((min_uV - 1600001) / 100000);
|
|
|
+ val = DIV_ROUND_UP(min_uV - 1700000, 100000);
|
|
|
|
|
|
if ((val * 100000) + 1700000 > max_uV)
|
|
|
return -EINVAL;
|
|
@@ -168,7 +168,7 @@ static int wm8400_dcdc_set_voltage(struct regulator_dev *dev,
|
|
|
if (min_uV < 850000)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- val = (min_uV - 825001) / 25000;
|
|
|
+ val = DIV_ROUND_UP(min_uV - 850000, 25000);
|
|
|
|
|
|
if (850000 + (25000 * val) > max_uV)
|
|
|
return -EINVAL;
|