alistair23-linux/drivers/regulator
Nishanth Menon 318dbb02b5 regulator: palmas: Fix SMPS enable/disable/is_enabled
We use regmap regulator ops to enable/disable and check if regulator
is enabled for various SMPS. However, these depend on valid
enable_reg, enable_mask and enable_value in regulator descriptor.

Currently we do not populate these for SMPS other than SMPS10, this
results in spurious results as regmap assumes that the values are
valid and ends up reading register 0x0 RTC:SECONDS_REG on Palmas
variants that do have RTC! To fix this, we update proper parameters
for the descriptor fields.

Further, we want to ensure the behavior consistent with logic
prior to commit dbabd624d4, where, once you do a set_mode,
enable/disable ensure the logic remains consistent and configures
Palmas to the configuration that we set with set_mode (since the
configuration register is common). To do this, we can rely on the
regulator core's regulator_register behavior where the regulator
descriptor pointer provided by the regulator driver is stored. (no
reallocation and copy is done). This lets us update the enable_value
post registration, to remain consistent with the mode we configure as
part of set_mode.

Fixes: dbabd624d4 ("regulator: palmas: Reemove open coded functions with helper functions")
Reported-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2014-06-21 11:22:09 +01:00
..
88pm800.c regulator: 88pm800: Remove redundant error message 2014-02-20 01:34:38 +09:00
88pm8607.c regulator: 88pm8607: fix indent code style 2014-02-27 13:39:29 +09:00
aat2870-regulator.c regulator: aat2870: Use regulator_map_voltage_ascend 2014-03-26 16:52:39 +00:00
ab3100.c regulator: ab3100: cast fix 2014-01-23 19:52:09 +00:00
ab8500-ext.c regulator: ab8500-ext: use devm_regulator_register() 2013-09-30 18:10:52 +01:00
ab8500.c regulator: ab8500: use devm_regulator_register() 2013-12-09 17:38:40 +00:00
act8865-regulator.c regulator: act8865: Remove unnecessary *rdev[] from struct act8865 2014-03-10 10:30:21 +00:00
ad5398.c regulator: ad5398: Convert to devm_regulator_register 2013-09-17 00:27:55 +01:00
anatop-regulator.c regulator: anatop: Make of_device_id array const 2014-05-07 20:55:41 +01:00
arizona-ldo1.c regulator: arizona-ldo1: add missing #include 2014-05-27 20:52:42 +01:00
arizona-micsupp.c regulator: arizona-micsupp: Add missing #include 2014-05-08 18:16:51 +01:00
as3711-regulator.c regulator: as3711: Remove redundant error message 2014-02-20 01:38:41 +09:00
as3722-regulator.c regulator: as3722: Add missing of_node_put 2014-02-18 10:59:02 +09:00
axp20x-regulator.c regulator: axp20x: Use regulator_map_voltage_ascend for LDO4 2014-06-01 13:42:42 +01:00
bcm590xx-regulator.c regulator: bcm590xx: Add support for regulators on secondary I2C slave 2014-05-21 10:40:16 +01:00
core.c Merge remote-tracking branches 'regulator/topic/fixed', 'regulator/topic/id-const', 'regulator/topic/ltc3589', 'regulator/topic/max8649' and 'regulator/topic/of' into regulator-next 2014-06-02 17:08:05 +01:00
da903x.c Merge remote-tracking branch 'regulator/topic/linear' into regulator-next 2013-10-24 11:11:37 +01:00
da9052-regulator.c regulator: da9052: Add ramp speed information for the DVC regulators 2014-02-19 22:04:38 +09:00
da9055-regulator.c Merge remote-tracking branches 'regulator/topic/bcm590xx', 'regulator/topic/da9052', 'regulator/topic/da9055', 'regulator/topic/da9063', 'regulator/topic/da9210', 'regulator/topic/db8500' and 'regulator/topic/dbx500' into regulator-next 2014-03-26 16:57:51 +00:00
da9063-regulator.c Merge remote-tracking branches 'regulator/topic/bcm590xx', 'regulator/topic/da9052', 'regulator/topic/da9055', 'regulator/topic/da9063', 'regulator/topic/da9210', 'regulator/topic/db8500' and 'regulator/topic/dbx500' into regulator-next 2014-03-26 16:57:51 +00:00
da9210-regulator.c regulator: da9210: Remove redundant error message 2014-02-20 19:58:46 +09:00
da9210-regulator.h regulator: da9210: New driver 2013-08-06 17:46:15 +01:00
db8500-prcmu.c regulator: db8500-prcmu: Set 1.8V as a fixed voltage for vsmps2 2014-03-21 17:46:40 +00:00
dbx500-prcmu.c regulator: dbx500: use seq_puts() instead of seq_printf() 2014-03-19 10:19:49 +00:00
dbx500-prcmu.h regulator: dbx500-prcmu: Remove operating_point from struct dbx500_regulator_info 2013-04-02 23:05:28 +01:00
devres.c regulator: Constify the pointer to alias name array 2014-05-23 18:55:23 +01:00
dummy.c regulator: dummy: Should be always-on 2014-02-26 08:49:52 +09:00
dummy.h
fan53555.c regulator: fan53555: Remove redundant error message 2014-02-20 20:20:39 +09:00
fixed-helper.c regulator: extend the fixed dummy voltage regulator to accept voltage 2012-06-19 23:22:30 +01:00
fixed.c regulator: fixed: use of_property_read_{bool|u32}() 2014-05-26 16:19:36 +01:00
gpio-regulator.c regulator: gpio-regulator: fix forgotten gpios-states reading 2014-02-14 14:58:57 +00:00
helpers.c regulator: helpers: Modify helpers enabling multi-bit control 2014-03-06 17:30:10 +08:00
internal.h regulator: core: Split devres code out into a separate file 2013-09-17 00:28:45 +01:00
isl6271a-regulator.c regulator: isl6271a-regulator: Use devm_regulator_register 2013-09-17 00:28:42 +01:00
Kconfig regulator: Updates for v3.16 2014-06-03 11:44:48 -07:00
lp872x.c regulator: lp872x: Do not hardcode return values 2014-02-20 01:26:02 +09:00
lp3971.c regulator: lp3971: Do not hardcode return value 2014-02-20 01:28:12 +09:00
lp3972.c regulator: lp3972: Convert to devm_regulator_register 2013-11-24 14:02:18 +00:00
lp8755.c Merge remote-tracking branch 'regulator/topic/max8660' into regulator-next 2013-09-01 13:50:16 +01:00
lp8788-buck.c regulator: lp8788-buck: use devm_regulator_register() 2013-09-30 18:10:59 +01:00
lp8788-ldo.c regulator: lp8788-ldo: use devm_regulator_register() 2013-09-30 18:10:59 +01:00
ltc3589.c regulator: ltc3589: Remove ltc3589_list_voltage_fixed function 2014-05-27 12:06:35 +01:00
Makefile Merge remote-tracking branches 'regulator/topic/fixed', 'regulator/topic/id-const', 'regulator/topic/ltc3589', 'regulator/topic/max8649' and 'regulator/topic/of' into regulator-next 2014-06-02 17:08:05 +01:00
max1586.c regulator: max1586: Don't allocate memory for regulator_dev pointers 2014-03-10 10:24:28 +00:00
max8649.c regulator: max8649: remove unnecessary OOM messages 2014-06-02 15:12:16 +01:00
max8660.c regulator: max8660: Fix brace alignment 2014-03-19 12:47:06 +00:00
max8907-regulator.c regulator: max8907: Remove regulator_dev array from state container 2014-03-10 09:34:59 +00:00
max8925-regulator.c regulator: max8925: Silence checkpatch warning 2014-03-18 12:40:19 +00:00
max8952.c regulator: max8952: Make of_device_id array const 2014-05-07 20:56:47 +01:00
max8973-regulator.c regulator: max8973: Remove unused field from 'struct max8973_chip' 2014-03-10 09:36:42 +00:00
max8997.c regulator: max8997: Remove unnecessary **rdev from struct max8997_data 2014-03-10 10:11:15 +00:00
max8998.c regulator: max8998: Remove unnecessary **rdev from struct max8998_data 2014-03-10 10:12:13 +00:00
max14577.c regulator: max14577: Add support for MAX77836 regulators 2014-04-23 14:09:45 +01:00
max77686.c regulator: max77686: Remove regulator_dev array from state container 2014-03-10 09:29:01 +00:00
max77693.c regulator: max77693: Remove state container as it is not needed 2014-03-10 09:31:56 +00:00
mc13xxx-regulator-core.c regulator: mc13xxx: Fix probing with DT 2014-03-03 10:58:23 +09:00
mc13xxx.h regulator: mc13xxx: Add warning of incorrect names of regulators 2013-04-28 02:10:00 +01:00
mc13783-regulator.c Merge remote-tracking branch 'regulator/topic/mc13783' into regulator-next 2013-10-24 11:11:38 +01:00
mc13892-regulator.c Merge remote-tracking branches 'regulator/topic/db8500', 'regulator/topic/gpio', 'regulator/topic/lp3971', 'regulator/topic/lp3972', 'regulator/topic/max14577', 'regulator/topic/max77693', 'regulator/topic/mc13892', 'regulator/topic/pcf50633' and 'regulator/topic/pfuze100' into regulator-linus 2014-01-23 12:01:27 +00:00
of_regulator.c regulator: use of_property_read_{bool|u32}() 2014-06-01 11:56:23 +01:00
palmas-regulator.c regulator: palmas: Fix SMPS enable/disable/is_enabled 2014-06-21 11:22:09 +01:00
pbias-regulator.c regulator: pbias: remove unnecessary OOM messages 2014-06-02 15:14:51 +01:00
pcap-regulator.c regulator: pcap: use devm_regulator_register() 2013-09-30 18:11:00 +01:00
pcf50633-regulator.c mfd: pcf50633: Correct device name for pcf50633 regulator 2013-12-02 17:58:58 +00:00
pfuze100-regulator.c regulator: pfuze100: Support enable/disable for fixed regulator 2014-05-27 12:25:57 +01:00
rc5t583-regulator.c regulator: rc5t583: Remove redundant error message 2014-02-20 20:26:05 +09:00
s2mpa01.c Merge remote-tracking branches 'regulator/topic/palmas', 'regulator/topic/pbias', 'regulator/topic/pfuze100', 'regulator/topic/s2mpa01' and 'regulator/topic/s2mps11' into regulator-next 2014-06-02 17:08:08 +01:00
s2mps11.c regulator: s2mps11: Fix accidental enable of buck6 ramp delay 2014-05-17 14:29:26 +01:00
s5m8767.c regulator: s5m8767: Allow GPIO 0 to be used as external control 2014-05-01 10:50:38 -07:00
st-pwm.c regulator: st-pwm: Make of_device_id array const 2014-05-07 20:56:09 +01:00
stw481x-vmmc.c regulator: stw481x-vmmc: use devm_regulator_register() 2013-12-09 17:26:29 +00:00
ti-abb-regulator.c regulator: ti-abb: Remove redundant error message 2014-02-19 22:06:52 +09:00
tps6105x-regulator.c Merge remote-tracking branch 'regulator/topic/tps6105x' into regulator-next 2013-10-24 11:11:41 +01:00
tps6507x-regulator.c regulator: tps6507x: Remove redundant error message 2014-02-20 20:53:09 +09:00
tps6524x-regulator.c regulator: tps6524x: Remove redundant error message 2014-02-20 20:54:59 +09:00
tps6586x-regulator.c regulator: tps6586x: Remove unused to_tps6586x_dev() function 2014-05-27 12:04:39 +01:00
tps51632-regulator.c regulator: tps51632: Remove redundant error message 2014-02-20 20:50:01 +09:00
tps62360-regulator.c regulator: tps62360: Remove redundant error message 2014-02-20 20:51:08 +09:00
tps65023-regulator.c Merge remote-tracking branch 'regulator/topic/tps65023' into regulator-next 2013-10-24 11:11:42 +01:00
tps65090-regulator.c regulator: tps65090: Fix tps65090 crash on Tegra Dalmore 2014-05-02 09:33:30 -07:00
tps65217-regulator.c regulator: tps65217: Use regulator_map_voltage_ascend for LDO1 2014-04-18 17:21:00 +01:00
tps65218-regulator.c regulator: tps65218: Convert to use regulator_set_voltage_time_sel 2014-05-26 17:03:06 +01:00
tps65910-regulator.c regulator: tps65910: Remove redundant error message 2014-02-20 21:01:27 +09:00
tps65912-regulator.c Merge remote-tracking branch 'regulator/topic/linear' into regulator-next 2013-10-24 11:11:37 +01:00
tps80031-regulator.c regulator: tps80031: remove unnecessary parentheses 2014-03-05 12:33:18 +08:00
twl-regulator.c regulator: twl: Fix checkpatch issue 2014-01-08 17:16:07 +00:00
userspace-consumer.c regulator: use dev_get_platdata() 2013-07-30 12:24:20 +01:00
vexpress.c regulator: Updates for v3.16 2014-06-03 11:44:48 -07:00
virtual.c drivers/regulator/virtual: avoid world-writable sysfs files. 2014-05-14 10:53:55 +09:30
wm831x-dcdc.c regulator: wm831x-dcdc: Remove redundant error message 2014-02-20 21:03:14 +09:00
wm831x-isink.c regulator: wm831x-isink: Remove redundant error message 2014-02-20 21:03:16 +09:00
wm831x-ldo.c regulator: wm831x-ldo: Remove redundant error message 2014-02-20 21:03:17 +09:00
wm8350-regulator.c regulator: wm8350: Do not hardcode return value 2014-02-19 13:24:12 +09:00
wm8400-regulator.c Merge remote-tracking branch 'regulator/topic/linear' into regulator-next 2013-10-24 11:11:37 +01:00
wm8994-regulator.c regulator: wm8994: Remove redundant error message 2014-02-20 21:05:39 +09:00