diff options
author | Axel Lin <axel.lin@gmail.com> | 2012-03-29 03:02:55 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-03-29 07:06:24 -0400 |
commit | e841a36abb0f95ea356d52e4386b8e8f762e9c40 (patch) | |
tree | 25e5e19848547828d877cd472d331cf26a4995a1 /drivers/regulator/wm831x-ldo.c | |
parent | fa5a97bb0c65cb8d0382b72a55e2b87e15268289 (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.c | 7 |
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; |