mirror-linux/include/linux/mfd
André Draszik ee19b52c31 mfd: sec: Use chained IRQs for s2mpg10
On S2MPG10 (and similar like S2MPG11), top-level interrupt status and
mask registers exist which need to be unmasked to get the PMIC
interrupts. This additional status doesn't seem to exist on other PMICs
in the S2MP* family, and the S2MPG10 driver is manually dealing with
masking and unmasking currently.

The correct approach here is to register this hierarchy as chained
interrupts, though, without any additional manual steps. Doing so will
also simplify addition of other, similar, PMICs (like S2MPG11) in the
future.

Update the driver to do just that.

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://patch.msgid.link/20251114-s2mpg10-chained-irq-v1-1-34ddfa49c4cd@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
2025-11-20 10:29:20 +00:00
..
abx500 mfd: ab8500: Remove non-existent configuration "#ifdef CONFIG_AB8500_DEBUG" 2023-11-01 10:02:11 +00:00
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 regulator: da9055: Fully convert to GPIO descriptors 2024-02-26 13:46:34 +00:00
da9062
da9063 watchdog: da9063: Do not use a global variable 2024-11-05 10:04:40 +01:00
da9150
madera mfd: madera: Don't use "proxy" headers 2025-07-24 11:27:14 +01:00
mt6323
mt6328 mfd: mt6397: Add initial support for MT6328 2024-10-31 16:25:03 +00:00
mt6331 mfd: mt6397: Add basic support for MT6331+MT6332 PMIC 2022-07-19 10:54:41 +01:00
mt6332 mfd: mt6397: Add basic support for MT6331+MT6332 PMIC 2022-07-19 10:54:41 +01:00
mt6357 mfd: mt6397-core: Add MT6357 PMIC support 2022-07-19 10:54:39 +01:00
mt6358 regulator: mt6358: Add missing regulators for MT6366 2023-10-02 19:43:49 +01:00
mt6359 mfd: mt6359: Add missing defines necessary for mtk-pmic-keys support 2022-04-26 19:23:05 +01:00
mt6359p
mt6397 rtc: mt6397: drop unused defines 2025-04-01 12:03:39 +02:00
samsung mfd: sec: Use chained IRQs for s2mpg10 2025-11-20 10:29:20 +00: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: Don't use "proxy" headers 2025-07-24 11:27:13 +01:00
wm8994
88pm80x.h mfd: 88pm80x: Constify read-only regmap structs 2024-08-30 09:40:11 +01:00
88pm860x.h mfd: 88pm860x: Remove unused extern declarations 2023-08-18 21:48:05 +01:00
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 drm: atmel-hlcdc: Define XLCDC specific registers 2024-05-30 15:44:05 +02:00
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 mfd: bcm2835-pm: Add support for BCM2711 2022-07-04 11:42:20 +01:00
bd9571mwv.h
bq257xx.h mfd: bq257xx: Add support for BQ25703A core driver 2025-09-11 15:54:43 +01:00
cgbc.h mfd: Add Congatec Board Controller driver 2024-10-09 16:31:48 +01:00
core.h mfd: core: Make platform_data pointer const in struct mfd_cell 2024-12-17 13:14:21 +00:00
cs40l50.h mfd: cs40l50: Add support for CS40L50 core driver 2024-06-28 15:36:05 +01:00
cs42l43-regs.h mfd: cs42l43: Add support for cs42l43 core driver 2023-08-17 12:06:11 +01:00
cs42l43.h mfd: cs42l43: Tidy up header includes 2024-02-23 14:58:01 +00:00
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 mfd: hi655x-pmic: Convert to devm_platform_ioremap_resource() 2023-08-18 21:48:00 +01:00
hi6421-pmic.h
idt8a340_reg.h mfd: idt8a340_reg: Start comments with '/*' 2024-07-04 17:08:01 +01:00
idt82p33_reg.h ptp: idt82p33: use rsmu driver to access i2c/spi bus 2022-03-09 19:50:57 -08:00
idtRC38xxx_reg.h ptp: add FemtoClock3 Wireless as ptp hardware clock 2024-01-29 13:00:23 +00:00
imx25-tsadc.h
ingenic-tcu.h
intel-m10-bmc.h mfd: intel-m10-bmc: Change staging size to a variable 2024-05-10 15:39:16 +01:00
intel_pmc_bxt.h
intel_soc_pmic.h mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Tab 3 X90F to intel_cht_wc_models 2023-02-04 13:03:27 +00:00
intel_soc_pmic_bxtwc.h
intel_soc_pmic_mrfld.h
ipaq-micro.h mfd: ipaq-micro: Fix spelling mistake of "receive{d}" 2022-07-19 10:54:41 +01:00
iqs62x.h mfd: iqs62x: Provide device revision to sub-devices 2022-02-14 13:07:22 +00:00
janz.h
kempld.h
khadas-mcu.h
lm3533.h mfd: lm3533: Move to new GPIO descriptor-based APIs 2024-07-04 17:38:40 +01:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
lp3943.h mfd: lp3943: Drop #include <linux/pwm.h> from header 2025-03-14 08:59:06 +00:00
lp8788-isink.h
lp8788.h backlight: lp8788: Drop support for platform data 2024-05-10 15:44:28 +01:00
lp87565.h
lpc_ich.h mfd: lpc_ich: Move APL GPIO resources to a custom structure 2023-11-01 10:02:13 +00:00
macsmc.h mfd: macsmc: Make SMC write buffers const 2025-11-06 14:03:28 +00:00
max5970.h regulator: max5970: Drop unused structs 2024-10-10 12:16:58 +01:00
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 mfd: max77541: Add ADI MAX77541/MAX77540 PMIC Support 2023-06-21 18:16:18 +01:00
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 mfd: max77714: Update Luca Ceresoli's e-mail address 2022-07-19 10:54:38 +01:00
max77759.h mfd: max77759: Add Maxim MAX77759 core driver 2025-05-09 15:22:30 +01:00
max77843-private.h mfd: Fix a few spelling mistakes in PMIC header file comments 2023-12-07 13:50:30 +00:00
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 mfd: ntxec: Add version number for EC in Tolino Vision 2023-02-22 11:42:29 +00:00
ocelot.h mfd: ocelot: Add helper to get regmap from a resource 2022-09-09 07:54:25 +01:00
palmas.h mfd: palmas: Constify strings with regulator names 2024-10-16 09:04:09 +01:00
pf1550.h mfd: pf1550: Add core driver for the PF1550 PMIC 2025-10-21 16:43:32 +01:00
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 watchdog: rn5t618: add support for read out bootstatus 2022-11-19 15:30:40 +01:00
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 mfd: rsmu: Support 32-bit address space 2023-04-26 11:40:34 +01:00
rt5033-private.h mfd: rt5033: Apply preparatory changes before adding rt5033-charger driver 2023-06-08 18:16:57 +01:00
rt5033.h power: supply: rt5033_battery: Move struct rt5033_battery to battery driver 2023-06-08 18:17:38 +01:00
rz-mtu3.h mfd: rz-mtu3: Link time dependencies 2023-08-18 21:48:04 +01:00
sc27xx-pmic.h
si476x-core.h
si476x-platform.h mfd: Fix a few spelling mistakes in PMIC header file comments 2023-12-07 13:50:30 +00:00
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 mfd: stmfx: Remove #ifdef guards for PM related functions 2022-12-07 13:28:13 +00:00
stmpe.h
stpmic1.h mfd: stpmic1: Fixup main control register and bits naming 2023-06-15 09:19:39 +01:00
stw481x.h
sun4i-gpadc.h mfd: sun4i-gpadc: Correct specified GPADC interrupt numbers 2024-02-23 14:58:00 +00:00
sy7636a.h mfd: simple-mfd-i2c: Enable support for the silergy,sy7636a 2022-02-08 09:27:22 +00:00
syscon.h mfd: syscon: Add of_syscon_register_regmap() API 2024-06-26 16:46:50 +01:00
tc3589x.h
ti-lmu-register.h
ti-lmu.h
ti_am335x_tscadc.h mfd: ti_am335x_tscadc: Drop the CNTRLREG_TSC_8WIRE macro 2021-11-29 13:17:00 +00:00
tps6105x.h
tps6507x.h
tps6586x.h
tps6594.h mfd: tps6594: Add TI TPS652G1 support 2025-07-10 09:58:01 +01:00
tps65010.h ARM/mfd/gpio: Fixup TPS65010 regression on OMAP1 OSK1 2023-05-24 15:01:22 +02:00
tps65086.h regulator: tps65086: Select dedicated regulator config for chip variant 2023-08-18 22:06:52 +01:00
tps65090.h
tps65217.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
tps65218.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE 2022-06-10 14:51:36 +02:00
tps65219.h mfd: tps65219: Remove another unused field from 'struct tps65219' 2025-07-24 11:27:09 +01:00
tps65910.h mfd: Fix a few spelling mistakes in PMIC header file comments 2023-12-07 13:50:30 +00:00
tps65912.h mfd: tps65912: Use devm helper functions to simplify probe 2024-07-04 17:38:40 +01:00
tps68470.h clk: Introduce clk-tps68470 driver 2021-12-15 20:12:07 -08:00
twl.h mfd: twl6030-irq: Remove unused twl6030_mmc_card_detect* 2025-07-24 11:27:00 +01:00
twl4030-audio.h
twl6040.h mfd: twl6040: Drop twl6040_platform_data and associated definitions 2022-12-07 13:28:07 +00:00
ucb1x00.h gpiolib: split linux/gpio/driver.h out of linux/gpio.h 2023-03-06 12:33:01 +02:00
upboard-fpga.h mfd: Add support for AAEON UP board FPGA 2024-12-17 13:17:26 +00:00
viperboard.h
wm97xx.h
wm8400-audio.h
wm8400-private.h
wm8400.h