linux/drivers/regulator
Oleksij Rempel c29daffa32
regulator: pfuze100-regulator: provide pm_power_off_prepare handler
On some boards the SoC can use one pin "PMIC_STBY_REQ" to notify th PMIC
about state changes. In this case internal state of PMIC must be
preconfigured for upcomming state change.
It works fine with the current regulator framework, except with the
power-off case.

This patch is providing an optional pm_power_off_prepare handler
which will configure standby state of the PMIC to disable all power lines.

In my power consumption test on RIoTBoard, I got the following results:
power off without this patch:	320 mA
power off with this patch:	2   mA
suspend to ram:			40  mA

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-09-11 16:15:57 +01:00
..
88pg86x.c regulator: 88pg86x: new i2c dual regulator chip 2018-03-09 13:01:17 +00:00
88pm800.c regulator: 88pm800: constify regulator_ops structures 2017-01-31 20:32:26 +00:00
88pm8607.c regulator: 88pm8607: constify regulator_ops structure 2017-01-31 20:32:53 +00:00
aat2870-regulator.c regulator: aat2870-regulator: constify regulator_ops structure 2017-01-31 20:35:49 +00:00
ab3100.c
ab8500-ext.c ARM: ux500: move ab8500_regulator_plat_data into driver 2016-07-12 11:23:50 +02:00
ab8500.c regulator: ab8500: Drop AB8540/9540 support 2018-04-16 13:08:59 +01:00
act8865-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
act8945a-regulator.c regulator: act8945a-regulator: constify regulator_ops structure 2017-01-31 20:36:10 +00:00
ad5398.c regulator: ad5398: constify regulator_ops structure 2017-01-31 20:38:27 +00:00
anatop-regulator.c regulator: anatop: Switch to SPDX identifier 2018-05-24 15:17:07 +01:00
arizona-ldo1.c regulator: arizona-ldo1: Use correct device to get enable GPIO 2018-06-19 16:12:01 +01:00
arizona-micsupp.c regulator: arizona-micsupp: Factor out generic initialization 2017-04-25 16:36:31 +01:00
as3711-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
as3722-regulator.c regulator: as3722: Constify regulator ops 2016-04-11 15:15:36 +01:00
axp20x-regulator.c regulator: axp20x: add drivevbus support for axp803 2018-04-23 15:46:12 +01:00
bcm590xx-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
bd9571mwv-regulator.c regulator: bd9571mwv: Make symbol 'dev_attr_backup_mode' static 2018-07-24 11:58:37 +01:00
bd71837-regulator.c regulator: bd71837: adobt MFD changes to regulator driver 2018-07-30 14:24:20 +01:00
core.c regulator: core: Link consumer with regulator driver 2018-07-05 18:55:20 +01:00
cpcap-regulator.c regulator: Add support for CPCAP regulators on Motorola Xoom devices. 2018-07-24 15:37:08 +01:00
da903x.c regulator: da9*: constify regulator_ops structures 2015-12-22 23:59:57 +00:00
da9052-regulator.c regulator: da9053/52: Fix incorrectly stated minimum and maximum voltage limits 2016-07-20 17:00:34 +01:00
da9055-regulator.c regulator: da9055: Pass descriptor instead of GPIO number 2018-02-16 17:05:45 +00:00
da9062-regulator.c regulator: da9061: BUCK and LDO regulator driver 2017-06-07 19:47:24 +01:00
da9063-regulator.c regulator: da9063: Handle less LDOs on DA9063L 2018-07-04 07:17:08 +01:00
da9210-regulator.c regulator: da9210: addition of device tree support 2016-07-15 11:45:26 +01:00
da9210-regulator.h
da9211-regulator.c regulator: da9211: Pass descriptors instead of GPIO numbers 2018-02-16 17:05:52 +00:00
da9211-regulator.h regulator: da9211: update for supporting da9223/4/5 2017-10-31 11:01:14 +00:00
db8500-prcmu.c
dbx500-prcmu.c regulator: dbx500: remove unused functions in dbx500-prcmu.c 2016-09-26 09:40:22 -07:00
dbx500-prcmu.h
devres.c regulator: core: optimize devm_regulator_bulk_get() 2017-02-04 11:37:25 +01:00
dummy.c
dummy.h
fan53555.c regulator: fan53555: fix I2C device ids 2017-08-21 16:57:53 +01:00
fixed-helper.c regulator: gpio: Revert 2018-06-07 14:23:08 +01:00
fixed.c regulator: gpio: Revert 2018-06-07 14:23:08 +01:00
gpio-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
helpers.c regulator: helpers: Add regmap set_pull_down helper 2017-04-06 19:29:37 +01:00
hi655x-regulator.c Merge remote-tracking branches 'regulator/topic/helpers', 'regulator/topic/hi655x', 'regulator/topic/lm363x', 'regulator/topic/ltc3589' and 'regulator/topic/ltc3676' into regulator-next 2017-04-30 22:17:31 +09:00
hi6421-regulator.c regulator: hi6421: Describe consumed platform device 2017-06-07 20:25:49 +01:00
hi6421v530-regulator.c regulator: hi6421v530: Describe consumed platform device 2017-06-14 18:27:20 +01:00
internal.h regulator: core: Parse coupled regulators properties 2018-05-17 16:05:48 +09:00
isl6271a-regulator.c regulator: drivers: Drop owner assignment from i2c_driver 2015-07-14 18:53:01 +01:00
isl9305.c Merge remote-tracking branches 'regulator/topic/mt6311', 'regulator/topic/ocp', 'regulator/topic/owner', 'regulator/topic/pfuze100' and 'regulator/topic/pwm' into regulator-next 2015-08-30 14:39:48 +01:00
Kconfig regulator: add QCOM RPMh regulator driver 2018-08-10 17:30:29 +01:00
lm363x-regulator.c regulator: lm363x: Pass descriptor instead of GPIO number 2018-05-24 16:50:28 +01:00
lp872x.c regulator: lp872x: Add enable GPIO pin support 2016-02-05 18:57:09 +00:00
lp873x-regulator.c regulator: lp873x: Add support for populating input supply 2016-11-11 15:36:38 +00:00
lp3971.c regulator: lp3971: Silence uninitialized variable warning 2016-04-14 14:46:05 +01:00
lp3972.c regulator: lp3972: Silence uninitialized variable warning 2016-04-14 14:46:19 +01:00
lp8755.c regulator: lp8755: fix spelling mistake "acceess" -> "access" 2017-05-19 17:56:37 +01:00
lp8788-buck.c regulator: lp8788: constify regulator_ops structures 2015-12-23 00:01:23 +00:00
lp8788-ldo.c regulator: lp8788-ldo: Pass descriptor instead of GPIO number 2018-05-24 16:50:31 +01:00
lp87565-regulator.c regulator: lp87565: Enable LP87565_BUCK_CTRL_1_FPWM_MP_0_2 2018-04-17 10:57:21 +01:00
ltc3589.c regulator: ltc3589: constify i2c_device_id 2017-08-21 18:10:42 +01:00
ltc3676.c regulator: ltc3676: Assure PGOOD mask is set before changing voltage 2018-05-02 06:00:20 +09:00
Makefile regulator: add QCOM RPMh regulator driver 2018-08-10 17:30:29 +01:00
max1586.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
max8649.c
max8660.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
max8907-regulator.c regulator: max8907-regulator: constify regulator_ops structure 2017-01-31 20:54:26 +00:00
max8925-regulator.c regulator: max8925-regulator: constify regulator_ops structure 2017-01-31 20:54:41 +00:00
max8952.c regulator: max8952: Pass descriptor instead of GPIO number 2018-05-24 16:50:36 +01:00
max8973-regulator.c regulator: max8973: Pass descriptor instead of GPIO number 2018-05-24 16:50:25 +01:00
max8997-regulator.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max8998.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max14577-regulator.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max77620-regulator.c regulator: max77620-regulator: constify regulator_ops structure 2017-01-31 20:52:52 +00:00
max77686-regulator.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max77693-regulator.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max77802-regulator.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
mc13xxx-regulator-core.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
mc13xxx.h
mc13783-regulator.c regulator: Updates for v4.18 2018-06-08 13:08:57 -07:00
mc13892-regulator.c regulator: Updates for v4.18 2018-06-08 13:08:57 -07:00
mt6311-regulator.c regulator: mt6311: Use REGCACHE_RBTREE 2015-12-18 12:14:27 +00:00
mt6311-regulator.h regulator: mt6311: Add support for mt6311 regulator 2015-07-24 12:30:49 +01:00
mt6323-regulator.c regulator: mt6323: Constify struct regulator_ops 2016-07-19 18:31:59 +01:00
mt6380-regulator.c regulator: mt6380: Add support for MT6380 2017-08-15 12:50:48 +01:00
mt6397-regulator.c regulator: mt6397: Add buck change mode regulator interface for mt6397 2016-05-30 16:29:43 +01:00
of_regulator.c regulator: core: Parse coupled regulators properties 2018-05-17 16:05:48 +09:00
palmas-regulator.c Merge remote-tracking branches 'regulator/topic/settle', 'regulator/topic/tps65910' and 'regulator/topic/tps65917' into regulator-next 2017-07-03 16:52:21 +01:00
pbias-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
pcap-regulator.c regulator: pcap-regulator: constify regulator_ops structure 2017-01-31 20:57:31 +00:00
pcf50633-regulator.c regulator: pcf50633-regulator: constify regulator_ops structure 2017-01-31 20:58:15 +00:00
pfuze100-regulator.c regulator: pfuze100-regulator: provide pm_power_off_prepare handler 2018-09-11 16:15:57 +01:00
pv88060-regulator.c regulator: pv88060-regulator: constify regulator_ops structure 2017-01-31 20:58:46 +00:00
pv88060-regulator.h regulator: pv88060: new regulator driver 2015-11-20 18:06:15 +00:00
pv88080-regulator.c regulator: pv88080-regulator: constify regulator_ops structure 2017-01-31 20:59:01 +00:00
pv88080-regulator.h regulator: pv88080: Update regulator for PV88080 BB silicon support 2016-09-26 08:59:08 -07:00
pv88090-regulator.c regulator: pv88090: Exception handling for out of bounds 2017-08-30 16:12:17 +01:00
pv88090-regulator.h regulator: pv88090: Exception handling for out of bounds 2017-08-30 16:12:17 +01:00
pwm-regulator.c regulator: pwm-regulator: Remove unneeded gpiod NULL check 2017-07-24 16:26:35 +01:00
qcom_rpm-regulator.c regulator: qcom_rpm-regulator: add NULL check on of_match_device() return value 2017-07-07 13:42:03 +01:00
qcom_smd-regulator.c Merge remote-tracking branch 'regulator/topic/qcom_smd' into regulator-next 2018-03-28 10:33:51 +08:00
qcom_spmi-regulator.c regulator: qcom_spmi: Indent with tabs instead of spaces 2018-07-20 17:40:57 +01:00
qcom-rpmh-regulator.c regulator: add QCOM RPMh regulator driver 2018-08-10 17:30:29 +01:00
rc5t583-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
rk808-regulator.c regulator: rk808: Add regulator driver for RK805 2017-08-21 08:54:12 +01:00
rn5t618-regulator.c regulator: rn5t618: Do not index regulator_desc arrays by id 2017-10-18 11:23:21 +01:00
rt5033-regulator.c
s2mpa01.c regulator: samsung: Add SPDX license identifiers 2018-08-08 10:52:54 +01:00
s2mps11.c regulator: samsung: Add SPDX license identifiers 2018-08-08 10:52:54 +01:00
s5m8767.c regulator: samsung: Add SPDX license identifiers 2018-08-08 10:52:54 +01:00
sc2731-regulator.c regulator: sc2731: Fix defines for SC2731_WR_UNLOCK and SC2731_PWR_WR_PROT_VALUE 2018-01-03 12:10:14 +00:00
sky81452-regulator.c
stm32-vrefbuf.c regulator: stm32-vrefbuf: fix check on ready flag 2018-02-08 15:28:35 +00:00
stw481x-vmmc.c regulator: stw481x-vmmc: fix ages old enable error 2016-11-13 09:22:37 +00:00
sy8106a-regulator.c regulator: add support for SY8106A regulator 2018-05-09 18:25:06 +09:00
ti-abb-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
tps6105x-regulator.c regulator: tps6105x: Convert to use regmap helper functions 2015-11-18 13:19:47 +00:00
tps6507x-regulator.c regulator: tps6507x: Drop pointless static qualifier for *reg_data variable 2016-10-24 17:49:14 +01:00
tps6524x-regulator.c regulator: tps6524x: Fix broken use of spi_dev_get() 2016-04-20 17:37:59 +01:00
tps6586x-regulator.c regulator: tps6586x: Add support for TPS658624 2018-04-20 11:44:34 +01:00
tps51632-regulator.c regulator: tps51632: Fix setting ramp delay 2016-05-31 16:38:01 +01:00
tps62360-regulator.c regulator: drivers: Drop owner assignment from i2c_driver 2015-07-14 18:53:01 +01:00
tps65023-regulator.c regulator: tps65023: Fix inverted core enable logic. 2017-04-18 18:55:05 +01:00
tps65086-regulator.c regulator: tps65086: Fix DT node referencing in of_parse_cb 2017-02-13 18:04:28 +00:00
tps65090-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
tps65132-regulator.c regulator: tps65132: fix platform_no_drv_owner.cocci warnings 2017-04-14 17:59:32 +01:00
tps65217-regulator.c regulator: tps65217: Fix NULL pointer dereference on probe 2018-07-30 09:41:04 +01:00
tps65218-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
tps65910-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
tps65912-regulator.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
tps80031-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
twl6030-regulator.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
twl-regulator.c regulator: Don't return or expect -errno from of_map_mode() 2018-04-20 12:45:36 +01:00
uniphier-regulator.c regulator: uniphier: add regulator driver for UniPhier SoC 2018-07-11 10:30:32 +01:00
userspace-consumer.c
vctrl-regulator.c regulator: vctrl: Fix out of bounds array access for vctrl->vtable 2017-04-14 18:01:03 +01:00
vexpress-regulator.c regulator: vexpress: rename vexpress regulator implementation 2016-02-15 21:01:52 +00:00
virtual.c
wm831x-dcdc.c Merge remote-tracking branch 'regulator/topic/wm831x' into regulator-next 2016-01-12 18:26:12 +00:00
wm831x-isink.c regulator: wm8*: constify regulator_ops structures 2015-12-23 00:00:00 +00:00
wm831x-ldo.c Merge remote-tracking branch 'regulator/topic/wm831x' into regulator-next 2016-01-12 18:26:12 +00:00
wm8350-regulator.c regulator: wm8350: fix missing increment of loop index i 2018-04-23 12:26:05 +01:00
wm8400-regulator.c regulator: wm8*: constify regulator_ops structures 2015-12-23 00:00:00 +00:00
wm8994-regulator.c regulator: wm8994: Fix shared GPIOs 2018-05-30 15:17:03 +01:00