linux-stable/drivers/regulator
Konrad Dybcio c5e156a627 regulator: qcom_smd: Align probe function with rpmh-regulator
[ Upstream commit 14e2976fba ]

The RPMh regulator driver is much newer and gets more attention, which in
consequence makes it do a few things better. Update qcom_smd-regulator's
probe function to mimic what rpmh-regulator does to address a couple of
issues:

- Probe defer now works correctly, before it used to, well,
  kinda just die.. This fixes reliable probing on (at least) PM8994,
  because Linux apparently cannot deal with supply map dependencies yet..

- Regulator data is now matched more sanely: regulator data is matched
  against each individual regulator node name and throwing an -EINVAL if
  data is missing, instead of just assuming everything is fine and
  iterating over all subsequent array members.

- status = "disabled" will now work for disabling individual regulators in
  DT. Previously it didn't seem to do much if anything at all.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20211230023442.1123424-1-konrad.dybcio@somainline.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-01-27 09:19:46 +01:00
..
88pg86x.c
88pm800-regulator.c Merge branch 'regulator-5.3' into regulator-next 2019-07-04 17:34:32 +01:00
88pm8607.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Kconfig regulator: mt6358: Add BROKEN dependency while waiting for MFD to merge 2019-08-30 12:29:22 +01:00
Makefile regulator: mt6358: Add support for MT6358 regulator 2019-08-28 11:51:27 +01: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 regulator: ab8500: Remove AB8505 USB regulator 2020-01-09 10:20:04 +01:00
act8865-regulator.c regulator: act8865: operating mode and suspend state support 2019-08-15 18:10:40 +01:00
act8945a-regulator.c regulator: act8945a-regulator: fix ldo register addresses in set_mode hook 2019-08-13 12:41:46 +01: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: Fix reference cout leak 2021-03-04 10:26:29 +01: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: Add enable times 2021-01-19 18:26:14 +01:00
bd9571mwv-regulator.c regulator: bd9571mwv: Fix AVS and DVFS voltage range 2021-04-14 08:24:13 +02:00
bd70528-regulator.c regulator: bd70528: Add MODULE_ALIAS to allow module auto loading 2020-01-26 10:01:05 +01:00
core.c regulator: core: resolve supply for boot-on/always-on regulators 2021-06-16 11:59:43 +02: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: da9052: Ensure enough delay time for .set_voltage_time_sel 2021-07-14 16:53:15 +02:00
da9055-regulator.c regulator: da9xxx: Switch to SPDX identifier 2019-05-03 15:07:39 +09:00
da9062-regulator.c regulator: da9062: fix suspend_enable/disable preparation 2019-09-23 14:21:05 -07:00
da9063-regulator.c regulator: Remove dev_err() usage after platform_get_irq() 2019-08-02 12:13:23 +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 regulator: da9211: fix obtaining "enable" GPIO 2019-09-11 11:17:07 +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 regulator: fixed: Prevent NULL pointer dereference when !CONFIG_OF 2019-09-23 14:19:52 -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: Add regulator_is_equal() helper 2020-02-11 04:35:48 -08:00
hi655x-regulator.c regulator: hi655x: Fix pass wrong pointer to config.driver_data 2021-07-14 16:53:23 +02:00
hi6421-regulator.c regulator: hi6421: Fix getting wrong drvdata 2021-07-28 13:30:55 +02: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
lm363x-regulator.c regulator: lm363x: Fix n_voltages setting for lm36274 2019-07-22 13:18:13 +01:00
lochnagar-regulator.c regulator: lochnagar: Add on_off_delay for VDDCORE 2019-10-01 17:46:01 +01:00
lp872x.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp3972.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8755.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8788-buck.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lp8788-ldo.c regulator: lp8788-ldo: make array en_mask static const, makes object smaller 2019-09-09 10:53:48 +01:00
lp87565-regulator.c regulator: lp87565: Simplify lp87565_buck_set_ramp_delay 2019-09-09 13:22:49 +01: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
max1586.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
max8649.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
max8660.c regulator: max8660: remove redundant assignment of variable ret 2019-08-15 15:09:21 +01:00
max8907-regulator.c regulator: max8907: Fix the usage of uninitialized variable in max8907_regulator_probe() 2019-12-31 16:43:39 +01:00
max8925-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02: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 regulator: max77620: Use device_set_of_node_from_dev() 2021-06-16 11:59:43 +02:00
max77650-regulator.c regulator: max77650: use vsel_step 2019-07-04 17:31:37 +01:00
max77686-regulator.c regulator: max77686: fix obtaining "maxim,ena" GPIO 2019-09-11 11:16:51 +01: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
mt6358-regulator.c regulator: mt6358: Fix vdram2 .vsel_mask 2021-07-14 16:53:15 +02: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 regulator: Fixes for v5.4 2019-10-23 15:31:17 -04: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: limit pfuze-support-disable-sw to pfuze{100,200} 2020-11-24 13:29:22 +01: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: Fix machine constraints application 2020-09-23 12:40:35 +02:00
qcom-rpmh-regulator.c regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck 2021-03-30 14:35:22 +02: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 regulator: qcom_smd: Align probe function with rpmh-regulator 2022-01-27 09:19:46 +01:00
qcom_spmi-regulator.c regulator: qcom_spmi: Do NULL check for lvs 2019-06-24 17:26:15 +01:00
rc5t583-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
rk808-regulator.c regulator: rk808: Lower log level on optional GPIOs being not available 2020-02-24 08:36:33 +01:00
rn5t618-regulator.c regulator: rn5t618: fix module aliases 2020-01-12 12:21:34 +01: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 regulator: s2mps11: Consistently use local variable 2019-09-10 11:03:30 +01:00
s5m8767.c regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled 2021-11-17 09:48:22 +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: use devm_gpiod_get_optional() in probe 2019-09-09 10:58:15 +01:00
slg51000-regulator.h regulator: slg51000: add slg51000 regulator driver 2019-05-13 11:07:43 +01:00
stm32-booster.c regulator: stm32-booster: Remove .min_uV and .list_voltage for fixed regulator 2019-07-23 12:28:01 +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 regulator: stm32-vrefbuf: fix a possible overshoot when re-enabling 2020-03-12 13:00:29 +01: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
sy8824x.c regulator: sy8824x: add prefixes to BUCK_EN and MODE macros 2019-08-30 12:39:47 +01:00
ti-abb-regulator.c regulator: ti-abb: Fix array out of bound read access on the first transition 2020-11-24 13:29:18 +01: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: Fix boot regression due to testing wrong init_data pointer 2019-05-16 17:11:47 +01:00
tps6524x-regulator.c regulator: tps6524x: Remove *rdev[N_REGULATORS] from struct tps6524x 2019-04-15 09:44:41 +01:00
tps6586x-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tps51632-regulator.c
tps62360-regulator.c
tps65023-regulator.c
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: Stop parsing DT when gpio is not found 2019-09-05 19:07:30 +01: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
twl-regulator.c regulator: twl: voltage lists for vdd1/2 on twl4030 2019-08-15 15:08:41 +01:00
twl6030-regulator.c regulator: twl6030: workaround the VMMC reset behavior 2019-08-09 18:04:22 +01:00
uniphier-regulator.c regulator: uniphier: Add missing MODULE_DEVICE_TABLE 2021-07-14 16:53:10 +02:00
userspace-consumer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
vctrl-regulator.c regulator: vctrl: Avoid lockdep warning in enable/disable ops 2021-09-15 09:47:29 +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