linux-stable/drivers/regulator
Johan Hovold 07b933a1b6 regulator: core: fix debugfs creation regression
commit 2a4b49bb58 upstream.

regulator_get() may sometimes be called more than once for the same
consumer device, something which before commit dbe954d8f1 ("regulator:
core: Avoid debugfs: Directory ...  already present! error") resulted in
errors being logged.

A couple of recent commits broke the handling of such cases so that
attributes are now erroneously created in the debugfs root directory the
second time a regulator is requested and the log is filled with errors
like:

	debugfs: File 'uA_load' in directory '/' already present!
	debugfs: File 'min_uV' in directory '/' already present!
	debugfs: File 'max_uV' in directory '/' already present!
	debugfs: File 'constraint_flags' in directory '/' already present!

on any further calls.

Fixes: 2715bb11cf ("regulator: core: Fix more error checking for debugfs_create_dir()")
Fixes: 08880713ce ("regulator: core: Streamline debugfs operations")
Cc: stable@vger.kernel.org
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20240509133304.8883-1-johan+linaro@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-17 11:56:22 +02:00
..
88pg86x.c regulator: 88pg86x: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:09 +01:00
88pm800-regulator.c
88pm8607.c
Kconfig - Core Frameworks 2022-10-07 11:24:20 -07:00
Makefile MediaTek Helio X10 MT6795 - MT6331/6332 Regulators 2022-09-13 17:43:23 +01:00
aat2870-regulator.c
ab8500-ext.c regulator: ab8500: Decomission platform data header 2021-01-13 11:36:19 +00:00
ab8500.c regulator: ab8500: Decomission platform data header 2021-01-13 11:36:19 +00:00
act8865-regulator.c
act8945a-regulator.c
ad5398.c
anatop-regulator.c
arizona-ldo1.c
arizona-micsupp.c
as3711-regulator.c
as3722-regulator.c regulator: as3722: Fix fall-through warnings for Clang 2020-11-23 18:46:31 +00:00
atc260x-regulator.c regulator: atc260x: Fix missing active_discharge_on setting 2022-04-04 08:59:43 +01:00
axp20x-regulator.c regulator: axp20x: Fix reference cout leak 2021-01-20 18:48:20 +00:00
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 regulator: bd9571mwv: Convert device attribute to sysfs_emit() 2021-03-15 15:42:12 +00:00
bd9576-regulator.c regulator: bd9576: switch to using devm_fwnode_gpiod_get() 2022-09-05 13:09:48 +01:00
bd71815-regulator.c regulator: bd71815: switch to using devm_fwnode_gpiod_get() 2022-09-05 13:09:47 +01:00
bd71828-regulator.c regulator: bd718x7, bd71828: Use ramp-delay helper 2021-04-14 10:19:59 +01:00
core.c regulator: core: fix debugfs creation regression 2024-05-17 11:56:22 +02:00
cpcap-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
cros-ec-regulator.c platform/chrome: cros_ec_proto: Rename cros_ec_command function 2022-06-08 08:14:53 +00:00
da903x-regulator.c
da9052-regulator.c regulator: da9052: Ensure enough delay time for .set_voltage_time_sel 2021-06-23 12:34:40 +01:00
da9055-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9062-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9063-regulator.c regulator: da9063: Add support for full-current mode. 2021-07-15 17:24:50 +01:00
da9121-regulator.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
da9121-regulator.h regulator: da9121: Add DA914x support 2021-11-30 13:08:18 +00:00
da9210-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
da9210-regulator.h
da9211-regulator.c regulator: da9211: Use irq handler when ready 2023-01-18 11:58:22 +01:00
da9211-regulator.h
db8500-prcmu.c
dbx500-prcmu.c regulator: Replace symbolic permissions with octal permissions 2021-07-11 23:50:43 +01:00
dbx500-prcmu.h
devres.c regulator: core: Use different devices for resource allocation and DT lookup 2022-12-31 13:33:04 +01:00
dummy.c regulator: dummy: Use devm_regulator_register() 2021-09-27 13:01:20 +01:00
dummy.h
fan53555.c regulator: fan53555: Fix wrong TCS_SLEW_MASK 2023-04-26 14:28:32 +02:00
fan53880.c Merge remote-tracking branch 'regulator/for-5.14' into regulator-next 2021-06-23 16:56:31 +01:00
fixed-helper.c
fixed.c regulator: Handle deferred clk 2023-04-06 12:10:46 +02:00
gpio-regulator.c regulator: gpio: Add input_supply support in gpio_regulator_config 2022-09-29 15:20:14 +01:00
helpers.c regulator: Check ramp_delay_table for regulator_set_ramp_delay_regmap 2021-05-19 14:31:43 +01:00
hi655x-regulator.c regulator: hi655x: Fix pass wrong pointer to config.driver_data 2021-06-21 13:02:05 +01:00
hi6421-regulator.c regulator: hi6421: Fix getting wrong drvdata 2021-07-11 23:44:37 +01:00
hi6421v530-regulator.c regulator: Replace HTTP links with HTTPS ones 2020-07-22 14:43:48 +01:00
hi6421v600-regulator.c mfd: hi6421-spmi-pmic: Cleanup drvdata to only include regmap 2021-10-05 08:56:08 +01:00
internal.h regulator: move rdev_print helpers to internal.h 2021-06-21 13:08:39 +01:00
irq_helpers.c regulator: irq_helper: Provide helper for trivial IRQ notifications 2021-11-24 12:57:30 +00:00
isl6271a-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
isl9305.c
lm363x-regulator.c
lochnagar-regulator.c regulator: lochnagar: Add additional VDDCORE range 2020-09-07 18:49:13 +01:00
lp872x.c regulator: lp872x: Remove lp872x_dvs_state 2021-10-21 14:17:49 +01:00
lp873x-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
lp3971.c
lp3972.c
lp8755.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
lp8788-buck.c
lp8788-ldo.c
lp87565-regulator.c mfd: lp87565: Move LP87565_regulator_id to .c file 2021-05-19 13:34:00 +01:00
ltc3589.c regulator: ltc3589: Convert to use regulator_set_ramp_delay_regmap 2021-06-08 13:37:45 +01:00
ltc3676.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
max597x-regulator.c regulator: max597x: Remove the unneeded result variable 2022-08-24 12:21:30 +01:00
max1586.c regulator: max1586: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:14 +01:00
max8649.c
max8660.c
max8893.c regulator: max8893: add regulator driver 2021-06-21 13:07:44 +01:00
max8907-regulator.c
max8925-regulator.c
max8952.c
max8973-regulator.c regulator/drivers/max8976: Switch to new of thermal API 2022-08-17 14:09:39 +02:00
max8997-regulator.c
max8998.c
max14577-regulator.c regulator: max14577: Revert "regulator: max14577: Add proper module aliases strings" 2021-09-17 13:16:38 +01:00
max20086-regulator.c regulator: MAX20086: add gpio/consumer.h 2022-01-19 16:47:39 +00:00
max77620-regulator.c regulator: max77620: Silence deferred probe error 2021-05-24 09:50:20 +01:00
max77650-regulator.c
max77686-regulator.c regulator: max77686: Convert to use regulator_set_ramp_delay_regmap 2021-06-07 16:24:07 +01:00
max77693-regulator.c
max77802-regulator.c regulator: max77802: Bounds check regulator id against opmode 2023-03-10 09:33:58 +01:00
max77826-regulator.c regulator: max77826: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:15 +01:00
mc13xxx-regulator-core.c
mc13xxx.h
mc13783-regulator.c
mc13892-regulator.c regulator: mc13892-regulator: convert comma to semicolon 2020-12-11 13:23:07 +00:00
mcp16502.c regulator: mcp16502: Convert to use regulator_set_ramp_delay_regmap 2021-06-01 14:05:26 +01:00
mp886x.c regulator: mp886x: Convert to use regulator_set_ramp_delay_regmap 2021-05-25 16:45:09 +01:00
mp5416.c regulator: mp5416: remove kernel.h include 2022-06-07 17:21:36 +01:00
mp8859.c
mpq7920.c
mpq7920.h
mt6311-regulator.c
mt6311-regulator.h
mt6315-regulator.c Merge remote-tracking branch 'regulator/for-5.14' into regulator-next 2021-06-23 16:56:31 +01:00
mt6323-regulator.c
mt6331-regulator.c regulator: Add driver for MT6331 PMIC regulators 2022-09-13 15:04:56 +01:00
mt6332-regulator.c regulator: Add driver for MT6332 PMIC regulators 2022-09-13 15:04:58 +01:00
mt6358-regulator.c regulator: mt6358: Fail probe on unknown chip ID 2023-11-20 11:51:56 +01:00
mt6359-regulator.c regulator: mt6359: add read check for PMIC MT6359 2023-05-30 14:03:33 +01:00
mt6360-regulator.c regulator: mt6360: De-capitalize devicetree regulator subnodes 2024-05-17 11:55:55 +02:00
mt6370-regulator.c regulator: mt6370: Use the correct header for platform_device_id 2022-06-29 16:31:42 +01:00
mt6380-regulator.c regulator: mt6380: Fix unused array warning 2022-07-27 13:14:46 +01:00
mt6397-regulator.c regulator: mt6397: Remove modeset_shift from struct mt6397_regulator_info 2021-07-11 23:50:37 +01:00
mtk-dvfsrc-regulator.c regulator: mtk-dvfsrc: Fix wrong dev pointer for devm_regulator_register 2021-07-07 12:01:32 +01:00
of_regulator.c regulator: core: Use different devices for resource allocation and DT lookup 2022-12-31 13:33:04 +01:00
palmas-regulator.c
pbias-regulator.c regulator: Replace HTTP links with HTTPS ones 2020-07-22 14:43:48 +01:00
pca9450-regulator.c regulator: pca9450: Fix BUCK2 enable_mask 2023-05-30 14:03:22 +01:00
pcap-regulator.c
pcf50633-regulator.c
pf8x00-regulator.c regulator: pf8x00: Use regulator_map_voltage_ascend for pf8x00_buck7_ops 2021-03-10 12:47:46 +00:00
pfuze100-regulator.c regulator: pfuze100: Fix the global-out-of-bounds access in pfuze100_regulator_probe() 2022-08-25 12:29:26 +01:00
pv88060-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
pv88060-regulator.h
pv88080-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
pv88080-regulator.h
pv88090-regulator.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
pv88090-regulator.h
pwm-regulator.c regulator: pwm-regulator: Add validity checks in continuous .get_voltage 2024-03-01 13:26:26 +01:00
qcom-labibb-regulator.c regulator: qcom-labibb: Fix missing of_node_put() in qcom_labibb_regulator_probe() 2022-12-31 13:32:25 +01:00
qcom-rpmh-regulator.c regulator: qcom-rpmh: Fix PMR735a S3 regulator spec 2022-12-31 13:32:11 +01:00
qcom_rpm-regulator.c regulator: qcom_rpm: Fix circular deferral regression 2022-09-09 22:27:12 +01:00
qcom_smd-regulator.c regulator: qcom_smd: Add PM6125 RPM regulators 2022-08-23 18:07:59 +01:00
qcom_spmi-regulator.c regulator: qcom_spmi: Add PM6125 PMIC support 2022-08-23 18:07:56 +01:00
qcom_usb_vbus-regulator.c regulator: Add a routine to set the current limit for QCOM PMIC VBUS 2021-05-10 13:06:50 +01:00
rc5t583-regulator.c
rk808-regulator.c regulator: rk808: Convert to use regulator_set_ramp_delay_regmap 2021-05-26 19:22:09 +01:00
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 i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
rt4801-regulator.c regulator: richtek,rt4801: parse GPIOs per regulator 2022-04-25 14:00:47 +01:00
rt4831-regulator.c regulator: rt4831: Add active_discharge_on to fix discharge API 2022-03-25 16:09:31 +00:00
rt5033-regulator.c regulator: rt5033: Use linear ranges to map all voltage selection 2021-07-11 23:50:39 +01:00
rt5120-regulator.c regulator: rt5120: Add PMIC regulator support 2022-06-23 13:07:50 +01:00
rt5190a-regulator.c regulator: rt5190a: check if init_data is NULL, bypass rt5190a_of_parse_cb 2022-06-06 12:39:10 +01:00
rt5759-regulator.c regulator: rt5759: fix OOB in validate_desc() 2022-11-16 10:50:17 +00:00
rt6160-regulator.c regulator: rt6160: Fix setting suspend voltage 2021-06-16 15:41:16 +01:00
rt6245-regulator.c regulator: rt6245: make a const array func_base static, makes object smaller 2021-07-15 17:24:49 +01:00
rtmv20-regulator.c Merge existing fixes from regulator/for-5.14 2021-07-11 23:45:15 +01:00
rtq2134-regulator.c regulator: rtq2134: Fix missing active_discharge_on setting 2022-04-04 08:38:57 +01:00
rtq6752-regulator.c regulator: rtq6752: Enclose 'enable' gpio control by enable flag 2021-09-15 13:12:39 +01:00
s2mpa01.c regulator: s2mpa01: Drop initialization via platform data 2021-04-21 15:51:42 +01:00
s2mps11.c regulator: s2mps11: Drop initialization via platform data 2021-04-21 15:51:43 +01:00
s5m8767.c regulator: s5m8767: Bounds check id indexing into arrays 2023-03-10 09:33:58 +01:00
sc2731-regulator.c regulator: cleanup comments 2022-03-07 13:15:01 +00:00
scmi-regulator.c regulator: scmi: Add missing of_node_get() 2022-06-30 13:25:37 +01:00
sky81452-regulator.c
slg51000-regulator.c regulator: slg51000: Wait after asserting CS pin 2022-11-18 14:02:11 +00:00
slg51000-regulator.h
sm5703-regulator.c regulator: sm5703-regulator: Add regulators support for SM5703 MFD 2022-04-26 15:13:48 +01:00
stm32-booster.c regulator: stm32-booster: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:20 +01:00
stm32-pwr.c regulator: stm32-pwr: fix of_iomap leak 2023-05-11 23:03:16 +09:00
stm32-vrefbuf.c regulator: core: Use different devices for resource allocation and DT lookup 2022-12-31 13:33:04 +01:00
stpmic1_regulator.c regulator: add property parsing and callbacks to set protection limits 2021-06-21 13:08:41 +01:00
stw481x-vmmc.c regulator: stw481x-vmmc: Constify static structs 2020-09-14 14:24:38 +01:00
sy7636a-regulator.c regulator: sy7636a: Remove requirement on sy7636a mfd 2022-02-08 09:27:28 +00:00
sy8106a-regulator.c regulator: sy8106a: Fix W=1 build warning when CONFIG_OF=n 2020-08-21 17:28:19 +01:00
sy8824x.c regulator: sy8824x: Enable REGCACHE_FLAT 2021-08-03 18:27:18 +01:00
sy8827n.c regulator: sy8827n: Enable REGCACHE_FLAT 2021-08-03 18:27:19 +01:00
ti-abb-regulator.c regulator: ti-abb: don't use devm_platform_ioremap_resource_byname for shared interrupt register 2024-02-05 20:13:00 +00:00
tps6105x-regulator.c regulator: tps6105x: Constify tps6105x_regulator_ops 2020-09-01 15:48:52 +01:00
tps6286x-regulator.c regulator: Add support for TPS6286x 2022-02-08 13:38:10 +00:00
tps6507x-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
tps6524x-regulator.c
tps6586x-regulator.c regulator: tps6586x: Constify static regulator_ops 2020-09-01 15:48:56 +01:00
tps51632-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
tps62360-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE 2022-06-10 14:51:36 +02:00
tps65023-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
tps65086-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps65090-regulator.c regulator: tps65090: constify static regulator_ops 2020-09-01 15:48:55 +01:00
tps65132-regulator.c
tps65217-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
tps65218-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps65219-regulator.c regulator: tps65219: Fix matching interrupts for their regulators 2023-07-19 16:22:14 +02:00
tps65910-regulator.c regulator: tps65910: Silence deferred probe error 2021-07-11 23:50:38 +01:00
tps65912-regulator.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
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 regulator: twl6030: fix get status of twl6032 regulators 2022-11-22 12:23:06 +00:00
uniphier-regulator.c regulator: uniphier: Add USB-VBUS compatible string for NX1 SoC 2021-10-21 16:08:07 +01:00
userspace-consumer.c regulator: userspace-consumer: use DEVICE_ATTR_RO/RW macro 2021-06-02 12:03:37 +01:00
vctrl-regulator.c regulator: vctrl: Use min() instead of doing it manually 2022-03-15 12:03:51 +00:00
vexpress-regulator.c
virtual.c regulator: virtual: add devicetree support 2022-03-02 13:45:31 +00:00
vqmmc-ipq4019-regulator.c regulator: vqmmc-ipq4019: Make use of the helper function devm_platform_ioremap_resource() 2021-09-13 01:59:24 +01:00
wm831x-dcdc.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
wm831x-isink.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
wm831x-ldo.c regulator: remove locking around regulator_notifier_call_chain() 2020-09-07 18:35:25 +01:00
wm8350-regulator.c regulator: cleanup comments 2022-03-07 13:15:01 +00:00
wm8400-regulator.c regulator: wm8400-regulator: Repair dodgy kerneldoc header formatting 2020-06-26 15:34:24 +01:00
wm8994-regulator.c regulator: wm8994: Add an off-on delay for WM8994 variant 2022-04-04 08:38:56 +01:00