linux/drivers/regulator
Waibel Georg 025bf37725
gpio: Fix return value mismatch of function gpiod_get_from_of_node()
In case the requested gpio property is not found in the device tree, some
callers of gpiod_get_from_of_node() expect a return value of NULL, others
expect -ENOENT.
In particular devm_fwnode_get_index_gpiod_from_child() expects -ENOENT.
Currently it gets a NULL, which breaks the loop that tries all
gpio_suffixes. The result is that a gpio property is not found, even
though it is there.

This patch changes gpiod_get_from_of_node() to return -ENOENT instead
of NULL when the requested gpio property is not found in the device
tree. Additionally it modifies all calling functions to properly
evaluate the return value.

Another approach would be to leave the return value of
gpiod_get_from_of_node() as is and fix the bug in
devm_fwnode_get_index_gpiod_from_child(). Other callers would still need
to be reworked. The effort would be the same as with the chosen solution.

Signed-off-by: Georg Waibel <georg.waibel@sensor-technik.de>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-06-25 15:26:24 +01:00
..
88pg86x.c regulator: 88pg86x: new i2c dual regulator chip 2018-03-09 13:01:17 +00:00
88pm800-regulator.c regulator: 88pm800: fix warning same module names 2019-06-12 16:56:03 +01:00
88pm8607.c regulator: 88pm8607: Convert to regulator core's simplified DT parsing code 2019-03-19 11:54:29 +00:00
aat2870-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
ab3100.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
ab8500-ext.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
ab8500.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
act8865-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
act8945a-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ad5398.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
anatop-regulator.c regulator: anatop: Remove unneeded fields from struct anatop_regulator 2019-04-10 12:23:04 +01:00
arizona-ldo1.c regulator: arizona-ldo1: Add support for Cirrus Logic Madera codecs 2019-05-21 21:23:24 +01:00
arizona-micsupp.c regulator: arizona-micsupp: Delete unused include 2019-06-03 17:51:20 +01:00
as3711-regulator.c regulator: as3711: Remove struct as3711_regulator_info and as3711_regulator 2019-03-18 12:10:45 +00:00
as3722-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
axp20x-regulator.c regulator: axp20x: Mark expected switch fall-throughs 2019-03-20 17:19:31 +00:00
bcm590xx-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
bd718x7-regulator.c regulator: bd718x7: Drop unused include 2019-06-03 17:52:20 +01:00
bd9571mwv-regulator.c regulator: bd9571mwv: Constify regulator_ops 2019-01-24 17:53:12 +00:00
bd70528-regulator.c regulator: bd70528: Drop unused include 2019-06-03 17:52:02 +01:00
core.c regulator: core: Make entire header comment C++ style 2019-06-18 19:13:05 +01:00
cpcap-regulator.c regulator: cpcap: Spelling s/configuraion/configuration/ 2019-06-07 13:14:37 +01:00
da903x.c regulator: da9xxx: Switch to SPDX identifier 2019-05-03 15:07:39 +09:00
da9052-regulator.c regulator: da9xxx: Switch to SPDX identifier 2019-05-03 15:07:39 +09:00
da9055-regulator.c regulator: da9xxx: Switch to SPDX identifier 2019-05-03 15:07:39 +09:00
da9062-regulator.c regulator: da9061/62: Adjust LDO voltage selection minimum value 2019-06-20 13:07:19 +01:00
da9063-regulator.c regulator: da9063: platform_data is gone, depend on OF 2019-05-20 15:26:12 +01:00
da9210-regulator.c regulator: da9xxx: Switch to SPDX identifier 2019-05-03 15:07:39 +09:00
da9210-regulator.h regulator: da9xxx: Switch to SPDX identifier 2019-05-03 15:07:39 +09:00
da9211-regulator.c gpio: Fix return value mismatch of function gpiod_get_from_of_node() 2019-06-25 15:26:24 +01:00
da9211-regulator.h regulator: da9xxx: Switch to SPDX identifier 2019-05-03 15:07:39 +09:00
db8500-prcmu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
dbx500-prcmu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
dbx500-prcmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 197 2019-05-30 11:29:22 -07:00
devres.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dummy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dummy.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fan53555.c regulator: fan53555: Switch to SPDX identifier 2019-04-26 10:38:22 +01:00
fixed-helper.c regulator: fixed: Convert to use GPIO descriptor only 2018-09-17 14:32:22 -07:00
fixed.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
gpio-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
helpers.c regulator: core: Make entire header comment C++ style 2019-06-18 19:13:05 +01:00
hi655x-regulator.c regulator: hi6xxx: Switch to SPDX identifier 2019-05-02 11:16:40 +09:00
hi6421-regulator.c regulator: hi6xxx: Switch to SPDX identifier 2019-05-02 11:16:40 +09:00
hi6421v530-regulator.c regulator: hi6xxx: Switch to SPDX identifier 2019-05-02 11:16:40 +09:00
internal.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
isl6271a-regulator.c regulator: isl6271a: Constify isl_core_ops and isl_fixed_ops 2019-01-28 15:30:58 +00:00
isl9305.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
Kconfig Linux 5.2-rc4 2019-06-18 19:12:47 +01:00
lm363x-regulator.c regulator: lm363x: Constify regulator_ops 2019-04-03 11:10:22 +07:00
lochnagar-regulator.c Merge branch 'regulator-5.0' into regulator-5.1 stpmic1 const/range 2019-02-19 11:06:41 +00:00
lp872x.c regulator: lp872x: Convert to use regulator_set/get_current_limit_regmap 2019-03-03 23:46:45 +00:00
lp873x-regulator.c regulator: lp873x: Convert to use regulator_set/get_current_limit_regmap 2019-03-03 23:47:06 +00:00
lp3971.c regulator: lp3971: Constify lp3971_ldo_ops and lp3971_dcdc_ops 2019-01-28 12:18:11 +00:00
lp3972.c regulator: lp3972: Constify lp3972_ldo_ops and lp3972_dcdc_ops 2019-01-28 12:20:14 +00:00
lp8755.c regulator: lp8755: Fix notifier mutex lock warning 2019-03-13 15:11:40 +00:00
lp8788-buck.c regulator: lp8788-buck: Convert to linear range 2019-02-11 17:00:22 +00:00
lp8788-ldo.c regulator: lp8788-ldo: Constify lp8788_dldo_desc and lp8788_aldo_desc 2019-01-28 12:21:34 +00:00
lp87565-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
ltc3589.c regulator: ltc3589: Switch to SPDX identifier 2019-04-26 10:38:20 +01:00
ltc3676.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
Makefile regulator: 88pm800: fix warning same module names 2019-06-12 16:56:03 +01:00
max1586.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
max8649.c
max8660.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -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: Convert to regulator core's simplified DT parsing code 2019-03-20 17:14:17 +00:00
max8952.c Linux 5.2-rc4 2019-06-18 19:12:47 +01: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: max8998: Factor out struct voltage_map_desc 2019-04-15 09:45:15 +01:00
max14577-regulator.c regulator: max14577: Get rid of match_init_data/match_of_node functions 2019-03-13 15:12:47 +00:00
max77620-regulator.c Linux 5.2-rc4 2019-06-18 19:12:47 +01:00
max77650-regulator.c regulator: max77650: Move max77651_SBB1_desc's declaration down 2019-05-23 14:35:14 +01: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: max77802: Drop unused includes 2019-06-10 15:40:58 +01:00
mc13xxx-regulator-core.c regulator: mc13xxx: Constify regulator_ops variables 2019-03-04 00:01:08 +00:00
mc13xxx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mc13783-regulator.c regulator: mc13xxx: Constify regulator_ops variables 2019-03-04 00:01:08 +00:00
mc13892-regulator.c regulator: mc13xxx: Constify regulator_ops variables 2019-03-04 00:01:08 +00:00
mcp16502.c regulator: mcp16502: Remove setup_regulators function 2019-04-11 12:17:32 +01:00
mt6311-regulator.c regulator: mt63xx: Switch to SPDX identifier 2019-04-26 10:38:23 +01:00
mt6311-regulator.h regulator: mt63xx: Switch to SPDX identifier 2019-04-26 10:38:23 +01:00
mt6323-regulator.c regulator: mt63xx: Switch to SPDX identifier 2019-04-26 10:38:23 +01:00
mt6380-regulator.c regulator: mt63xx: Switch to SPDX identifier 2019-04-26 10:38:23 +01:00
mt6397-regulator.c regulator: mt63xx: Switch to SPDX identifier 2019-04-26 10:38:23 +01:00
of_regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
palmas-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pbias-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
pcap-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pcf50633-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pfuze100-regulator.c regulator: pfuze100-regulator: add coin support to PF0100 2018-11-06 17:27:46 +00:00
pv88060-regulator.c regulator: pv880x0: Switch to SPDX identifier 2019-05-03 15:05:52 +09:00
pv88060-regulator.h regulator: pv880x0: Switch to SPDX identifier 2019-05-03 15:05:52 +09:00
pv88080-regulator.c regulator: pv880x0: Switch to SPDX identifier 2019-05-03 15:05:52 +09:00
pv88080-regulator.h regulator: pv880x0: Switch to SPDX identifier 2019-05-03 15:05:52 +09:00
pv88090-regulator.c regulator: pv880x0: Switch to SPDX identifier 2019-05-03 15:05:52 +09:00
pv88090-regulator.h regulator: pv880x0: Switch to SPDX identifier 2019-05-03 15:05:52 +09: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_rpm-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
qcom_smd-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
qcom_spmi-regulator.c regulator: qcom_spmi: Do NULL check for lvs 2019-06-24 17:26:15 +01:00
qcom-rpmh-regulator.c regulator: Use of_node_name_eq for node name comparisons 2018-12-06 19:56:51 +00:00
rc5t583-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
rk808-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
rn5t618-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446 2019-06-05 17:37:18 +02:00
rt5033-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 450 2019-06-05 17:37:18 +02:00
s2mpa01.c regulator: s2mpa01: Remove unused define for S2MPA01_REGULATOR_CNT 2019-04-10 12:22:50 +01:00
s2mps11.c gpio: Fix return value mismatch of function gpiod_get_from_of_node() 2019-06-25 15:26:24 +01:00
s5m8767.c gpio: Fix return value mismatch of function gpiod_get_from_of_node() 2019-06-25 15:26:24 +01:00
sc2731-regulator.c regulator: sc2731: Constify regulators 2019-03-26 13:25:35 +00:00
sky81452-regulator.c regulator: sky81452: Switch to SPDX identifier 2019-04-26 10:38:27 +01:00
slg51000-regulator.c regulator: slg51000: Remove unneeded regl_pdata from struct slg51000 2019-05-24 13:04:49 +01:00
slg51000-regulator.h regulator: slg51000: add slg51000 regulator driver 2019-05-13 11:07:43 +01:00
stm32-pwr.c regulator: stm32-pwr: Remove unneeded .min_uV and .list_volage 2019-05-03 15:07:15 +09:00
stm32-vrefbuf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
stpmic1_regulator.c Merge branch 'regulator-5.0' into regulator-5.1 stpmic1 const/range 2019-02-19 11:06:41 +00:00
stw481x-vmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
sy8106a-regulator.c regulator: sy8106a: Get rid of struct sy8106a 2019-04-26 10:38:25 +01:00
ti-abb-regulator.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
tps6105x-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
tps6507x-regulator.c regulator: tps6507x: Convert to regulator core's simplified DT parsing code 2019-04-01 15:18:40 +07:00
tps6524x-regulator.c regulator: tps6524x: Remove *rdev[N_REGULATORS] from struct tps6524x 2019-04-15 09:44:41 +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
tps65023-regulator.c regulator: tps65023: Fix inverted core enable logic. 2017-04-18 18:55:05 +01:00
tps65086-regulator.c regulator: tps65086: Fix tps65086_ldoa1_ranges for selector 0xB 2019-03-21 15:00:07 +00:00
tps65090-regulator.c gpio: Fix return value mismatch of function gpiod_get_from_of_node() 2019-06-25 15:26:24 +01:00
tps65132-regulator.c regulator: tps65132: Constify tps65132_regulator_ops and tps_regs_desc 2019-03-21 14:59:09 +00:00
tps65217-regulator.c Merge branch 'regulator-5.2' into regulator-next 2019-05-06 22:52:14 +09:00
tps65218-regulator.c regulator: tps65218: Convert to use regulator_get_current_limit_regmap 2019-04-15 09:44:09 +01:00
tps65910-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -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 regulator: tps80031: Switch to SPDX identifier 2019-04-16 17:30:56 +01:00
twl6030-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
twl-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
uniphier-regulator.c regulator: uniphier: Constify uniphier_regulator_ops 2019-02-02 17:05:42 +01:00
userspace-consumer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
vctrl-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
vexpress-regulator.c regulator: vexpress: Switch to SPDX identifier 2019-05-02 11:16:18 +09:00
virtual.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wm831x-dcdc.c regulator: wm831x: Convert to use GPIO descriptors 2019-06-12 13:59:11 +01:00
wm831x-isink.c regulator: wm831x: Switch to SPDX identifier 2019-04-17 17:40:29 +01:00
wm831x-ldo.c regulator: wm831x: Switch to SPDX identifier 2019-04-17 17:40:29 +01:00
wm8350-regulator.c regulator: wm8350: Switch to SPDX identifier 2019-04-17 17:40:44 +01:00
wm8400-regulator.c regulator: wm8400: Switch to SPDX identifier 2019-04-17 17:41:00 +01:00
wm8994-regulator.c regulator: wm8994: Switch to SPDX identifier 2019-04-17 17:39:58 +01:00