linux/drivers/regulator
Axel Lin e260999c66 regulator: wm831x-ldo - fix the logic to set REGULATOR_MODE_IDLE and REGULATOR_MODE_STANDBY modes
Problem description in current implementation:
When setting REGULATOR_MODE_IDLE mode, current implementation set
WM831X_LDO1_LP_MODE bit of ctrl_reg (which is wrong, it should clear the bit).
But due to a missing break statement for case REGULATOR_MODE_IDLE, the code
fall through to case REGULATOR_MODE_STANDBY and then clear
WM831X_LDO1_LP_MODE bit. So it still looks OK when checking the status
by wm831x_gp_ldo_get_mode().

When setting REGULATOR_MODE_STANDBY mode, it just does not work.
wm831x_gp_ldo_get_mode() will still return REGULATOR_MODE_IDLE because
the accordingly WM831X_LDO1_LP_MODE bit is clear.

Correct behavior should be:
Clear WM831X_LDO1_LP_MODE bit of ctrl_reg for REGULATOR_MODE_IDLE mode.
Set WM831X_LDO1_LP_MODE bit of ctrl_reg for REGULATOR_MODE_STANDBY mode.

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>
2010-09-06 11:14:47 +01:00
..
88pm8607.c regulator: 88pm8607 - fix value range checking for accessing info->vol_table 2010-09-05 11:15:52 +01:00
Kconfig regulator: tps6586x: add dependancy on MFD_TPS6585x 2010-08-11 11:38:01 +01:00
Makefile regulator: add TPS6586X regulator driver 2010-08-11 11:38:01 +01:00
ab3100.c regulator: ab3100 - fix the logic to remove already registered regulators in error path 2010-09-01 12:59:33 +01:00
ab8500.c regulator: ab8500 - fix off-by-one value range checking for selector 2010-09-05 11:15:52 +01:00
ad5398.c regulator: ad5398 - fix a memory leak 2010-09-01 12:59:35 +01:00
bq24022.c Regulators: ab3100/bq24022: add a missing .owner field in regulator_desc 2010-05-25 10:16:02 +01:00
core.c regulator: Remove owner field from attribute initialization in regulator core driver 2010-08-05 13:53:35 -07:00
da903x.c regulator: keep index within bounds in da9034_get_ldo12_voltage() 2009-12-17 10:27:25 +00:00
dummy.c regulator: Provide optional dummy regulator for consumers 2010-03-03 14:49:26 +00:00
dummy.h regulator: Provide optional dummy regulator for consumers 2010-03-03 14:49:26 +00:00
fixed.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
isl6271a-regulator.c regulator: isl6271a-regulator - fix regulator_desc parameter for regulator_register() 2010-09-01 12:59:35 +01:00
lp3971.c regulator: lp3971 - remove unnecessary ret value checking in lp3971_i2c_write() 2010-08-11 11:38:02 +01:00
max1586.c regulator: max1586 - improve the logic of choosing selector 2010-09-01 12:59:33 +01:00
max8649.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
max8660.c regulator: max8660 - fix a memory leak in max8660_remove() 2010-08-11 11:38:02 +01:00
max8925-regulator.c regulator: fix enabling regulator issue on max8925 2010-04-28 15:24:34 +01:00
max8998.c regulator: set max8998->dev to &pdev->dev. 2010-09-01 12:59:34 +01:00
mc13783-regulator.c mc13783-regulator: fix vaild voltage range checking for mc13783_fixed_regulator_set_voltage 2010-05-25 10:16:02 +01:00
pcap-regulator.c Regulators: pcap-regulator - clean up driver data after removal 2010-03-03 14:49:29 +00:00
pcf50633-regulator.c mfd: Fix pcf50633-regulator drvdata usage 2009-12-13 19:21:20 +01:00
tps6507x-regulator.c regulator: tps6507x - remove incorrect comments 2010-09-01 12:59:34 +01:00
tps6586x-regulator.c regulator: tps6586x-regulator - fix bit_mask parameter for tps6586x_set_bits() 2010-09-01 12:59:34 +01:00
tps65023-regulator.c tps65023: Allow registering similar TPS65021 2010-08-11 11:38:01 +01:00
twl-regulator.c twl6030: regulator: Remove vsel tables and use formula for calculation 2010-05-25 10:16:02 +01:00
userspace-consumer.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
virtual.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm831x-dcdc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm831x-isink.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wm831x-ldo.c regulator: wm831x-ldo - fix the logic to set REGULATOR_MODE_IDLE and REGULATOR_MODE_STANDBY modes 2010-09-06 11:14:47 +01:00
wm8350-regulator.c wm8350-regulator: fix wm8350_register_regulator error handling 2010-07-27 11:29:27 +01:00
wm8400-regulator.c Regulators: wm8400 - cleanup platform driver data handling 2010-03-03 14:49:30 +00:00
wm8994-regulator.c regulator: Default GPIO controlled WM8994 regulators to disabled 2010-08-11 11:38:02 +01:00