aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-08-28 00:52:29 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-09-09 23:25:13 -0400
commit22c5fb6a7dc8674424394122337c84eaf48efbdf (patch)
treeb994c0c2cd8b9f1954aacd98b088aa58f99894e3
parente477ce075d205f9eee3e28795eae7a0efd1e54f6 (diff)
regulator: wm831x-ldo: Add bypass support
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--drivers/regulator/wm831x-ldo.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/regulator/wm831x-ldo.c b/drivers/regulator/wm831x-ldo.c
index 5cb70ca1e98d..f203a972dedf 100644
--- a/drivers/regulator/wm831x-ldo.c
+++ b/drivers/regulator/wm831x-ldo.c
@@ -237,6 +237,8 @@ static struct regulator_ops wm831x_gp_ldo_ops = {
237 .set_mode = wm831x_gp_ldo_set_mode, 237 .set_mode = wm831x_gp_ldo_set_mode,
238 .get_status = wm831x_gp_ldo_get_status, 238 .get_status = wm831x_gp_ldo_get_status,
239 .get_optimum_mode = wm831x_gp_ldo_get_optimum_mode, 239 .get_optimum_mode = wm831x_gp_ldo_get_optimum_mode,
240 .get_bypass = regulator_get_bypass_regmap,
241 .set_bypass = regulator_set_bypass_regmap,
240 242
241 .is_enabled = regulator_is_enabled_regmap, 243 .is_enabled = regulator_is_enabled_regmap,
242 .enable = regulator_enable_regmap, 244 .enable = regulator_enable_regmap,
@@ -293,6 +295,8 @@ static __devinit int wm831x_gp_ldo_probe(struct platform_device *pdev)
293 ldo->desc.vsel_mask = WM831X_LDO1_ON_VSEL_MASK; 295 ldo->desc.vsel_mask = WM831X_LDO1_ON_VSEL_MASK;
294 ldo->desc.enable_reg = WM831X_LDO_ENABLE; 296 ldo->desc.enable_reg = WM831X_LDO_ENABLE;
295 ldo->desc.enable_mask = 1 << id; 297 ldo->desc.enable_mask = 1 << id;
298 ldo->desc.bypass_reg = ldo->base;
299 ldo->desc.bypass_mask = WM831X_LDO1_SWI;
296 300
297 config.dev = pdev->dev.parent; 301 config.dev = pdev->dev.parent;
298 if (pdata) 302 if (pdata)
@@ -488,6 +492,8 @@ static struct regulator_ops wm831x_aldo_ops = {
488 .get_mode = wm831x_aldo_get_mode, 492 .get_mode = wm831x_aldo_get_mode,
489 .set_mode = wm831x_aldo_set_mode, 493 .set_mode = wm831x_aldo_set_mode,
490 .get_status = wm831x_aldo_get_status, 494 .get_status = wm831x_aldo_get_status,
495 .set_bypass = regulator_set_bypass_regmap,
496 .get_bypass = regulator_get_bypass_regmap,
491 497
492 .is_enabled = regulator_is_enabled_regmap, 498 .is_enabled = regulator_is_enabled_regmap,
493 .enable = regulator_enable_regmap, 499 .enable = regulator_enable_regmap,
@@ -544,6 +550,8 @@ static __devinit int wm831x_aldo_probe(struct platform_device *pdev)
544 ldo->desc.vsel_mask = WM831X_LDO7_ON_VSEL_MASK; 550 ldo->desc.vsel_mask = WM831X_LDO7_ON_VSEL_MASK;
545 ldo->desc.enable_reg = WM831X_LDO_ENABLE; 551 ldo->desc.enable_reg = WM831X_LDO_ENABLE;
546 ldo->desc.enable_mask = 1 << id; 552 ldo->desc.enable_mask = 1 << id;
553 ldo->desc.bypass_reg = ldo->base;
554 ldo->desc.bypass_mask = WM831X_LDO7_SWI;
547 555
548 config.dev = pdev->dev.parent; 556 config.dev = pdev->dev.parent;
549 if (pdata) 557 if (pdata)