regulator: core: Return correct delay time in regulator_set_voltage_time_sel
authorAxel Lin <axel.lin@gmail.com>
Mon, 11 Jun 2012 05:14:50 +0000 (13:14 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 11 Jun 2012 05:35:56 +0000 (13:35 +0800)
rdev->desc->uV_step * abs(new_selector - old_selector) returns uV.
The unit of ramp_delay is mV/us.

Current code multiples 1000 at wrong place.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/core.c

index ff76abde3ab3ecb22f9c3f01c242bac1309f7a1d..6ffca9b32388a4a5f092188b1fe700b750e76373 100644 (file)
@@ -2299,7 +2299,7 @@ int regulator_set_voltage_time_sel(struct regulator_dev *rdev,
        if (rdev->desc->ramp_delay && rdev->desc->uV_step)
                return DIV_ROUND_UP(rdev->desc->uV_step *
                        abs(new_selector - old_selector),
-                       rdev->desc->ramp_delay) * 1000;
+                       rdev->desc->ramp_delay * 1000);
        return 0;
 }