aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/wm831x-ldo.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2012-03-29 03:02:55 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-29 07:06:24 -0400
commite841a36abb0f95ea356d52e4386b8e8f762e9c40 (patch)
tree25e5e19848547828d877cd472d331cf26a4995a1 /drivers/regulator/wm831x-ldo.c
parentfa5a97bb0c65cb8d0382b72a55e2b87e15268289 (diff)
regulator: Fix setting low power mode for wm831x aldo
Set BIT[8] of LDO7 ON Control mode for low power mode. R16507 (407Bh) LDO7 ON Control BIT[8] LDO7_ON_MODE: LDO7 ON Operating Mode 0 = Normal mode 1 = Low Power mode Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/wm831x-ldo.c')
-rw-r--r--drivers/regulator/wm831x-ldo.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/regulator/wm831x-ldo.c b/drivers/regulator/wm831x-ldo.c
index f1e4ab0f9fda..641e9f6499d1 100644
--- a/drivers/regulator/wm831x-ldo.c
+++ b/drivers/regulator/wm831x-ldo.c
@@ -506,22 +506,19 @@ static int wm831x_aldo_set_mode(struct regulator_dev *rdev,
506{ 506{
507 struct wm831x_ldo *ldo = rdev_get_drvdata(rdev); 507 struct wm831x_ldo *ldo = rdev_get_drvdata(rdev);
508 struct wm831x *wm831x = ldo->wm831x; 508 struct wm831x *wm831x = ldo->wm831x;
509 int ctrl_reg = ldo->base + WM831X_LDO_CONTROL;
510 int on_reg = ldo->base + WM831X_LDO_ON_CONTROL; 509 int on_reg = ldo->base + WM831X_LDO_ON_CONTROL;
511 int ret; 510 int ret;
512 511
513 512
514 switch (mode) { 513 switch (mode) {
515 case REGULATOR_MODE_NORMAL: 514 case REGULATOR_MODE_NORMAL:
516 ret = wm831x_set_bits(wm831x, on_reg, 515 ret = wm831x_set_bits(wm831x, on_reg, WM831X_LDO7_ON_MODE, 0);
517 WM831X_LDO7_ON_MODE, 0);
518 if (ret < 0) 516 if (ret < 0)
519 return ret; 517 return ret;
520 break; 518 break;
521 519
522 case REGULATOR_MODE_IDLE: 520 case REGULATOR_MODE_IDLE:
523 ret = wm831x_set_bits(wm831x, ctrl_reg, 521 ret = wm831x_set_bits(wm831x, on_reg, WM831X_LDO7_ON_MODE,
524 WM831X_LDO7_ON_MODE,
525 WM831X_LDO7_ON_MODE); 522 WM831X_LDO7_ON_MODE);
526 if (ret < 0) 523 if (ret < 0)
527 return ret; 524 return ret;