linux/drivers/mfd
Linus Torvalds d701782152 gpio updates for v7.0-rc1
GPIOLIB core:
 - shrink the GPIO bus driver stub code
 - rework software node support for "undefined" software nodes
 - provide and use devm_fwnode_gpiod_get_optional()
 - only compile the OF quirk for MT2701 when needed
 
 New drivers:
 - add the GPIO driver for ROHM bd72720
 - add the gpio-line-mux driver providing 1-to-many mapping for a single
   real GPIO
 
 Driver changes:
 - refactor gpio-pca9570: use lock guard, add missing headers, use devres
   consistently
 - add support for a new model (G7 Aspeed sgpiom) to the aspeed-sgpio driver
   along with some prerequisite refactoring
 - use device_get_match_data() where applicable and save some lines
 - add support for more models to gpio-cadence
 - add the compatible property to reset-gpio and use it in shared GPIO
   management
 - drop unnecessary use of irqd_get_trigger_type() in gpio-max77759
 - add support for a new variant to gpio-pca953x
 - extend build coverage with COMPILE_TEST for more drivers
 - constify configfs structures in gpio-sim and gpio-virtuser
 - add support for the K3 SoC to gpio-spacemit
 - implement the missing .get_direction() callback in gpio-max77620
 - add support for Tegra264 to gpio-tegra186
 - drop unneeded MODULE_ALIAS() from gpio-menz127
 
 DT bindings:
 - document support for the opencores GPIO controller in gpio-mmio
 - document new variants for gpio-pca953x
 
 Documentation:
 - extensively describe interrupt source detection for gpio-pca953x and
   add more models to the list of supported variants
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEkeUTLeW1Rh17omX8BZ0uy/82hMMFAmmK9bwACgkQBZ0uy/82
 hMM3rQ/7BTRmMgGiJXlDpqkUoA9fQusiEcokwgmpvlJFM3cb2ANzrjxqZDGnUVLS
 OFaVCPjgUTDrmWNgSSy5SBfyfVkvbXmT7X5+e38qotlNun6BKCPhF1H5HxBgJv9P
 ObHXZ6ACrg4Ia+jl0QkpIXUDC/vAzaBUml5LUATGHpwf/pa4ZcBDXXbLIEtEfSpb
 kNDDQVeWJlWxDYNuJudR8BL2saZFEoD9RaX8F4jLya8ogecoKXElK8Nj0G0Gua8D
 UkH9aKMlNTIrk/iE6MiohaLWWqBgRV6+wO6vd2IRek5iItTbPffk4iT2/dOiX8H4
 HcOxXBxACH/+wicXGwY360r5M5BCYaMcUvLQaCxLuac2T4302aFLcrWH7be+Ju6f
 F+rPBRK1LTYwn0LNlu1I7hYBbwNWHCXfWejXXTH4pMO4uyiwCPpkBHXWCyjWSTuV
 YhIbWVYuQjVgxvPCoJ0+67ju++I2ShlXtiT6NorQrxGt9CCBzMN4KU/uMPkN5j+Z
 RgurHuEEB1hZ8h5Tzs058L6Pxfyp4eY6Qy8BKLPcrGZaKvvX/EZeI/JkeQOOItKe
 VoVq4NIeeqYmqzFa5xrsRYnGUw6lKVj2M5SrjRfbGRz4xVX+rSgrBZMrz1gJyisP
 1M5LiGj+c91oo41tysJdPjkc8dkN47hFbNLzB27kXDfm77qlbUE=
 =Zhuy
 -----END PGP SIGNATURE-----

Merge tag 'gpio-updates-for-v7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "There are two new drivers and some changes to GPIO core but mostly
  just GPIO driver updates across a wide array of files, adding support
  for new models as well as various refactoring changes. Nothing
  controversial and everything has spent a good measure of time in
  linux-next.

  GPIOLIB core:
   - shrink the GPIO bus driver stub code
   - rework software node support for "undefined" software nodes
   - provide and use devm_fwnode_gpiod_get_optional()
   - only compile the OF quirk for MT2701 when needed

  New drivers:
   - add the GPIO driver for ROHM bd72720
   - add the gpio-line-mux driver providing 1-to-many mapping for a
     single real GPIO

  Driver changes:
   - refactor gpio-pca9570: use lock guard, add missing headers, use
     devres consistently
   - add support for a new model (G7 Aspeed sgpiom) to the aspeed-sgpio
     driver along with some prerequisite refactoring
   - use device_get_match_data() where applicable and save some lines
   - add support for more models to gpio-cadence
   - add the compatible property to reset-gpio and use it in shared GPIO
     management
   - drop unnecessary use of irqd_get_trigger_type() in gpio-max77759
   - add support for a new variant to gpio-pca953x
   - extend build coverage with COMPILE_TEST for more drivers
   - constify configfs structures in gpio-sim and gpio-virtuser
   - add support for the K3 SoC to gpio-spacemit
   - implement the missing .get_direction() callback in gpio-max77620
   - add support for Tegra264 to gpio-tegra186
   - drop unneeded MODULE_ALIAS() from gpio-menz127

  DT bindings:
   - document support for the opencores GPIO controller in gpio-mmio
   - document new variants for gpio-pca953x

  Documentation:
   - extensively describe interrupt source detection for gpio-pca953x
     and add more models to the list of supported variants"

