mirror-linux/include/linux/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
..
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
mt6332
mt6357
mt6358 regulator: mt6358: Add missing regulators for MT6366 2023-10-02 19:43:49 +01:00
mt6359
mt6359p
mt6397 rtc: mt6397: drop unused defines 2025-04-01 12:03:39 +02:00
samsung regulator: s2mps11: add S2MPG10 regulator 2026-02-04 13:35:37 +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: Use IRQF_ONESHOT 2026-02-01 17:37:16 +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
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
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
hi6421-pmic.h
idt8a340_reg.h mfd: idt8a340_reg: Start comments with '/*' 2024-07-04 17:08:01 +01:00
idt82p33_reg.h
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
intel_soc_pmic_bxtwc.h
intel_soc_pmic_mrfld.h
ipaq-micro.h
iqs62x.h
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
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
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 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
ocelot.h
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
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-bd72720.h mfd: rohm-bd71828: Support ROHM BD72720 2026-01-13 12:47:28 +00: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: rohm-bd71828: Support ROHM BD72720 2026-01-13 12:47:28 +00:00
rohm-shared.h
rsmu.h
rt5033-private.h
rt5033.h
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
stmpe.h
stpmic1.h
stw481x.h
sun4i-gpadc.h mfd: sun4i-gpadc: Correct specified GPADC interrupt numbers 2024-02-23 14:58:00 +00:00
sy7636a.h
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
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 regulator: tps65086: Select dedicated regulator config for chip variant 2023-08-18 22:06:52 +01:00
tps65090.h
tps65217.h
tps65218.h
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
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
wm97xx.h
wm8400-audio.h
wm8400-private.h
wm8400.h