linux/drivers/gpio
Linus Torvalds f97e18a3f2 gpio updates for v6.6
Core GPIOLIB updates:
 - wake-up poll() in user-space on device unbind
 - improve fwnode usage
 - interrupt domain handling improvements
 - correctly handle the ngpios property in gpio-mmio
 
 Driver cleanups:
 - remove unneeded calls to platform_set_drvdata() all around the place
 - remove unneeded of_match_ptr() expansions whenever a driver depends on
   CONFIG_OF
 - remove redundant calls to dev_err_probe() from gpio-omap and gpio-davinci
 
 Driver improvements:
 - use autopointers and guards from cleanup.h in gpio-sim
 - shrink code in gpio-sim using some common helpers
 - convert the idio family of drivers to using gpio-regmap
 - convert gpio-ws16c48 to using gpio-regmap
 - use devres to simplify code in gpio-pisosr and gpio-mxc
 - update gpio-sifive: support IRQ wake, improve interrupt handling, allow
   building as module
 - make gpio-ge and gpio-bcm-kona OF-independent (plus some minor tweaks)
 - add support for new models in gpio-pca953x and gpio-ds4520
 - add runtime PM support to gpio-mxc
 - fix a build warning in gpio-mxs
 - add support for adding pin ranges to gpio-mlxbf3
 - add counter/timer support to gpio-104-dio-48e
 - switch to dynamic GPIO base allocation in gpio-vf610
 - minor oneliners here and there
 
 Device-tree bindings updates:
 - enable the gpio-line-names property in snps,dw-apb and STMPE GPIO
 - document new models in fsl-imx-gpio, ds4520 and pca95xx
 - convert the bindings for brcm,kona-gpio to YAML
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmTt18QACgkQEacuoBRx
 13IkWw/7Bri9D6XJZSaqITu1tXf0mCRskEpQDjgvEW5MpGt8K5nHcg08h5e5KB3j
 1ppsWUZfCCzWexPkQlIeaXDnxJNoz4qfmq5gjJI1IP5BDs/Cvr6IxGLTMptPwsT8
 381TH8eFIky1L7Q37PXL4Mc4lFO6lI9ZuH0kAgn7NpDNVTYnfLj7BUlR8kMBYhqc
 yzeDVrUqO7NtxxWHpSz511EihmF1vWQmtvk8YI1aglbFyVaWI0sZgMHHzyENArR+
 EIzNd49GHFOZpLdmATRsN885Aa6nFSEKnRNP1gqcDt8VziTdujs/L93Rqh4h3oCt
 VbUobg1Sb4qSlVX0YapNWX9FyTSXupgVMPyjRd52O+X01Yjau4I8YSOMNKQXqudl
 Y2jN7MoEdPYtYj7JGiTM035VZ6rKxZkY5k4Dx4ZKqoBMT+QSCvqBbBapwamW5+8U
 EBrnpiJfQmqltQP54sb7vIRQ0j925kR0HYruDhjgxMaow1m8KzUJ5dG1yVuT1NGr
 8PnMn+QjxO6IB2BbZX0656lDq0QRE7qyrlmQQ+8vI7nHqs9nINP4HHpht8T+FsHC
 sJ2HN6HnzJlFZVFw3Zu6pn4Fhdkto0tiYaWxtFg/1oi0G6tl1imLx08UIvS101Xg
 QkjaQQ+kaBL4KnmXiysP9zT/mOPlZneeE8ephqsXVtQc7YP/+sk=
 =t+zD
 -----END PGP SIGNATURE-----

