android_kernel_samsung_sm8650/drivers/regulator
Chen-Yu Tsai 5b8d3ea093 regulator: mt6358: Fail probe on unknown chip ID
[ Upstream commit 7442edec72bc657e6ce38ae01de9f10e55decfaa ]

The MT6358 and MT6366 PMICs, and likely many others from MediaTek, have
a chip ID register, making the chip semi-discoverable.

The driver currently supports two PMICs and expects to be probed on one
or the other. It does not account for incorrect mfd driver entries or
device trees. While these should not happen, if they do, it could be
catastrophic for the device. The driver should be sure the hardware is
what it expects.

Make the driver fail to probe if the chip ID presented is not a known
one.

Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Fixes: f0e3c6261a ("regulator: mt6366: Add support for MT6366 regulator")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230913082919.1631287-2-wenst@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-11-20 11:51:56 +01: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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
88pm8607.c
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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
act8945a-regulator.c regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
ad5398.c
anatop-regulator.c regulator: anatop: Constify anatop_core_rops 2020-06-18 13:47:31 +01:00
arizona-ldo1.c regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
arizona-micsupp.c regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
as3711-regulator.c regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
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: Revert "fix kobject release warning and memory leak in regulator_register()" 2023-10-25 12:03:11 +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 regulator: rename da903x to da903x-regulator 2020-06-25 15:29:21 +01:00
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 regulator: db8500-prcmu: Use true,false for bool variable 2020-05-06 15:16:59 +01:00
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 regulator: Convert i2c drivers to use .probe_new 2020-01-13 15:03:06 +00:00
Kconfig - Core Frameworks 2022-10-07 11:24:20 -07:00
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 regulator: Convert i2c drivers to use .probe_new 2020-01-13 15:03:06 +00:00
lp3972.c
lp8755.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
lp8788-buck.c regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
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
Makefile MediaTek Helio X10 MT6795 - MT6331/6332 Regulators 2022-09-13 17:43:23 +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 regulator: max8907: Constify static structs 2020-06-18 13:47:34 +01:00
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 regulator: max8997: Constify struct regulator_ops 2020-06-18 13:47:35 +01:00
max8998.c regulator: max8998: Staticify internal function max8998_get_current_limit() 2020-06-26 15:34:18 +01:00
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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
mpq7920.c regulator: mpq7920: Convert to use .probe_new 2020-01-14 15:25:00 +00:00
mpq7920.h regulator: mpq7920: Fix incorrect defines 2020-01-17 15:34:31 +00:00
mt6311-regulator.c regulator: Convert i2c drivers to use .probe_new 2020-01-13 15:03:06 +00:00
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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
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: remove redundant error print 2021-03-24 19:50:21 +00: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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
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: Make use of the helper function dev_err_probe() 2021-09-27 13:01:19 +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
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
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 regulator: Fixes for v5.5 2019-12-17 13:08:41 -08:00
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 regulator: use linear_ranges helper 2020-05-08 18:18:13 +01:00
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: of: Fix kernel-doc 2022-09-19 15:44:17 +01: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 regulator: Convert i2c drivers to use .probe_new 2020-01-13 15:03:06 +00:00
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
twl6030-regulator.c regulator: twl6030: fix get status of twl6032 regulators 2022-11-22 12:23:06 +00:00
twl-regulator.c drivers/regulator: remove redundant ret variable 2021-12-13 19:35:43 +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 regulator: vexpress: Use PTR_ERR_OR_ZERO() to simplify code 2019-11-18 12:58:24 +00:00
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