[PATCH v2 00/21] gpio: Improvements around device-id arrays

Uwe Kleine-König (The Capable Hub) posted 21 patches 1 week, 2 days ago
drivers/gpio/gpio-74x164.c          |  4 ++--
drivers/gpio/gpio-adnp.c            |  4 ++--
drivers/gpio/gpio-aggregator.c      |  2 +-
drivers/gpio/gpio-altera-a10sr.c    |  2 +-
drivers/gpio/gpio-altera.c          |  4 ++--
drivers/gpio/gpio-amd8111.c         |  2 +-
drivers/gpio/gpio-amdpt.c           |  8 ++++----
drivers/gpio/gpio-aspeed-sgpio.c    | 10 +++++-----
drivers/gpio/gpio-aspeed.c          | 10 +++++-----
drivers/gpio/gpio-ath79.c           |  2 +-
drivers/gpio/gpio-bcm-kona.c        |  1 +
drivers/gpio/gpio-blzp1600.c        |  4 ++--
drivers/gpio/gpio-brcmstb.c         |  2 +-
drivers/gpio/gpio-bt8xx.c           |  2 +-
drivers/gpio/gpio-cadence.c         |  6 +++---
drivers/gpio/gpio-creg-snps.c       |  5 +++--
drivers/gpio/gpio-davinci.c         |  8 ++++----
drivers/gpio/gpio-dwapb.c           | 14 +++++++-------
drivers/gpio/gpio-em.c              |  4 ++--
drivers/gpio/gpio-ep93xx.c          |  1 +
drivers/gpio/gpio-ftgpio010.c       |  3 ++-
drivers/gpio/gpio-fxl6408.c         |  2 +-
drivers/gpio/gpio-graniterapids.c   |  4 ++--
drivers/gpio/gpio-grgpio.c          |  2 +-
drivers/gpio/gpio-gw-pld.c          |  4 ++--
drivers/gpio/gpio-hisi.c            |  6 +++---
drivers/gpio/gpio-hlwd.c            |  4 ++--
drivers/gpio/gpio-imx-scu.c         |  1 +
drivers/gpio/gpio-ixp4xx.c          |  4 ++--
drivers/gpio/gpio-ljca.c            |  4 ++--
drivers/gpio/gpio-loongson-64bit.c  |  4 ++--
drivers/gpio/gpio-lp3943.c          |  2 +-
drivers/gpio/gpio-lpc32xx.c         |  4 ++--
drivers/gpio/gpio-macsmc.c          |  4 ++--
drivers/gpio/gpio-max3191x.c        | 12 ++++++------
drivers/gpio/gpio-max7301.c         |  2 +-
drivers/gpio/gpio-max7360.c         |  8 ++++----
drivers/gpio/gpio-max77620.c        |  4 ++--
drivers/gpio/gpio-max77759.c        |  2 +-
drivers/gpio/gpio-mb86s7x.c         |  2 +-
drivers/gpio/gpio-ml-ioh.c          |  2 +-
drivers/gpio/gpio-mlxbf.c           |  6 +++---
drivers/gpio/gpio-mlxbf2.c          |  6 +++---
drivers/gpio/gpio-mlxbf3.c          |  4 ++--
drivers/gpio/gpio-mm-lantiq.c       |  2 +-
drivers/gpio/gpio-mmio.c            |  3 +--
drivers/gpio/gpio-mockup.c          |  4 ++--
drivers/gpio/gpio-moxtet.c          |  4 ++--
drivers/gpio/gpio-mpc5200.c         |  9 +++++----
drivers/gpio/gpio-mpc8xxx.c         | 25 +++++++++++++------------
drivers/gpio/gpio-mpfs.c            |  1 +
drivers/gpio/gpio-mpsse.c           |  3 +--
drivers/gpio/gpio-msc313.c          |  1 +
drivers/gpio/gpio-mt7621.c          |  2 +-
drivers/gpio/gpio-mvebu.c           | 13 +++++++------
drivers/gpio/gpio-mxc.c             |  2 +-
drivers/gpio/gpio-mxs.c             |  4 ++--
drivers/gpio/gpio-nomadik.c         |  7 ++++---
drivers/gpio/gpio-novalake-events.c |  4 ++--
drivers/gpio/gpio-npcm-sgpio.c      |  6 +++---
drivers/gpio/gpio-octeon.c          |  2 +-
drivers/gpio/gpio-omap.c            |  2 +-
drivers/gpio/gpio-palmas.c          | 10 +++++-----
drivers/gpio/gpio-pca953x.c         |  4 ++--
drivers/gpio/gpio-pca9570.c         |  2 +-
drivers/gpio/gpio-pcf857x.c         | 26 +++++++++++++-------------
drivers/gpio/gpio-pci-idio-16.c     |  3 ++-
drivers/gpio/gpio-pcie-idio-24.c    |  8 +++++---
drivers/gpio/gpio-pisosr.c          |  4 ++--
drivers/gpio/gpio-pl061.c           |  2 +-
drivers/gpio/gpio-pmic-eic-sprd.c   |  2 +-
drivers/gpio/gpio-pxa.c             | 20 +++++++++++---------
drivers/gpio/gpio-qixis-fpga.c      |  3 +--
drivers/gpio/gpio-rcar.c            |  2 +-
drivers/gpio/gpio-rda.c             |  2 +-
drivers/gpio/gpio-realtek-otto.c    |  2 +-
drivers/gpio/gpio-rockchip.c        |  4 ++--
drivers/gpio/gpio-sama5d2-piobu.c   |  2 +-
drivers/gpio/gpio-sifive.c          |  2 +-
drivers/gpio/gpio-sl28cpld.c        |  2 +-
drivers/gpio/gpio-sodaville.c       |  3 ++-
drivers/gpio/gpio-spear-spics.c     |  3 ++-
drivers/gpio/gpio-sprd.c            |  2 +-
drivers/gpio/gpio-stmpe.c           |  2 +-
drivers/gpio/gpio-stp-xway.c        |  2 +-
drivers/gpio/gpio-tegra.c           |  6 +++---
drivers/gpio/gpio-tegra186.c        | 26 +++++++++++++-------------
drivers/gpio/gpio-thunderx.c        |  3 +--
drivers/gpio/gpio-tps65218.c        |  2 +-
drivers/gpio/gpio-ts4800.c          |  4 ++--
drivers/gpio/gpio-ts4900.c          |  2 +-
drivers/gpio/gpio-twl4030.c         |  4 ++--
drivers/gpio/gpio-usbio.c           | 13 +++++++------
drivers/gpio/gpio-vf610.c           |  4 ++--
drivers/gpio/gpio-virtio.c          |  4 ++--
drivers/gpio/gpio-visconti.c        |  2 +-
drivers/gpio/gpio-waveshare-dsi.c   |  2 +-
drivers/gpio/gpio-xgene-sb.c        |  6 +++---
drivers/gpio/gpio-xgene.c           | 10 ++++++----
drivers/gpio/gpio-xgs-iproc.c       |  2 +-
drivers/gpio/gpio-xilinx.c          |  4 ++--
drivers/gpio/gpio-xlp.c             |  6 +++---
drivers/gpio/gpio-xra1403.c         |  6 +++---
drivers/gpio/gpio-zevio.c           |  5 +++--
drivers/gpio/gpio-zynqmp-modepin.c  |  2 +-
drivers/gpio/gpiolib-acpi-quirks.c  |  2 +-
106 files changed, 265 insertions(+), 247 deletions(-)
[PATCH v2 00/21] gpio: Improvements around device-id arrays
Posted by Uwe Kleine-König (The Capable Hub) 1 week, 2 days ago
Hello,

