linux-stable/drivers/regulator
Bjorn Andersson fd805d9935
regulator: qcom-smd: Batch up requests for disabled regulators
In some scenarios the early stages of the boot chain has configured
regulators to be in a required state, but the later stages has skipped
to inform the RPM about it's requirements.

But as the SMD RPM regulators are being initialized voltage change
requests will be issued to align the voltage with the valid ranges. The
RPM aggregates all parameters for the specific regulator, the voltage
will be adjusted and the "enabled" state will be "off" - and the
regulator is turned off.

This patch addresses this problem by caching the requested enable state,
voltage and load and send the parameters in a batch, depending on the
enable state - effectively delaying the voltage request for disabled
regulators.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-01-22 19:15:37 +00: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: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
Kconfig regulator: Fix trivial language typos 2019-01-08 13:04:47 +00:00
Makefile regulator: mcp16502: add regulator driver for MCP16502 2018-12-13 12:19:04 +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
ab8500.c regulator: ab8500: Drop AB8540/9540 support 2018-04-16 13:08:59 +01:00
act8865-regulator.c regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting 2019-01-14 11:50:42 +00:00
act8945a-regulator.c regulator: act8945a: Use rdev_get_id() to access id of regulator 2019-01-07 17:01:26 +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: Convert to use regulator_linear_range for ldo1_hc 2019-01-22 17:24:22 +00:00
arizona-micsupp.c regulator: arizona-micsupp: Factor out generic initialization 2017-04-25 16:36:31 +01:00
as3711-regulator.c regulator: as3711: convert to SPDX identifiers 2018-11-13 16:21:50 -08:00
as3722-regulator.c
axp20x-regulator.c regulator: axp20x: check rdev is null before dereferencing it 2019-01-09 15:50:09 +00:00
bcm590xx-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
bd718x7-regulator.c Merge branch 'for-linus' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-4.21 2018-12-11 20:44:49 +00:00
bd9571mwv-regulator.c regulator: bd9571mwv: convert to SPDX identifiers 2018-11-13 16:21:49 -08:00
core.c regulator: provide rdev_get_regmap() 2019-01-09 18:36:44 +00:00
cpcap-regulator.c regulator: Add support for CPCAP regulators on Motorola Xoom devices. 2018-07-24 15:37:08 +01:00
da903x.c
da9052-regulator.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
da9055-regulator.c regulator: da905{2,5}: Remove unnecessary array check 2018-09-20 18:28:09 -07: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: core: Use ww_mutex for regulators locking 2018-11-19 12:33:17 +00:00
da9210-regulator.h
da9211-regulator.c regulator: da9211: Hand over GPIO to regulator core 2018-12-11 01:04:37 +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: convert to DEFINE_SHOW_ATTRIBUTE 2018-12-20 14:38:42 +00: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: fixed: Convert to use GPIO descriptor only 2018-09-17 14:32:22 -07:00
fixed.c regulator: fixed: Let core handle GPIO descriptor 2018-12-11 01:03:40 +00:00
gpio-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
helpers.c regulator/mfd: Support for the ROHM BD71847 2018-09-28 15:07:30 +01:00
hi655x-regulator.c regulator: hi655x: Removed unused ctrl_regs field from struct hi655x_regulator 2019-01-14 11:44:09 +00: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: Only count load for enabled consumers 2018-11-22 14:38:00 +00:00
isl6271a-regulator.c
isl9305.c regulator: isl9305: Add missing .owner field in regulator_desc 2018-08-28 19:41:36 +01:00
lm363x-regulator.c regulator: lm363x: Let core handle GPIO descriptor 2018-12-11 01:03:49 +00:00
lochnagar-regulator.c regulator: lochnagar: Add missing MODULE_DEVICE_TABLE 2019-01-18 18:02:25 +00:00
lp872x.c
lp873x-regulator.c regulator: lp873x: Add support for populating input supply 2016-11-11 15:36:38 +00:00
lp3971.c
lp3972.c
lp8755.c regulator: Fix trivial language typos 2019-01-08 13:04:47 +00:00
lp8788-buck.c
lp8788-ldo.c regulator: lp8788-ldo: Let core handle GPIO descriptor 2018-12-11 01:03:54 +00: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 regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +01:00
ltc3676.c regmap: split up regmap_config.use_single_rw 2018-09-07 13:03:55 +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: Let core handle GPIO descriptor 2018-12-11 01:03:59 +00:00
max8973-regulator.c regulator: max8973: Let core handle GPIO descriptor 2018-12-11 01:04:31 +00:00
max8997-regulator.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
max8998.c regulator: maxim: Add SPDX license identifiers 2018-08-08 10:52:50 +01:00
max14577-regulator.c regulator: max14577: Remove redundant MODULE_ALIAS 2019-01-14 11:46:13 +00:00
max77620-regulator.c regulator: max77620-regulator: constify regulator_ops structure 2017-01-31 20:52:52 +00:00
max77686-regulator.c regulator: max77686: Let core handle GPIO descriptor 2018-12-11 01:04:08 +00: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 regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00: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
mcp16502.c regulator: mcp16502: Fix missing n_voltages setting 2018-12-20 14:38:27 +00:00
mt6311-regulator.c
mt6311-regulator.h
mt6323-regulator.c
mt6380-regulator.c regulator: mt6380: Add support for MT6380 2017-08-15 12:50:48 +01:00
mt6397-regulator.c
of_regulator.c regulator: Fix trivial language typos 2019-01-08 13:04:47 +00:00
palmas-regulator.c drivers/regulator: fix a missing check of return value 2018-12-19 12:37:52 +00: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: add coin support to PF0100 2018-11-06 17:27:46 +00:00
pv88060-regulator.c regulator: pv88060-regulator: constify regulator_ops structure 2017-01-31 20:58:46 +00:00
pv88060-regulator.h
pv88080-regulator.c regulator: pv88080-regulator: constify regulator_ops structure 2017-01-31 20:59:01 +00:00
pv88080-regulator.h
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: No need to make a copy of regulator_ops per instance 2019-01-14 11:46:05 +00:00
qcom-rpmh-regulator.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00: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 regulator: qcom-smd: Batch up requests for disabled regulators 2019-01-22 19:15:37 +00:00
qcom_spmi-regulator.c regulator: qcom_spmi: Indent with tabs instead of spaces 2018-07-20 17:40:57 +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: s2mps11: Hand over GPIO to regulator core 2018-12-11 01:05:00 +00:00
s5m8767.c regulator: s5m8767: Hand over GPIO to regulator core 2018-12-11 01:04:43 +00: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
stpmic1_regulator.c regulator: stpmic1: fix regulator_lock usage 2018-12-03 11:39:24 +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
tps6507x-regulator.c regulator: tps6507x: Drop pointless static qualifier for *reg_data variable 2016-10-24 17:49:14 +01:00
tps6524x-regulator.c
tps6586x-regulator.c regulator: tps6586x: Add support for TPS658624 2018-04-20 11:44:34 +01:00
tps51632-regulator.c
tps62360-regulator.c
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 regulator: tps65090: Hand over GPIO to regulator core 2018-12-11 01:04:56 +00: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 regulator: tps65910: fix a missing check of return value 2018-12-21 11:04:59 +00: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
twl-regulator.c regulator: twl: Use of_device_get_match_data() 2019-01-22 17:26:16 +00:00
twl6030-regulator.c regulator: twl6030: Use of_device_get_match_data() 2019-01-14 11:50:41 +00: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
virtual.c
wm831x-dcdc.c regulator: wm831x-dcdc: Convert to use regulator_linear_range for wm831x_buckv 2019-01-22 17:26:24 +00:00
wm831x-isink.c
wm831x-ldo.c
wm8350-regulator.c regulator: core: Use ww_mutex for regulators locking 2018-11-19 12:33:17 +00:00
wm8400-regulator.c
wm8994-regulator.c regulator: wm8994: Rely on core to handle GPIO descriptor 2018-12-12 16:47:10 +00:00