linux-xiaomi-chiron/drivers/regulator
Oliver Barta 4e2a354e37
regulator: core: fix false positive in regulator_late_cleanup()
The check done by regulator_late_cleanup() to detect whether a regulator
is on was inconsistent with the check done by _regulator_is_enabled().
While _regulator_is_enabled() takes the enable GPIO into account,
regulator_late_cleanup() was not doing that.

This resulted in a false positive, e.g. when a GPIO-controlled fixed
regulator was used, which was not enabled at boot time, e.g.

reg_disp_1v2: reg_disp_1v2 {
	compatible = "regulator-fixed";
	regulator-name = "display_1v2";
	regulator-min-microvolt = <1200000>;
	regulator-max-microvolt = <1200000>;
	gpio = <&tlmm 148 0>;
	enable-active-high;
};

Such regulator doesn't have an is_enabled() operation. Nevertheless
it's state can be determined based on the enable GPIO. The check in
regulator_late_cleanup() wrongly assumed that the regulator is on and
tried to disable it.

Signed-off-by: Oliver Barta <oliver.barta@aptiv.com>
Link: https://lore.kernel.org/r/20220208084645.8686-1-oliver.barta@aptiv.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-02-08 13:37:48 +00:00
..
88pg86x.c
88pm800-regulator.c
88pm8607.c
aat2870-regulator.c
ab8500-ext.c
ab8500.c
act8865-regulator.c
act8945a-regulator.c
ad5398.c
anatop-regulator.c
arizona-ldo1.c
arizona-micsupp.c
as3711-regulator.c
as3722-regulator.c
atc260x-regulator.c
axp20x-regulator.c
bcm590xx-regulator.c
bd718x7-regulator.c regulator: bd718x7: Use rohm generic restricted voltage setting 2021-11-18 13:57:49 +00:00
bd9571mwv-regulator.c
bd9576-regulator.c
bd71815-regulator.c
bd71828-regulator.c
core.c regulator: core: fix false positive in regulator_late_cleanup() 2022-02-08 13:37:48 +00:00
cpcap-regulator.c
cros-ec-regulator.c
da903x-regulator.c
da9052-regulator.c
da9055-regulator.c
da9062-regulator.c
da9063-regulator.c
da9121-regulator.c regulator: da9121: Add DA914x support 2021-11-30 13:08:18 +00:00
da9121-regulator.h regulator: da9121: Add DA914x support 2021-11-30 13:08:18 +00:00
da9210-regulator.c
da9210-regulator.h
da9211-regulator.c
da9211-regulator.h
db8500-prcmu.c
dbx500-prcmu.c
dbx500-prcmu.h
devres.c
dummy.c
dummy.h
fan53555.c
fan53880.c
fixed-helper.c
fixed.c
gpio-regulator.c
helpers.c
hi655x-regulator.c
hi6421-regulator.c
hi6421v530-regulator.c
hi6421v600-regulator.c
internal.h
irq_helpers.c regulator: irq_helper: Provide helper for trivial IRQ notifications 2021-11-24 12:57:30 +00:00
isl6271a-regulator.c
isl9305.c
Kconfig regulator: Add MAX20086-MAX20089 driver 2022-01-07 13:36:35 +00:00
lm363x-regulator.c
lochnagar-regulator.c
lp872x.c
lp873x-regulator.c
lp3971.c
lp3972.c
lp8755.c
lp8788-buck.c
lp8788-ldo.c
lp87565-regulator.c
ltc3589.c
ltc3676.c
Makefile regulator: Add MAX20086-MAX20089 driver 2022-01-07 13:36:35 +00:00
max1586.c
max8649.c
max8660.c
max8893.c
max8907-regulator.c
max8925-regulator.c
max8952.c
max8973-regulator.c
max8997-regulator.c
max8998.c
max14577-regulator.c
max20086-regulator.c regulator: MAX20086: add gpio/consumer.h 2022-01-19 16:47:39 +00:00
max77620-regulator.c
max77650-regulator.c
max77686-regulator.c
max77693-regulator.c
max77802-regulator.c
max77826-regulator.c
mc13xxx-regulator-core.c
mc13xxx.h
mc13783-regulator.c
mc13892-regulator.c
mcp16502.c
mp886x.c
mp5416.c
mp8859.c
mpq7920.c
mpq7920.h
mt6311-regulator.c
mt6311-regulator.h
mt6315-regulator.c
mt6323-regulator.c
mt6358-regulator.c
mt6359-regulator.c
mt6360-regulator.c
mt6380-regulator.c regulator: remove redundant ret variable 2022-01-04 15:00:39 +00:00
mt6397-regulator.c
mtk-dvfsrc-regulator.c
of_regulator.c
palmas-regulator.c
pbias-regulator.c
pca9450-regulator.c
pcap-regulator.c
pcf50633-regulator.c
pf8x00-regulator.c
pfuze100-regulator.c
pv88060-regulator.c
pv88060-regulator.h
pv88080-regulator.c
pv88080-regulator.h
pv88090-regulator.c
pv88090-regulator.h
pwm-regulator.c
qcom-labibb-regulator.c regulator: qcom-labibb: OCP interrupts are not a failure while disabled 2021-12-24 14:07:02 +00:00
qcom-rpmh-regulator.c regulator: qcom-rpmh: Add support for PM8450 regulators 2021-12-01 14:15:43 +00:00
qcom_rpm-regulator.c
qcom_smd-regulator.c regulator: qcom_smd: Align probe function with rpmh-regulator 2022-01-06 13:55:57 +00:00
qcom_spmi-regulator.c regulator: qcom_spmi: Add pm8226 regulators 2021-11-26 13:24:35 +00:00
qcom_usb_vbus-regulator.c
rc5t583-regulator.c
rk808-regulator.c
rn5t618-regulator.c
rohm-regulator.c regulator: rohm-regulator: add helper for restricted voltage setting 2021-11-18 13:57:47 +00:00
rpi-panel-attiny-regulator.c
rt4801-regulator.c
rt4831-regulator.c
rt5033-regulator.c
rt6160-regulator.c
rt6245-regulator.c
rtmv20-regulator.c
rtq2134-regulator.c
rtq6752-regulator.c
s2mpa01.c
s2mps11.c
s5m8767.c
sc2731-regulator.c
scmi-regulator.c
sky81452-regulator.c
slg51000-regulator.c
slg51000-regulator.h
stm32-booster.c
stm32-pwr.c
stm32-vrefbuf.c
stpmic1_regulator.c
stw481x-vmmc.c
sy7636a-regulator.c
sy8106a-regulator.c
sy8824x.c
sy8827n.c
ti-abb-regulator.c
tps6105x-regulator.c
tps6507x-regulator.c
tps6524x-regulator.c
tps6586x-regulator.c
tps51632-regulator.c
tps62360-regulator.c
tps65023-regulator.c
tps65086-regulator.c
tps65090-regulator.c
tps65132-regulator.c
tps65217-regulator.c
tps65218-regulator.c
tps65910-regulator.c
tps65912-regulator.c
tps68470-regulator.c regulator: Introduce tps68470-regulator driver 2021-12-15 22:16:53 +00:00
twl-regulator.c drivers/regulator: remove redundant ret variable 2021-12-13 19:35:43 +00:00
twl6030-regulator.c
uniphier-regulator.c
userspace-consumer.c
vctrl-regulator.c
vexpress-regulator.c
virtual.c
vqmmc-ipq4019-regulator.c
wm831x-dcdc.c
wm831x-isink.c
wm831x-ldo.c
wm8350-regulator.c
wm8400-regulator.c
wm8994-regulator.c