Merge tag 'gpio-updates-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "We have a lot of code refactoring using common helpers and ended up
  removing more lines then we're adding this release cycle.

  Nothing really stands out, just small updates all over the place.

  Core GPIOLIB updates:
   - wake-up poll() in user-space on device unbind
   - improve fwnode usage
   - interrupt domain handling improvements
   - correctly handle the ngpios property in gpio-mmio

  Driver cleanups:
   - remove unneeded calls to platform_set_drvdata() all around the
     place
   - remove unneeded of_match_ptr() expansions whenever a driver depends
     on CONFIG_OF
   - remove redundant calls to dev_err_probe() from gpio-omap and
     gpio-davinci

  Driver improvements:
   - use autopointers and guards from cleanup.h in gpio-sim
   - shrink code in gpio-sim using some common helpers
   - convert the idio family of drivers to using gpio-regmap
   - convert gpio-ws16c48 to using gpio-regmap
   - use devres to simplify code in gpio-pisosr and gpio-mxc
   - update gpio-sifive: support IRQ wake, improve interrupt handling,
     allow building as module
   - make gpio-ge and gpio-bcm-kona OF-independent (plus some minor
     tweaks)
   - add support for new models in gpio-pca953x and gpio-ds4520
   - add runtime PM support to gpio-mxc
   - fix a build warning in gpio-mxs
   - add support for adding pin ranges to gpio-mlxbf3
   - add counter/timer support to gpio-104-dio-48e
   - switch to dynamic GPIO base allocation in gpio-vf610
   - minor oneliners here and there

  Device-tree bindings updates:
   - enable the gpio-line-names property in snps,dw-apb and STMPE GPIO
   - document new models in fsl-imx-gpio, ds4520 and pca95xx
   - convert the bindings for brcm,kona-gpio to YAML"

* tag 'gpio-updates-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (94 commits)
  gpio: pca953x: add support for TCA9538
  dt-bindings: gpio: pca95xx: document new tca9538 chip
  gpio: pca953x: Use i2c_get_match_data()
  gpio: mlxbf3: use capital "OR" for multiple licenses in SPDX
  gpio: pcf857x: Extend match data support for OF tables
  gpio: vf610: switch to dynamic allocat GPIO base
  gpiolib: provide and use gpiod_line_state_notify()
  gpio: cdev: wake up lineevent poll() on device unbind
  gpio: cdev: wake up linereq poll() on device unbind
  gpio: cdev: wake up chardev poll() on device unbind
  gpiolib: add a second blocking notifier to struct gpio_device
  gpio: cdev: open-code to_gpio_chardev_data()
  gpiolib: rename the gpio_device notifier
  gpio: mlxbf3: Support add_pin_ranges()
  gpio: mxc: Use helper function devm_clk_get_optional_enabled()
  gpio: pca9570: fix kerneldoc
  gpio: sim: simplify code with cleanup helpers
  gpio: sim: replace memmove() + strstrip() with skip_spaces() + strim()
  gpio: sim: simplify gpio_sim_device_config_live_store()
  gpio: mxc: release the parent IRQ in runtime suspend
  ...