as with v1 the original motivation for this series are the patches that
convert the arrays to use named initializers, see
https://lore.kernel.org/all/cover.1780048925.git.u.kleine-koenig@baylibre.com/
for the idea behind it. Then by not closing the eyes for small issues
spotted while working on that, this series grew a bit.

Changes since v1 (available at
https://lore.kernel.org/linux-kernel/cover.1784013063.git.u.kleine-koenig@baylibre.com):

 - Trivially rebase to today's next/master
 - The first two patches are new. My script didn't match on device-id
   arrays that are marked with __maybe_unused, so the drivers touched in
   these two patches are adapted further down, too.
 - Fixed capitalisation of PCI (Andy), did the same for ACPI
 - Sort the ACPI device-id arrays by .id in the "unify" patch (only one
   instance in gpio-dwapb.c was unsorted), suggested by Andy.
 - Found a few other inconsistent device_id arrays that my script didn't
   match (due to .driver_data not being a single expression or a comment
   in the terminator or more than one array in a single file)
 - Fixed cast expressions in drivers/gpio/gpio-mvebu.c to please
   checkpatch
 - Dropped the dmi MODULE_DEVICE_TABLE patch
 - Added review tags from v1

Checkpatch only reports two undocumented device-tree compatibles. I felt
free to ignore these as this is a pre-existing issue and out-of-context
for this series.

Best regards
Uwe

Uwe Kleine-König (The Capable Hub) (21):
  gpio: Remove __maybe_unused annotations from acpi_device_id arrays
  gpio: fxl6408: Remove __maybe_unused annotations from of_device_id
    array
  gpio: Drop unused assignment of acpi_device_id driver data
  gpio: max7301: Drop unused assignment of spi_device_id driver data
  gpio: mmio: Drop unused assignment of platform_device_id driver data
  gpio: ljca: Drop unused assignment of auxiliary_device_id driver data
  gpio: Add missing ACPI module annotations
  gpio: sodaville: Add missing PCI module annotations
  gpio: Add missing OF module annotations
  gpio: pxa: Add missing platform module annotations
  gpio: pl061: Use empty initializer for amba_id terminator
  gpio: Use named initializers for acpi_device_id array
  gpio: Use named initializers for spi_device_id array
  gpio: virtio: Use a named initializer for virtio_device_id array
  gpio: pcf857x: Use named initializers for of_device_id array
  gpio: Unify style of acpi_device_id arrays
  gpio: Unify style of of_device_id arrays
  gpio: max77620: Unify style of platform_device_id arrays
  gpio: Unify style of spi_device_id arrays
  gpio: Unify style of pci_device_id arrays
  gpio: Unify style of various *_device_id arrays

 drivers/gpio/gpio-74x164.c          |  4 ++--
 drivers/gpio/gpio-adnp.c            |  4 ++--
 drivers/gpio/gpio-aggregator.c      |  2 +-
 drivers/gpio/gpio-altera-a10sr.c    |  2 +-
 drivers/gpio/gpio-altera.c          |  4 ++--
 drivers/gpio/gpio-amd8111.c         |  2 +-
 drivers/gpio/gpio-amdpt.c           |  8 ++++----
 drivers/gpio/gpio-aspeed-sgpio.c    | 10 +++++-----
 drivers/gpio/gpio-aspeed.c          | 10 +++++-----
 drivers/gpio/gpio-ath79.c           |  2 +-
 drivers/gpio/gpio-bcm-kona.c        |  1 +
 drivers/gpio/gpio-blzp1600.c        |  4 ++--
 drivers/gpio/gpio-brcmstb.c         |  2 +-
 drivers/gpio/gpio-bt8xx.c           |  2 +-
 drivers/gpio/gpio-cadence.c         |  6 +++---
 drivers/gpio/gpio-creg-snps.c       |  5 +++--
 drivers/gpio/gpio-davinci.c         |  8 ++++----
 drivers/gpio/gpio-dwapb.c           | 14 +++++++-------
 drivers/gpio/gpio-em.c              |  4 ++--
 drivers/gpio/gpio-ep93xx.c          |  1 +
 drivers/gpio/gpio-ftgpio010.c       |  3 ++-
 drivers/gpio/gpio-fxl6408.c         |  2 +-
 drivers/gpio/gpio-graniterapids.c   |  4 ++--
 drivers/gpio/gpio-grgpio.c          |  2 +-
 drivers/gpio/gpio-gw-pld.c          |  4 ++--
 drivers/gpio/gpio-hisi.c            |  6 +++---
 drivers/gpio/gpio-hlwd.c            |  4 ++--
 drivers/gpio/gpio-imx-scu.c         |  1 +
 drivers/gpio/gpio-ixp4xx.c          |  4 ++--
 drivers/gpio/gpio-ljca.c            |  4 ++--
 drivers/gpio/gpio-loongson-64bit.c  |  4 ++--
 drivers/gpio/gpio-lp3943.c          |  2 +-
 drivers/gpio/gpio-lpc32xx.c         |  4 ++--
 drivers/gpio/gpio-macsmc.c          |  4 ++--
 drivers/gpio/gpio-max3191x.c        | 12 ++++++------
 drivers/gpio/gpio-max7301.c         |  2 +-
 drivers/gpio/gpio-max7360.c         |  8 ++++----
 drivers/gpio/gpio-max77620.c        |  4 ++--
 drivers/gpio/gpio-max77759.c        |  2 +-
 drivers/gpio/gpio-mb86s7x.c         |  2 +-
 drivers/gpio/gpio-ml-ioh.c          |  2 +-
 drivers/gpio/gpio-mlxbf.c           |  6 +++---
 drivers/gpio/gpio-mlxbf2.c          |  6 +++---
 drivers/gpio/gpio-mlxbf3.c          |  4 ++--
 drivers/gpio/gpio-mm-lantiq.c       |  2 +-
 drivers/gpio/gpio-mmio.c            |  3 +--
 drivers/gpio/gpio-mockup.c          |  4 ++--
 drivers/gpio/gpio-moxtet.c          |  4 ++--
 drivers/gpio/gpio-mpc5200.c         |  9 +++++----
 drivers/gpio/gpio-mpc8xxx.c         | 25 +++++++++++++------------
 drivers/gpio/gpio-mpfs.c            |  1 +
 drivers/gpio/gpio-mpsse.c           |  3 +--
 drivers/gpio/gpio-msc313.c          |  1 +
 drivers/gpio/gpio-mt7621.c          |  2 +-
 drivers/gpio/gpio-mvebu.c           | 13 +++++++------
 drivers/gpio/gpio-mxc.c             |  2 +-
 drivers/gpio/gpio-mxs.c             |  4 ++--
 drivers/gpio/gpio-nomadik.c         |  7 ++++---
 drivers/gpio/gpio-novalake-events.c |  4 ++--
 drivers/gpio/gpio-npcm-sgpio.c      |  6 +++---
 drivers/gpio/gpio-octeon.c          |  2 +-
 drivers/gpio/gpio-omap.c            |  2 +-
 drivers/gpio/gpio-palmas.c          | 10 +++++-----
 drivers/gpio/gpio-pca953x.c         |  4 ++--
 drivers/gpio/gpio-pca9570.c         |  2 +-
 drivers/gpio/gpio-pcf857x.c         | 26 +++++++++++++-------------
 drivers/gpio/gpio-pci-idio-16.c     |  3 ++-
 drivers/gpio/gpio-pcie-idio-24.c    |  8 +++++---
 drivers/gpio/gpio-pisosr.c          |  4 ++--
 drivers/gpio/gpio-pl061.c           |  2 +-
 drivers/gpio/gpio-pmic-eic-sprd.c   |  2 +-
 drivers/gpio/gpio-pxa.c             | 20 +++++++++++---------
 drivers/gpio/gpio-qixis-fpga.c      |  3 +--
 drivers/gpio/gpio-rcar.c            |  2 +-
 drivers/gpio/gpio-rda.c             |  2 +-
 drivers/gpio/gpio-realtek-otto.c    |  2 +-
 drivers/gpio/gpio-rockchip.c        |  4 ++--
 drivers/gpio/gpio-sama5d2-piobu.c   |  2 +-
 drivers/gpio/gpio-sifive.c          |  2 +-
 drivers/gpio/gpio-sl28cpld.c        |  2 +-
 drivers/gpio/gpio-sodaville.c       |  3 ++-
 drivers/gpio/gpio-spear-spics.c     |  3 ++-
 drivers/gpio/gpio-sprd.c            |  2 +-
 drivers/gpio/gpio-stmpe.c           |  2 +-
 drivers/gpio/gpio-stp-xway.c        |  2 +-
 drivers/gpio/gpio-tegra.c           |  6 +++---
 drivers/gpio/gpio-tegra186.c        | 26 +++++++++++++-------------
 drivers/gpio/gpio-thunderx.c        |  3 +--
 drivers/gpio/gpio-tps65218.c        |  2 +-
 drivers/gpio/gpio-ts4800.c          |  4 ++--
 drivers/gpio/gpio-ts4900.c          |  2 +-
 drivers/gpio/gpio-twl4030.c         |  4 ++--
 drivers/gpio/gpio-usbio.c           | 13 +++++++------
 drivers/gpio/gpio-vf610.c           |  4 ++--
 drivers/gpio/gpio-virtio.c          |  4 ++--
 drivers/gpio/gpio-visconti.c        |  2 +-
 drivers/gpio/gpio-waveshare-dsi.c   |  2 +-
 drivers/gpio/gpio-xgene-sb.c        |  6 +++---
 drivers/gpio/gpio-xgene.c           | 10 ++++++----
 drivers/gpio/gpio-xgs-iproc.c       |  2 +-
 drivers/gpio/gpio-xilinx.c          |  4 ++--
 drivers/gpio/gpio-xlp.c             |  6 +++---
 drivers/gpio/gpio-xra1403.c         |  6 +++---
 drivers/gpio/gpio-zevio.c           |  5 +++--
 drivers/gpio/gpio-zynqmp-modepin.c  |  2 +-
 drivers/gpio/gpiolib-acpi-quirks.c  |  2 +-
 106 files changed, 265 insertions(+), 247 deletions(-)


base-commit: b8809969e1d7a591e0f49dd464a5d04b3cf02ab1
-- 
2.55.0.11.g153666a7d9bb

Re: [PATCH v2 00/21] gpio: Improvements around device-id arrays
Posted by Andy Shevchenko 1 week, 1 day ago
On Wed, Jul 15, 2026 at 06:55:05PM +0200, Uwe Kleine-König (The Capable Hub) wrote:
> Hello,
> 
> as with v1 the original motivation for this series are the patches that
> convert the arrays to use named initializers, see
> https://lore.kernel.org/all/cover.1780048925.git.u.kleine-koenig@baylibre.com/
> for the idea behind it. Then by not closing the eyes for small issues
> spotted while working on that, this series grew a bit.
> 
> Changes since v1 (available at
> https://lore.kernel.org/linux-kernel/cover.1784013063.git.u.kleine-koenig@baylibre.com):

Sorry, but at first glance it seems this version is messed up.
I'm not going to look into it deeply, waiting for *carefully*
checked v3...

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH v2 00/21] gpio: Improvements around device-id arrays
Posted by Andy Shevchenko 1 week, 1 day ago
On Thu, Jul 16, 2026 at 08:44:14PM +0300, Andy Shevchenko wrote:
> On Wed, Jul 15, 2026 at 06:55:05PM +0200, Uwe Kleine-König (The Capable Hub) wrote:
> > Hello,
> > 
> > as with v1 the original motivation for this series are the patches that
> > convert the arrays to use named initializers, see
> > https://lore.kernel.org/all/cover.1780048925.git.u.kleine-koenig@baylibre.com/
> > for the idea behind it. Then by not closing the eyes for small issues
> > spotted while working on that, this series grew a bit.
> > 
> > Changes since v1 (available at
> > https://lore.kernel.org/linux-kernel/cover.1784013063.git.u.kleine-koenig@baylibre.com):
> 
> Sorry, but at first glance it seems this version is messed up.
> I'm not going to look into it deeply, waiting for *carefully*
> checked v3...

And with the above being said, my tags against v2 are not valid
(withdrawn).

-- 
With Best Regards,
Andy Shevchenko