* tag 'gpio-updates-for-v7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (59 commits)
  gpio: tegra186: Add support for Tegra264
  dt-bindings: gpio: Add Tegra264 support
  gpio: spacemit-k1: Use PDR for pin direction, not SDR/CDR
  gpio: max77620: Implement .get_direction() callback
  gpio: aspeed-sgpio: Support G7 Aspeed sgpiom controller
  dt-bindings: gpio: aspeed,sgpio: Support ast2700
  gpio: aspeed-sgpio: Convert IRQ functions to use llops callbacks
  gpio: aspeed-sgpio: Create llops to handle hardware access
  gpio: aspeed-sgpio: Remove unused bank name field
  gpio: aspeed-sgpio: Change the macro to support deferred probe
  regulator: bd71815: switch to devm_fwnode_gpiod_get_optional
  gpiolib: introduce devm_fwnode_gpiod_get_optional() wrapper
  gpio: mmio: Add compatible for opencores GPIO
  dt-bindings: gpio-mmio: Correct opencores GPIO
  gpio: pca9570: use lock guards
  gpio: pca9570: Don't use "proxy" headers
  gpio: pca9570: Use devm_mutex_init() for mutex initialization
  MAINTAINERS: Add ROHM BD72720 PMIC
  power: supply: bd71828-power: Support ROHM BD72720
  power: supply: bd71828: Support wider register addresses
  ...
