mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-26 18:43:33 -05:00
76f439df50
Most drivers do not set the ena_gpio field of struct regulator_config before passing it to the regulator core. This is fine as long as the gpio identifier that is passed is a positive integer. But the gpio identifier 0 is also valid. So we are not able to decide wether we got a real gpio identifier or not based on a 0 in ena_gpio. To be able to decide if it is a valid gpio that got passed, this patch adds a ena_gpio_initialized field that should be set if was initialized with a correct value, either a gpio >= 0 or a negative error number. The core then checks if ena_gpio or ena_gpio_initialized before handling it as a gpio. This way we maintain backwards compatibility and fix the behaviour for gpio number 0. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org> |
||
---|---|---|
.. | ||
88pm800.c | ||
88pm8607.c | ||
aat2870-regulator.c | ||
ab3100.c | ||
ab8500-ext.c | ||
ab8500.c | ||
act8865-regulator.c | ||
ad5398.c | ||
anatop-regulator.c | ||
arizona-ldo1.c | ||
arizona-micsupp.c | ||
as3711-regulator.c | ||
as3722-regulator.c | ||
axp20x-regulator.c | ||
bcm590xx-regulator.c | ||
core.c | ||
da903x.c | ||
da9052-regulator.c | ||
da9055-regulator.c | ||
da9063-regulator.c | ||
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 | ||
fixed-helper.c | ||
fixed.c | ||
gpio-regulator.c | ||
helpers.c | ||
hi6421-regulator.c | ||
internal.h | ||
isl6271a-regulator.c | ||
isl9305.c | ||
Kconfig | ||
lp872x.c | ||
lp3971.c | ||
lp3972.c | ||
lp8755.c | ||
lp8788-buck.c | ||
lp8788-ldo.c | ||
ltc3589.c | ||
Makefile | ||
max1586.c | ||
max8649.c | ||
max8660.c | ||
max8907-regulator.c | ||
max8925-regulator.c | ||
max8952.c | ||
max8973-regulator.c | ||
max8997.c | ||
max8998.c | ||
max14577.c | ||
max77686.c | ||
max77693.c | ||
max77802.c | ||
mc13xxx-regulator-core.c | ||
mc13xxx.h | ||
mc13783-regulator.c | ||
mc13892-regulator.c | ||
of_regulator.c | ||
palmas-regulator.c | ||
pbias-regulator.c | ||
pcap-regulator.c | ||
pcf50633-regulator.c | ||
pfuze100-regulator.c | ||
pwm-regulator.c | ||
qcom_rpm-regulator.c | ||
rc5t583-regulator.c | ||
rk808-regulator.c | ||
rn5t618-regulator.c | ||
s2mpa01.c | ||
s2mps11.c | ||
s5m8767.c | ||
sky81452-regulator.c | ||
stw481x-vmmc.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 | ||
tps65090-regulator.c | ||
tps65217-regulator.c | ||
tps65218-regulator.c | ||
tps65910-regulator.c | ||
tps65912-regulator.c | ||
tps80031-regulator.c | ||
twl-regulator.c | ||
userspace-consumer.c | ||
vexpress.c | ||
virtual.c | ||
wm831x-dcdc.c | ||
wm831x-isink.c | ||
wm831x-ldo.c | ||
wm8350-regulator.c | ||
wm8400-regulator.c | ||
wm8994-regulator.c |