aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-11-05 09:51:32 -0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2010-11-30 10:13:25 -0500
commite36c1df8e18183ba2c691fe766a52c94020cdc5e (patch)
tree59196f9c9d1dbd1dcfc6aeef73f5dd84b35ceb15 /drivers/regulator
parentaa7a74040a989eeb7a9265550a2538863e842a93 (diff)
regulator: Ensure enough delay time for enabling regulator
Integer division will truncate the result, this patch ensures we have enough delay time for enabling regulator. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'drivers/regulator')
-rw-r--r--drivers/regulator/core.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
index c3f93b401e90..9da85bc21db4 100644
--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1312,10 +1312,12 @@ static int _regulator_enable(struct regulator_dev *rdev)
1312 if (ret < 0) 1312 if (ret < 0)
1313 return ret; 1313 return ret;
1314 1314
1315 if (delay >= 1000) 1315 if (delay >= 1000) {
1316 mdelay(delay / 1000); 1316 mdelay(delay / 1000);
1317 else if (delay) 1317 udelay(delay % 1000);
1318 } else if (delay) {
1318 udelay(delay); 1319 udelay(delay);
1320 }
1319 1321
1320 } else if (ret < 0) { 1322 } else if (ret < 0) {
1321 printk(KERN_ERR "%s: is_enabled() failed for %s: %d\n", 1323 printk(KERN_ERR "%s: is_enabled() failed for %s: %d\n",