2026-02-11 10:53:39 -08:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c
88pm860x-i2c.c
88pm886.c
Kconfig mfd: rohm-bd71828: Support ROHM BD72720 2026-01-13 12:47:28 +00:00
Makefile mfd: wl1273-core: Remove unused driver 2025-11-06 14:03:37 +00:00
aat2870-core.c
ab8500-core.c
ab8500-sysctrl.c
abx500-core.c
ac100.c
acer-ec-a500.c
act8945a.c
adp5520.c
adp5585.c
altera-a10sr.c
altera-sysmgr.c mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup 2025-11-06 14:03:32 +00:00
arizona-core.c
arizona-i2c.c
arizona-irq.c
arizona-spi.c
arizona.h
as3711.c
as3722.c
at91-usart.c
atc260x-core.c
atc260x-i2c.c
atmel-flexcom.c
atmel-hlcdc.c
atmel-smc.c
axp20x-i2c.c
axp20x-rsb.c
axp20x.c
bcm590xx.c
bcm2835-pm.c mfd: bcm2835-pm: Add support for BCM2712 2025-11-06 17:01:05 +00:00
bd9571mwv.c
bq257xx.c
cgbc-core.c
cros_ec_dev.c
cs40l50-core.c
cs40l50-i2c.c
cs40l50-spi.c
cs42l43-i2c.c
cs42l43-sdw.c
cs42l43.c
cs42l43.h
cs47l15-tables.c
cs47l24-tables.c
cs47l35-tables.c
cs47l85-tables.c
cs47l90-tables.c
cs47l92-tables.c
cs5535-mfd.c
da903x.c
da9052-core.c
da9052-i2c.c
da9052-irq.c
da9052-spi.c
da9055-core.c mfd: da9055: Simplify the error handling path in da9055_device_init() 2025-11-06 14:05:02 +00:00
da9055-i2c.c
da9062-core.c
da9063-core.c
da9063-i2c.c mfd: da9063: Occupy second I2C address 2025-11-06 14:03:46 +00:00
da9063-irq.c
da9150-core.c
db8500-prcmu-regs.h
db8500-prcmu.c
dln2.c
ene-kb3930.c
exynos-lpass.c
ezx-pcap.c
fsl-imx25-tsadc.c
gateworks-gsc.c
hi655x-pmic.c
hi6421-pmic-core.c
hi6421-spmi-pmic.c
intel-lpss-acpi.c
intel-lpss-pci.c
intel-lpss.c
intel-lpss.h
intel-m10-bmc-core.c
intel-m10-bmc-pmci.c
intel-m10-bmc-spi.c
intel_pmc_bxt.c
intel_quark_i2c_gpio.c
intel_soc_pmic_bxtwc.c
intel_soc_pmic_chtdc_ti.c
intel_soc_pmic_chtwc.c
intel_soc_pmic_crc.c
intel_soc_pmic_mrfld.c
ioc3.c
ipaq-micro.c
iqs62x.c
janz-cmodio.c
kempld-core.c
khadas-mcu.c
lm3533-core.c
lm3533-ctrlbank.c
lochnagar-i2c.c
loongson-se.c
lp873x.c
lp3943.c
lp8788-irq.c
lp8788.c
lp87565.c
lpc_ich.c
lpc_sch.c
ls2k-bmc-core.c MFD for v6.19 2025-12-04 15:18:33 -08:00
macsmc.c mfd: macsmc: Make SMC write buffers const 2025-11-06 14:03:28 +00:00
madera-core.c
madera-i2c.c
madera-spi.c
madera.h
max7360.c
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max14577.c
max77541.c
max77620.c mfd: max77620: Fix potential IRQ chip conflict when probing two devices 2025-11-06 14:04:02 +00:00
max77650.c
max77686.c
max77693.c
max77705.c
max77714.c
max77759.c
max77843.c
mc13xxx-core.c
mc13xxx-i2c.c
mc13xxx-spi.c
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c
menf21bmc.c
mfd-core.c
motorola-cpcap.c
mp2629.c
mt6358-irq.c mfd: mt6358-irq: Fix missing irq_domain_remove() in error path 2025-11-20 14:24:03 +00:00
mt6360-core.c
mt6370.c
mt6370.h
mt6397-core.c
mt6397-irq.c mfd: mt6397-irq: Fix missing irq_domain_remove() in error path 2025-11-20 14:22:36 +00:00
mxs-lradc.c
nct6694.c
ntxec.c
ocelot-core.c
ocelot-spi.c
ocelot.h
omap-usb-host.c
omap-usb-tll.c
omap-usb.h
palmas.c
pf1550.c mfd: pf1550: Add core driver for the PF1550 PMIC 2025-10-21 16:43:32 +01:00
qcom-pm8xxx.c
qcom-pm8008.c
qcom-spmi-pmic.c
qcom_rpm.c
qnap-mcu.c mfd: qnap-mcu: Hook up the EEPROM sub-device 2025-11-21 12:08:25 +00:00
rave-sp.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rk8xx-core.c
rk8xx-i2c.c
rk8xx-spi.c
rn5t618.c
rohm-bd718x7.c mfd: bd718x7: Use regmap_reg_range() for pmic_status_range 2025-11-06 16:02:11 +00:00
rohm-bd9576.c
rohm-bd71828.c mfd: rohm-bd71828: Support ROHM BD72720 2026-01-13 12:47:28 +00:00
rohm-bd96801.c
rsmu.h
rsmu_core.c
rsmu_i2c.c
rsmu_spi.c
rt4831.c
rt5033.c
rt5120.c
rz-mtu3.c
rz-mtu3.h
sec-acpm.c mfd: sec: Add support for S2MPG11 PMIC via ACPM 2026-02-04 10:37:29 +00:00
sec-common.c mfd: sec: Add support for S2MPG11 PMIC via ACPM 2026-02-04 10:37:29 +00:00
sec-core.h mfd: sec: Drop now unused struct sec_pmic_dev::irq_data 2026-01-20 15:37:48 +00:00
sec-i2c.c
sec-irq.c mfd: sec: Add support for S2MPG11 PMIC via ACPM 2026-02-04 10:37:29 +00:00
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
simple-mfd-i2c.c mfd: simple-mfd-i2c: Don't use "proxy" headers 2025-11-19 16:05:16 +00:00
simple-mfd-i2c.h
sky81452.c
sm501.c
smpro-core.c
sprd-sc27xx-spi.c
ssbi.c
stm32-lptimer.c
stm32-timers.c
stmfx.c
stmpe-i2c.c
stmpe-spi.c
stmpe.c
stmpe.h
stpmic1.c
stw481x.c
sun4i-gpadc.c
sun6i-prcm.c
syscon.c mfd: syscon: Return -EPROBE_DEFER if the syscon is not found 2025-11-13 14:32:39 +00:00
tc3589x.c
ti-lmu.c
ti_am335x_tscadc.c
timberdale.c
timberdale.h
tps6105x.c
tps6507x.c
tps6586x.c
tps6594-core.c
tps6594-i2c.c
tps6594-spi.c
tps65010.c
tps65086.c
tps65090.c
tps65217.c
tps65218.c
tps65219.c
tps65910.c
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-spi.c
tqmx86.c mfd: tqmx86: Add board definitions for TQMxCU1-HPCM and TQMxCU2-HPCM 2025-11-06 14:03:43 +00:00
twl-core.c
twl-core.h
twl4030-audio.c
twl4030-irq.c
twl4030-power.c
twl6030-irq.c
twl6040.c
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
upboard-fpga.c
vexpress-sysreg.c
viperboard.c
vx855.c
wcd934x.c
wm97xx-core.c
wm831x-auxadc.c
wm831x-core.c
wm831x-i2c.c
wm831x-irq.c
wm831x-otp.c
wm831x-spi.c
wm5102-tables.c
wm5110-tables.c
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c
wm8994-core.c
wm8994-irq.c
wm8994-regmap.c
wm8994.h
wm8997-tables.c
wm8998-tables.c