2023-08-29 10:21:56 -07:00
..
gpio-74x164.c
gpio-74xx-mmio.c gpio: 74xx-mmio: remove unneeded platform_set_drvdata() call 2023-07-29 16:03:17 +02:00
gpio-104-dio-48e.c gpio: 104-dio-48e: Add Counter/Timer support 2023-07-27 09:37:33 +02:00
gpio-104-idi-48.c
gpio-104-idio-16.c gpio: 104-idio-16: Migrate to the regmap API 2023-08-11 14:23:29 +02:00
gpio-adnp.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-adp5520.c
gpio-aggregator.c gpio: aggregator: Set up a parser of delay line parameters 2023-06-16 11:02:07 +02:00
gpio-altera-a10sr.c gpio: altera-a10sr: remove redundant of_match_ptr 2023-08-03 15:58:45 +02:00
gpio-altera.c
gpio-amd-fch.c
gpio-amd8111.c
gpio-amdpt.c
gpio-arizona.c
gpio-aspeed-sgpio.c
gpio-aspeed.c
gpio-ath79.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-bcm-kona.c gpio: bcm-kona: Drop unused pdev member in private data structure 2023-07-19 13:26:22 +02:00
gpio-bd9571mwv.c
gpio-bd71815.c
gpio-bd71828.c
gpio-brcmstb.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-bt8xx.c
gpio-cadence.c
gpio-clps711x.c gpio: clps711x: remove redundant of_match_ptr() 2023-08-03 15:58:46 +02:00
gpio-creg-snps.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-crystalcove.c
gpio-cs5535.c
gpio-da9052.c
gpio-da9055.c
gpio-davinci.c gpio: davinci: Remove redundant dev_err_probe() 2023-07-29 15:58:32 +02:00
gpio-dln2.c
gpio-ds4520.c gpio: ds4520: Add ADI DS4520 GPIO Expander Support 2023-07-29 15:56:33 +02:00
gpio-dwapb.c
gpio-eic-sprd.c gpio: eic-sprd: remove unneeded platform_set_drvdata() call 2023-07-29 16:07:04 +02:00
gpio-elkhartlake.c
gpio-em.c
gpio-en7523.c
gpio-ep93xx.c
gpio-exar.c gpio: exar: remove unneeded platform_set_drvdata() call 2023-07-29 16:04:38 +02:00
gpio-f7188x.c gpio-f7188x: fix chip name and pin count on Nuvoton chip 2023-05-23 10:47:41 +02:00
gpio-ftgpio010.c gpio: ftgpio010: Do not check for 0 return after calling platform_get_irq() 2023-08-03 15:54:11 +02:00
gpio-fxl6408.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-ge.c gpio: ge: Replace GPLv2 boilerplate with SPDX 2023-07-27 09:33:07 +02:00
gpio-gpio-mm.c
gpio-grgpio.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-gw-pld.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-hisi.c
gpio-hlwd.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-htc-egpio.c
gpio-i8255.c
gpio-i8255.h
gpio-ich.c
gpio-idio-16.c gpio: idio-16: Remove unused legacy interface 2023-08-11 14:23:32 +02:00
gpio-idio-16.h gpio: idio-16: Remove unused legacy interface 2023-08-11 14:23:32 +02:00
gpio-idt3243x.c
gpio-imx-scu.c gpio: imx-scu: Use ARRAY_SIZE for array length 2023-08-11 16:20:02 +02:00
gpio-it87.c
gpio-ixp4xx.c gpio: ixp4xx: remove redundant of_match_ptr() 2023-08-03 15:58:48 +02:00
gpio-janz-ttl.c
gpio-kempld.c
gpio-latch.c
gpio-ljca.c
gpio-logicvc.c gpio: logicvc: remove unneeded platform_set_drvdata() call 2023-07-29 16:05:50 +02:00
gpio-loongson-64bit.c
gpio-loongson.c
gpio-loongson1.c
gpio-lp873x.c
gpio-lp3943.c gpio: lp3943: remove unneeded platform_set_drvdata() call 2023-08-01 21:14:48 +02:00
gpio-lp87565.c
gpio-lpc18xx.c gpio: lpc18xx: Remove unused of_gpio.h inclusion 2023-06-19 14:45:29 +02:00
gpio-lpc32xx.c gpio: lpc32xx: remove redundant CONFIG_OF and of_match_ptr() 2023-08-03 15:58:49 +02:00
gpio-madera.c
gpio-max730x.c
gpio-max732x.c gpio: max732x: remove redundant CONFIG_OF and of_match_ptr() 2023-08-03 15:56:30 +02:00
gpio-max3191x.c gpio: max3191x: remove redundant of_match_ptr() 2023-08-03 15:58:50 +02:00
gpio-max7300.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-max7301.c
gpio-max77620.c gpio: max77620: remove unneeded platform_set_drvdata() call 2023-08-01 21:15:23 +02:00
gpio-max77650.c
gpio-mb86s7x.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-mc33880.c
gpio-menz127.c
gpio-merrifield.c
gpio-ml-ioh.c
gpio-mlxbf.c
gpio-mlxbf2.c
gpio-mlxbf3.c gpio: mlxbf3: use capital "OR" for multiple licenses in SPDX 2023-08-24 10:04:04 +02:00
gpio-mm-lantiq.c
gpio-mmio.c gpio: mmio: handle "ngpios" properly in bgpio_init() 2023-07-18 20:59:25 +02:00
gpio-mockup.c gpio: mockup: Fix mode of debugfs files 2023-05-17 11:19:32 +02:00
gpio-moxtet.c
gpio-mpc8xxx.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-mpc5200.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-msc313.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-mt7621.c
gpio-mvebu.c gpio: mvebu: fix irq domain leak 2023-07-20 14:38:36 +02:00
gpio-mxc.c gpio: mxc: Use helper function devm_clk_get_optional_enabled() 2023-08-21 14:11:16 +02:00
gpio-mxs.c gpio: mxs: fix Wvoid-pointer-to-enum-cast warning 2023-08-11 16:21:46 +02:00
gpio-octeon.c
gpio-omap.c gpio: omap: Remove redundant dev_err_probe() and zero value handle code 2023-07-29 15:50:44 +02:00
gpio-palmas.c gpio: palmas: remove unnecessary call to platform_set_drvdata() 2023-08-01 21:22:38 +02:00
gpio-pca953x.c gpio: pca953x: add support for TCA9538 2023-08-25 13:16:54 +02:00
gpio-pca9570.c gpio: pca9570: fix kerneldoc 2023-08-21 10:39:58 +02:00
gpio-pcf857x.c gpio: pcf857x: Extend match data support for OF tables 2023-08-22 11:41:17 +02:00
gpio-pch.c
gpio-pci-idio-16.c gpio: pci-idio-16: Migrate to the regmap API 2023-08-11 14:23:31 +02:00
gpio-pcie-idio-24.c gpio: pcie-idio-24: Migrate to the regmap API 2023-08-11 14:23:33 +02:00
gpio-pisosr.c gpio: pisosr: Use devm_gpiochip_add_data() to simplify remove path 2023-07-20 17:22:10 +02:00
gpio-pl061.c
gpio-pmic-eic-sprd.c gpio: pmic-eic-sprd: remove unnecessary call to platform_set_drvdata() 2023-08-01 21:25:30 +02:00
gpio-pxa.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-raspberrypi-exp.c gpio: raspberrypi-exp: remove redundant of_match_ptr() 2023-08-03 15:58:52 +02:00
gpio-rc5t583.c gpio: rc5t583: remove unneeded call to platform_set_drvdata() 2023-08-01 21:26:48 +02:00
gpio-rcar.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-rda.c
gpio-rdc321x.c
gpio-realtek-otto.c
gpio-reg.c
gpio-regmap.c
gpio-rockchip.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-sa1100.c gpio: sa1100: include <mach/generic.h> 2023-05-17 11:56:24 +02:00
gpio-sama5d2-piobu.c gpio: sama5d2-piobu: remove unneeded call to platform_set_drvdata() 2023-08-01 21:27:38 +02:00
gpio-sch.c gpio: sch: remove unneeded call to platform_set_drvdata() 2023-08-03 15:44:46 +02:00
gpio-sch311x.c gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path 2023-05-17 11:52:14 +02:00
gpio-sifive.c gpio: sifive: Allow building the driver as a module 2023-07-25 12:00:42 +02:00
gpio-sim.c gpio updates for v6.6 2023-08-29 10:21:56 -07:00
gpio-siox.c
gpio-sl28cpld.c
gpio-sodaville.c
gpio-spear-spics.c
gpio-sprd.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-stmpe.c
gpio-stp-xway.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-syscon.c gpio: syscon: remove unneeded call to platform_set_drvdata() 2023-08-03 15:44:49 +02:00
gpio-tangier.c gpio: tangier: calculate number of ctx using temporary variable 2023-05-23 10:22:25 +02:00
gpio-tangier.h
gpio-tb10x.c
gpio-tc3589x.c
gpio-tegra.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-tegra186.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-thunderx.c
gpio-timberdale.c gpio: timberdale: remove unneeded call to platform_set_drvdata() 2023-08-03 15:44:49 +02:00
gpio-tn48m.c
gpio-tpic2810.c gpio: Switch i2c drivers back to use .probe() 2023-05-23 10:09:11 +02:00
gpio-tps6586x.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-tps65086.c gpio: tps65086: Use devm_gpiochip_add_data() to simplify remove path 2023-05-17 11:40:40 +02:00
gpio-tps65218.c gpio: tps65218: remove redundant of_match_ptr() 2023-08-03 15:55:34 +02:00
gpio-tps65219.c gpio: tps65219: add GPIO support for TPS65219 PMIC 2023-06-13 14:49:56 +02:00
gpio-tps65910.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-tps65912.c
gpio-tps68470.c gpio: tps68470: Make tps68470_gpio_output() always set the initial value 2023-07-19 13:22:13 +02:00
gpio-tqmx86.c gpio: tqmx86: remove unneeded call to platform_set_drvdata() 2023-08-03 15:47:58 +02:00
gpio-ts4800.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-ts4900.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-ts5500.c
gpio-twl4030.c This removes all usage of global GPIO numbers from 2023-05-31 17:01:34 +02:00
gpio-twl6040.c
gpio-uniphier.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-vf610.c gpio: vf610: switch to dynamic allocat GPIO base 2023-08-22 11:39:32 +02:00
gpio-viperboard.c
gpio-virtio.c
gpio-visconti.c
gpio-vx855.c gpio: vx855: remove unneeded call to platform_set_drvdata() 2023-08-03 15:48:15 +02:00
gpio-wcd934x.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-wcove.c
gpio-winbond.c
gpio-wm831x.c
gpio-wm8350.c
gpio-wm8994.c
gpio-ws16c48.c gpio updates for v6.6 2023-08-29 10:21:56 -07:00
gpio-xgene-sb.c
gpio-xgene.c
gpio-xgs-iproc.c
gpio-xilinx.c gpio: Explicitly include correct DT includes 2023-07-19 13:24:01 +02:00
gpio-xlp.c
gpio-xra1403.c gpio: xra1403: remove redundant of_match_ptr() 2023-08-03 15:58:54 +02:00
gpio-xtensa.c
gpio-zevio.c gpio: zevio: remove unneeded call to platform_set_drvdata() 2023-08-03 15:48:27 +02:00
gpio-zynq.c gpio: synq: remove unused zynq_gpio_irq_reqres/zynq_gpio_irq_relres 2023-06-19 14:50:28 +02:00
gpio-zynqmp-modepin.c
gpiolib-acpi.c gpiolib: acpi: Don't use GPIO chip fwnode in acpi_gpiochip_find() 2023-07-10 11:26:13 +02:00
gpiolib-acpi.h
gpiolib-cdev.c gpiolib: provide and use gpiod_line_state_notify() 2023-08-22 09:37:46 +02:00
gpiolib-cdev.h
gpiolib-devres.c
gpiolib-legacy.c gpiolib: Kill unused GPIOF_OPEN_* 2023-06-01 09:52:39 +02:00
gpiolib-of.c gpio updates for v6.6 2023-08-29 10:21:56 -07:00
gpiolib-of.h
gpiolib-swnode.c
gpiolib-swnode.h
gpiolib-sysfs.c gpiolib: sysfs: Do unexport GPIO when user asks for it 2023-08-16 13:34:31 +02:00
gpiolib-sysfs.h
gpiolib.c gpio updates for v6.6 2023-08-29 10:21:56 -07:00
gpiolib.h gpiolib: provide and use gpiod_line_state_notify() 2023-08-22 09:37:46 +02:00
Kconfig gpio: ws16c48: Migrate to the regmap API 2023-08-11 14:23:35 +02:00
Makefile gpio: ds4520: Add ADI DS4520 GPIO Expander Support 2023-07-29 15:56:33 +02:00
TODO