umber-kernel/include/linux/mfd
Kory Maincent (TI.com) 89bdcd39ae mfd: tps65219: Implement LOCK register handling for TPS65214
[ Upstream commit d3fcf276b501a82d4504fd5b1ed40249546530d1 ]

The TPS65214 PMIC variant has a LOCK_REG register that prevents writes to
nearly all registers when locked. Unlock the registers at probe time and
leave them unlocked permanently.

This approach is justified because:
- Register locking is very uncommon in typical system operation
- No code path is expected to lock the registers during runtime
- Adding a custom regmap write function would add overhead to every
  register write, including voltage changes triggered by CPU OPP
  transitions from the cpufreq governor which could happen quite
  frequently

Cc: stable@vger.kernel.org
Fixes: 7947219ab1 ("mfd: tps65219: Add support for TI TPS65214 PMIC")
Reviewed-by: Andrew Davis <afd@ti.com>
Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
Link: https://patch.msgid.link/20251218-fix_tps65219-v5-1-8bb511417f3a@bootlin.com
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2026-03-04 07:21:12 -05:00
..
abx500
arizona mfd: arizona: Make legacy gpiolib interface optional 2025-10-01 10:28:24 +01:00
atc260x
da9052 mfd: da9052: Store result from fault_log 2024-12-17 13:17:25 +00:00
da9055
da9062
da9063
da9150
madera mfd: madera: Don't use "proxy" headers 2025-07-24 11:27:14 +01:00
mt6323
mt6328
mt6331
mt6332
mt6357
mt6358
mt6359
mt6359p
mt6397 rtc: mt6397: drop unused defines 2025-04-01 12:03:39 +02:00
samsung mfd: sec: Change device_type to int 2025-05-23 08:48:44 +01:00
syscon mfd: syscon: atmel-smc: Don't use "proxy" headers 2025-07-24 11:27:15 +01:00
wcd934x
wm831x
wm8350 mfd: wm8350-core: Use IRQF_ONESHOT 2026-02-26 14:59:05 -08:00
wm8994
88pm80x.h
88pm860x.h
88pm886.h iio: adc: Add driver for Marvell 88PM886 PMIC ADC 2025-09-13 14:47:14 +01:00
aat2870.h mfd: aat2870: Use per-client debugfs directory 2025-05-22 15:49:58 +01:00
abx500.h
ac100.h
adp5520.h
adp5585.h gpio: adp5585: support gpi events 2025-07-01 21:50:51 +01:00
altera-a10sr.h
altera-sysmgr.h
as3711.h
as3722.h
atmel-hlcdc.h
axp20x.h mfd: axp20x: AXP717: Add AXP717_TS_PIN_CFG to writeable regs 2025-02-20 16:05:09 +00:00
bcm590xx.h mfd: bcm590xx: Drop unused "id" member of bcm590xx struct 2025-05-23 08:48:08 +01:00
bcm2835-pm.h
bd9571mwv.h
bq257xx.h mfd: bq257xx: Add support for BQ25703A core driver 2025-09-11 15:54:43 +01:00
cgbc.h
core.h mfd: core: Make platform_data pointer const in struct mfd_cell 2024-12-17 13:14:21 +00:00
cs40l50.h
cs42l43-regs.h
cs42l43.h
da8xx-cfgchip.h
da903x.h
davinci_voicecodec.h mfd: davinci_voicecodec: Don't use "proxy" headers 2025-07-24 11:27:11 +01:00
db8500-prcmu.h
dbx500-prcmu.h arm: Handle KCOV __init vs inline mismatches 2025-07-21 21:43:39 -07:00
dln2.h
ezx-pcap.h mfd: ezx-pcap: Remove unused pcap_adc_sync 2025-03-14 08:59:07 +00:00
gsc.h
hi655x-pmic.h
hi6421-pmic.h
idt8a340_reg.h
idt82p33_reg.h
idtRC38xxx_reg.h
imx25-tsadc.h
ingenic-tcu.h
intel-m10-bmc.h
intel_pmc_bxt.h
intel_soc_pmic.h
intel_soc_pmic_bxtwc.h
intel_soc_pmic_mrfld.h
ipaq-micro.h
iqs62x.h
janz.h
kempld.h
khadas-mcu.h
lm3533.h
lochnagar.h
lochnagar1_regs.h
lochnagar2_regs.h
loongson-se.h mfd: Add support for Loongson Security Engine chip controller 2025-09-02 12:29:57 +01:00
lp873x.h
lp3943.h mfd: lp3943: Drop #include <linux/pwm.h> from header 2025-03-14 08:59:06 +00:00
lp8788-isink.h
lp8788.h
lp87565.h
lpc_ich.h
macsmc.h mfd: Add Apple Silicon System Management Controller 2025-07-24 09:47:33 +01:00
max5970.h
max7360.h mfd: Add max7360 support 2025-09-16 15:24:48 +01:00
max8907.h
max8925.h
max8997-private.h mfd: maxim: Correct Samsung "Electronics" spelling in headers 2025-06-03 09:46:40 +01:00
max8997.h mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
max8998-private.h mfd: maxim: Correct Samsung "Electronics" spelling in headers 2025-06-03 09:46:40 +01:00
max8998.h mfd: maxim: Correct Samsung "Electronics" spelling in headers 2025-06-03 09:46:40 +01:00
max14577-private.h mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
max14577.h mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
max77541.h
max77620.h
max77650.h
max77686-private.h mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
max77686.h mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
max77693-common.h mfd: Add new driver for MAX77705 PMIC 2025-02-20 16:37:40 +00:00
max77693-private.h mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
max77693.h mfd: maxim: Correct Samsung "Electronics" spelling in copyright headers 2025-06-03 09:46:41 +01:00
max77705-private.h leds: max77705: Add LEDs support 2025-02-20 16:38:37 +00:00
max77714.h
max77759.h mfd: max77759: Add Maxim MAX77759 core driver 2025-05-09 15:22:30 +01:00
max77843-private.h
mc13xxx.h mfd: input: rtc: mc13783: Remove deprecated mc13xxx_irq_ack() 2025-09-11 11:39:31 +01:00
mc13783.h
mc13892.h
mcp.h
menelaus.h
motorola-cpcap.h
mp2629.h
mxs-lradc.h
nct6694.h mfd: Add core driver for Nuvoton NCT6694 2025-09-16 14:41:57 +01:00
ntxec.h
ocelot.h
palmas.h
qcom_rpm.h
qnap-mcu.h mfd: qnap-mcu: Include linux/types.h in qnap-mcu.h shared header 2025-10-01 10:28:13 +01:00
rave-sp.h
rc5t583.h
rdc321x.h
retu.h
rk808.h mfd: rk8xx-core: Allow to customize RK806 reset mode 2025-07-24 11:27:17 +01:00
rn5t618.h
rohm-bd718x7.h
rohm-bd957x.h
rohm-bd71815.h
rohm-bd71828.h mfd: bd71828, bd71815: Prepare for power-supply support 2025-10-01 10:28:47 +01:00
rohm-bd96801.h mfd: rohm-bd96801: Support ROHM BD96802 2025-04-24 14:52:57 +01:00
rohm-bd96802.h mfd: rohm-bd96801: Support ROHM BD96802 2025-04-24 14:52:57 +01:00
rohm-generic.h mfd: bd96801: Support ROHM BD96806 2025-04-24 14:53:13 +01:00
rohm-shared.h
rsmu.h
rt5033-private.h
rt5033.h
rz-mtu3.h
sc27xx-pmic.h
si476x-core.h
si476x-platform.h
si476x-reports.h
sky81452.h
stm32-lptimer.h mfd: stm32-lptimer: Add support for stm32mp25 2025-05-13 11:12:52 +01:00
stm32-timers.h mfd: stm32-timers: Add support for stm32mp25 2025-03-14 08:59:05 +00:00
stmfx.h
stmpe.h
stpmic1.h
stw481x.h
sun4i-gpadc.h
sy7636a.h
syscon.h
tc3589x.h
ti-lmu-register.h
ti-lmu.h
ti_am335x_tscadc.h
tps6105x.h
tps6507x.h
tps6586x.h
tps6594.h mfd: tps6594: Add TI TPS652G1 support 2025-07-10 09:58:01 +01:00
tps65010.h
tps65086.h
tps65090.h
tps65217.h
tps65218.h
tps65219.h mfd: tps65219: Implement LOCK register handling for TPS65214 2026-03-04 07:21:12 -05:00
tps65910.h
tps65912.h
tps68470.h
twl.h mfd: twl6030-irq: Remove unused twl6030_mmc_card_detect* 2025-07-24 11:27:00 +01:00
twl4030-audio.h
twl6040.h
ucb1x00.h
upboard-fpga.h mfd: Add support for AAEON UP board FPGA 2024-12-17 13:17:26 +00:00
viperboard.h
wl1273-core.h
wm97xx.h
wm8400-audio.h
wm8400-private.h
wm8400.h