diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-07-24 13:40:48 +0200 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-10-07 13:49:18 +0200 |
commit | a1ff89ef3cd6515d378f946db5f3760089bb644e (patch) | |
tree | 705efddbf2f31e3a0d00072fb077b914acd7650e /drivers/regulator/wm8994-regulator.c | |
parent | Merge branch 'for-3.1' into for-3.2 (diff) | |
download | linux-a1ff89ef3cd6515d378f946db5f3760089bb644e.tar.xz linux-a1ff89ef3cd6515d378f946db5f3760089bb644e.zip |
regulator: Add WM1811 support
The WM1811 has a slightly different range on LDO2 to other WM8994 class
devices.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/regulator/wm8994-regulator.c')
-rw-r--r-- | drivers/regulator/wm8994-regulator.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/regulator/wm8994-regulator.c b/drivers/regulator/wm8994-regulator.c index 1a6a690f24db..b87bf5c841f8 100644 --- a/drivers/regulator/wm8994-regulator.c +++ b/drivers/regulator/wm8994-regulator.c @@ -140,6 +140,14 @@ static int wm8994_ldo2_list_voltage(struct regulator_dev *rdev, return (selector * 100000) + 900000; case WM8958: return (selector * 100000) + 1000000; + case WM1811: + switch (selector) { + case 0: + return -EINVAL; + default: + return (selector * 100000) + 950000; + } + break; default: return -EINVAL; } @@ -170,6 +178,11 @@ static int wm8994_ldo2_set_voltage(struct regulator_dev *rdev, case WM8958: selector = (min_uV - 1000000) / 100000; break; + case WM1811: + selector = (min_uV - 950000) / 100000; + if (selector == 0) + selector = 1; + break; default: return -EINVAL; } |