[PATCH RFC] gpio: move intel drivers into their own directory
From: Bartosz Golaszewski
Date: Fri Sep 25 2026 - 06:22:33 EST
In order to avoid maintainer mistakes on patch ownership: move all the
Intel drivers into their own dedicated directory under
drivers/gpio/intel. Don't touch Kconfig options as we historically sort
GPIO drivers by type, not by vendor.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
---
I've repeatedly been queuing patches that are Intel GPIO maintainers'
territory becuase I don't rememember all the intel GPIO driver names. In
order to avoid such mistakes in the future, I'm proposing to move Intel
drivers into their own directory. Other vendors may follow.
I wasn't sure about gpio-ixp4xx.c and gpio-pxa.c, let me know if they
should go in there as well.
---
MAINTAINERS | 29 +++++++++++++------------
drivers/gpio/Makefile | 17 +++------------
drivers/gpio/intel/Makefile | 16 ++++++++++++++
drivers/gpio/{ => intel}/gpio-crystalcove.c | 0
drivers/gpio/{ => intel}/gpio-elkhartlake.c | 0
drivers/gpio/{ => intel}/gpio-graniterapids.c | 0
drivers/gpio/{ => intel}/gpio-ich.c | 0
drivers/gpio/{ => intel}/gpio-ljca.c | 0
drivers/gpio/{ => intel}/gpio-merrifield.c | 0
drivers/gpio/{ => intel}/gpio-ml-ioh.c | 0
drivers/gpio/{ => intel}/gpio-novalake-events.c | 0
drivers/gpio/{ => intel}/gpio-pch.c | 0
drivers/gpio/{ => intel}/gpio-sch.c | 0
drivers/gpio/{ => intel}/gpio-sodaville.c | 0
drivers/gpio/{ => intel}/gpio-tangier.c | 0
drivers/gpio/{ => intel}/gpio-tangier.h | 0
drivers/gpio/{ => intel}/gpio-usbio.c | 0
drivers/gpio/{ => intel}/gpio-wcove.c | 0
18 files changed, 34 insertions(+), 28 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 9765e8a72dc78a8f2aee6a6f00f7b5f729b1f457..e68cb1774f8c93facf9e18167d8a45ce941a68b1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13292,23 +13292,24 @@ M: Andy Shevchenko <andy@xxxxxxxxxx>
L: linux-gpio@xxxxxxxxxxxxxxx
S: Supported
T: git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
-F: drivers/gpio/gpio-elkhartlake.c
-F: drivers/gpio/gpio-graniterapids.c
-F: drivers/gpio/gpio-ich.c
-F: drivers/gpio/gpio-merrifield.c
-F: drivers/gpio/gpio-ml-ioh.c
-F: drivers/gpio/gpio-pch.c
-F: drivers/gpio/gpio-sch.c
-F: drivers/gpio/gpio-sodaville.c
-F: drivers/gpio/gpio-tangier.c
-F: drivers/gpio/gpio-tangier.h
+F: drivers/gpio/intel/gpio-crystalcove.c
+F: drivers/gpio/intel/gpio-elkhartlake.c
+F: drivers/gpio/intel/gpio-graniterapids.c
+F: drivers/gpio/intel/gpio-ich.c
+F: drivers/gpio/intel/gpio-merrifield.c
+F: drivers/gpio/intel/gpio-ml-ioh.c
+F: drivers/gpio/intel/gpio-pch.c
+F: drivers/gpio/intel/gpio-sch.c
+F: drivers/gpio/intel/gpio-sodaville.c
+F: drivers/gpio/intel/gpio-tangier.c
+F: drivers/gpio/intel/gpio-tangier.h
INTEL GPIO GPE DRIVER
M: Alan Borzeszkowski <alan.borzeszkowski@xxxxxxxxxxxxxxx>
R: Mika Westerberg <westeri@xxxxxxxxxx>
L: linux-gpio@xxxxxxxxxxxxxxx
S: Supported
-F: drivers/gpio/gpio-novalake-events.c
+F: drivers/gpio/intel/gpio-novalake-events.c
INTEL GVT-g DRIVERS (Intel GPU Virtualization)
R: Zhenyu Wang <zhenyuw.linux@xxxxxxxxx>
@@ -13475,7 +13476,7 @@ INTEL LA JOLLA COVE ADAPTER (LJCA) USB I/O EXPANDER DRIVERS
M: Lixu Zhang <lixu.zhang@xxxxxxxxx>
M: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
S: Maintained
-F: drivers/gpio/gpio-ljca.c
+F: drivers/gpio/intel/gpio-ljca.c
F: drivers/i2c/busses/i2c-ljca.c
F: drivers/spi/spi-ljca.c
F: drivers/usb/misc/usb-ljca.c
@@ -13709,7 +13710,7 @@ M: Israel Cepeda <israel.a.cepeda.lopez@xxxxxxxxx>
M: Hans de Goede <hansg@xxxxxxxxxx>
R: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
S: Maintained
-F: drivers/gpio/gpio-usbio.c
+F: drivers/gpio/intel/gpio-usbio.c
F: drivers/i2c/busses/i2c-usbio.c
F: drivers/usb/misc/usbio.c
F: include/linux/usb/usbio.h
@@ -29736,7 +29737,7 @@ WHISKEYCOVE PMIC GPIO DRIVER
M: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
L: linux-gpio@xxxxxxxxxxxxxxx
S: Maintained
-F: drivers/gpio/gpio-wcove.c
+F: drivers/gpio/intel/gpio-wcove.c
WHWAVE RTC DRIVER
M: Dianlong Li <long17.cool@xxxxxxx>
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index ce56e9b3f55d62d077ff69a2e1f68ee229b55204..03059fcb066180d79032dde8b9cb5443857e6536 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
# generic gpio support: platform drivers, dedicated expander chips, etc
-ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG
+subdir-ccflags-$(CONFIG_DEBUG_GPIO) += -DDEBUG
obj-$(CONFIG_GPIOLIB) += gpiolib.o
obj-$(CONFIG_GPIOLIB) += gpiolib-devres.o
@@ -56,7 +56,6 @@ obj-$(CONFIG_GPIO_CGBC) += gpio-cgbc.o
obj-$(CONFIG_GPIO_CLPS711X) += gpio-clps711x.o
obj-$(CONFIG_GPIO_SNPS_CREG) += gpio-creg-snps.o
obj-$(CONFIG_GPIO_CROS_EC) += gpio-cros-ec.o
-obj-$(CONFIG_GPIO_CRYSTAL_COVE) += gpio-crystalcove.o
obj-$(CONFIG_GPIO_CS5535) += gpio-cs5535.o
obj-$(CONFIG_GPIO_DA9052) += gpio-da9052.o
obj-$(CONFIG_GPIO_DA9055) += gpio-da9055.o
@@ -65,7 +64,6 @@ obj-$(CONFIG_GPIO_DLN2) += gpio-dln2.o
obj-$(CONFIG_GPIO_DS4520) += gpio-ds4520.o
obj-$(CONFIG_GPIO_DWAPB) += gpio-dwapb.o
obj-$(CONFIG_GPIO_EIC_SPRD) += gpio-eic-sprd.o
-obj-$(CONFIG_GPIO_ELKHARTLAKE) += gpio-elkhartlake.o
obj-$(CONFIG_GPIO_EM) += gpio-em.o
obj-$(CONFIG_GPIO_EN7523) += gpio-en7523.o
obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93xx.o
@@ -75,14 +73,12 @@ obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o
obj-$(CONFIG_GPIO_FXL6408) += gpio-fxl6408.o
obj-$(CONFIG_GPIO_GE_FPGA) += gpio-ge.o
obj-$(CONFIG_GPIO_GPIO_MM) += gpio-gpio-mm.o
-obj-$(CONFIG_GPIO_GRANITERAPIDS) += gpio-graniterapids.o
obj-$(CONFIG_GPIO_GRGPIO) += gpio-grgpio.o
obj-$(CONFIG_GPIO_GW_PLD) += gpio-gw-pld.o
obj-$(CONFIG_GPIO_HISI) += gpio-hisi.o
obj-$(CONFIG_GPIO_HLWD) += gpio-hlwd.o
obj-$(CONFIG_HTC_EGPIO) += gpio-htc-egpio.o
obj-$(CONFIG_GPIO_I8255) += gpio-i8255.o
-obj-$(CONFIG_GPIO_ICH) += gpio-ich.o
obj-$(CONFIG_GPIO_IDIO_16) += gpio-idio-16.o
obj-$(CONFIG_GPIO_IDT3243X) += gpio-idt3243x.o
obj-$(CONFIG_GPIO_IMX_SCU) += gpio-imx-scu.o
@@ -92,7 +88,6 @@ obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
obj-$(CONFIG_GPIO_LATCH) += gpio-latch.o
obj-$(CONFIG_GPIO_LINE_MUX) += gpio-line-mux.o
-obj-$(CONFIG_GPIO_LJCA) += gpio-ljca.o
obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o
obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o
obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o
@@ -117,8 +112,6 @@ obj-$(CONFIG_GPIO_MAX77759) += gpio-max77759.o
obj-$(CONFIG_GPIO_MB86S7X) += gpio-mb86s7x.o
obj-$(CONFIG_GPIO_MC33880) += gpio-mc33880.o
obj-$(CONFIG_GPIO_MENZ127) += gpio-menz127.o
-obj-$(CONFIG_GPIO_MERRIFIELD) += gpio-merrifield.o
-obj-$(CONFIG_GPIO_ML_IOH) += gpio-ml-ioh.o
obj-$(CONFIG_GPIO_MLXBF) += gpio-mlxbf.o
obj-$(CONFIG_GPIO_MLXBF2) += gpio-mlxbf2.o
obj-$(CONFIG_GPIO_MLXBF3) += gpio-mlxbf3.o
@@ -135,7 +128,6 @@ obj-$(CONFIG_GPIO_MXC) += gpio-mxc.o
obj-$(CONFIG_GPIO_MXS) += gpio-mxs.o
obj-$(CONFIG_GPIO_NCT6694) += gpio-nct6694.o
obj-$(CONFIG_GPIO_NOMADIK) += gpio-nomadik.o
-obj-$(CONFIG_GPIO_NOVALAKE) += gpio-novalake-events.o
obj-$(CONFIG_GPIO_NPCM_SGPIO) += gpio-npcm-sgpio.o
obj-$(CONFIG_GPIO_OCTEON) += gpio-octeon.o
obj-$(CONFIG_GPIO_OMAP) += gpio-omap.o
@@ -143,7 +135,6 @@ obj-$(CONFIG_GPIO_PALMAS) += gpio-palmas.o
obj-$(CONFIG_GPIO_PCA953X) += gpio-pca953x.o
obj-$(CONFIG_GPIO_PCA9570) += gpio-pca9570.o
obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf857x.o
-obj-$(CONFIG_GPIO_PCH) += gpio-pch.o
obj-$(CONFIG_GPIO_PCIE_IDIO_24) += gpio-pcie-idio-24.o
obj-$(CONFIG_GPIO_PCI_IDIO_16) += gpio-pci-idio-16.o
obj-$(CONFIG_GPIO_PISOSR) += gpio-pisosr.o
@@ -166,21 +157,18 @@ obj-$(CONFIG_GPIO_RTD1625) += gpio-rtd1625.o
obj-$(CONFIG_ARCH_SA1100) += gpio-sa1100.o
obj-$(CONFIG_GPIO_SAMA5D2_PIOBU) += gpio-sama5d2-piobu.o
obj-$(CONFIG_GPIO_SCH311X) += gpio-sch311x.o
-obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
obj-$(CONFIG_GPIO_SHARED_PROXY) += gpio-shared-proxy.o
obj-$(CONFIG_GPIO_SIFIVE) += gpio-sifive.o
obj-$(CONFIG_GPIO_SIM) += gpio-sim.o
obj-$(CONFIG_GPIO_SIOX) += gpio-siox.o
obj-$(CONFIG_GPIO_SL28CPLD) += gpio-sl28cpld.o
obj-$(CONFIG_GPIO_SLOPPY_LOGIC_ANALYZER) += gpio-sloppy-logic-analyzer.o
-obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o
obj-$(CONFIG_GPIO_SPACEMIT_K1) += gpio-spacemit-k1.o
obj-$(CONFIG_GPIO_SPEAR_SPICS) += gpio-spear-spics.o
obj-$(CONFIG_GPIO_SPRD) += gpio-sprd.o
obj-$(CONFIG_GPIO_STMPE) += gpio-stmpe.o
obj-$(CONFIG_GPIO_STP_XWAY) += gpio-stp-xway.o
obj-$(CONFIG_GPIO_SYSCON) += gpio-syscon.o
-obj-$(CONFIG_GPIO_TANGIER) += gpio-tangier.o
obj-$(CONFIG_GPIO_TB10X) += gpio-tb10x.o
obj-$(CONFIG_GPIO_TC3589X) += gpio-tc3589x.o
obj-$(CONFIG_GPIO_TEGRA186) += gpio-tegra186.o
@@ -211,7 +199,6 @@ obj-$(CONFIG_GPIO_VISCONTI) += gpio-visconti.o
obj-$(CONFIG_GPIO_VX855) += gpio-vx855.o
obj-$(CONFIG_GPIO_WAVESHARE_DSI_TOUCH) += gpio-waveshare-dsi.o
obj-$(CONFIG_GPIO_WCD934X) += gpio-wcd934x.o
-obj-$(CONFIG_GPIO_WHISKEY_COVE) += gpio-wcove.o
obj-$(CONFIG_GPIO_WINBOND) += gpio-winbond.o
obj-$(CONFIG_GPIO_WM831X) += gpio-wm831x.o
obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350.o
@@ -226,3 +213,5 @@ obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o
obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o
obj-$(CONFIG_GPIO_ZYNQMP_MODEPIN) += gpio-zynqmp-modepin.o
+
+obj-y += intel/
diff --git a/drivers/gpio/intel/Makefile b/drivers/gpio/intel/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..b1dc40f21f4b33e33522acaefd2dd4adbd6c0f00
--- /dev/null
+++ b/drivers/gpio/intel/Makefile
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: GPL-2.0
+
+obj-$(CONFIG_GPIO_CRYSTAL_COVE) += gpio-crystalcove.o
+obj-$(CONFIG_GPIO_ELKHARTLAKE) += gpio-elkhartlake.o
+obj-$(CONFIG_GPIO_GRANITERAPIDS) += gpio-graniterapids.o
+obj-$(CONFIG_GPIO_ICH) += gpio-ich.o
+obj-$(CONFIG_GPIO_LJCA) += gpio-ljca.o
+obj-$(CONFIG_GPIO_MERRIFIELD) += gpio-merrifield.o
+obj-$(CONFIG_GPIO_ML_IOH) += gpio-ml-ioh.o
+obj-$(CONFIG_GPIO_NOVALAKE) += gpio-novalake-events.o
+obj-$(CONFIG_GPIO_PCH) += gpio-pch.o
+obj-$(CONFIG_GPIO_SCH) += gpio-sch.o
+obj-$(CONFIG_GPIO_SODAVILLE) += gpio-sodaville.o
+obj-$(CONFIG_GPIO_TANGIER) += gpio-tangier.o
+obj-$(CONFIG_GPIO_USBIO) += gpio-usbio.o
+obj-$(CONFIG_GPIO_WHISKEY_COVE) += gpio-wcove.o
diff --git a/drivers/gpio/gpio-crystalcove.c b/drivers/gpio/intel/gpio-crystalcove.c
similarity index 100%
rename from drivers/gpio/gpio-crystalcove.c
rename to drivers/gpio/intel/gpio-crystalcove.c
diff --git a/drivers/gpio/gpio-elkhartlake.c b/drivers/gpio/intel/gpio-elkhartlake.c
similarity index 100%
rename from drivers/gpio/gpio-elkhartlake.c
rename to drivers/gpio/intel/gpio-elkhartlake.c
diff --git a/drivers/gpio/gpio-graniterapids.c b/drivers/gpio/intel/gpio-graniterapids.c
similarity index 100%
rename from drivers/gpio/gpio-graniterapids.c
rename to drivers/gpio/intel/gpio-graniterapids.c
diff --git a/drivers/gpio/gpio-ich.c b/drivers/gpio/intel/gpio-ich.c
similarity index 100%
rename from drivers/gpio/gpio-ich.c
rename to drivers/gpio/intel/gpio-ich.c
diff --git a/drivers/gpio/gpio-ljca.c b/drivers/gpio/intel/gpio-ljca.c
similarity index 100%
rename from drivers/gpio/gpio-ljca.c
rename to drivers/gpio/intel/gpio-ljca.c
diff --git a/drivers/gpio/gpio-merrifield.c b/drivers/gpio/intel/gpio-merrifield.c
similarity index 100%
rename from drivers/gpio/gpio-merrifield.c
rename to drivers/gpio/intel/gpio-merrifield.c
diff --git a/drivers/gpio/gpio-ml-ioh.c b/drivers/gpio/intel/gpio-ml-ioh.c
similarity index 100%
rename from drivers/gpio/gpio-ml-ioh.c
rename to drivers/gpio/intel/gpio-ml-ioh.c
diff --git a/drivers/gpio/gpio-novalake-events.c b/drivers/gpio/intel/gpio-novalake-events.c
similarity index 100%
rename from drivers/gpio/gpio-novalake-events.c
rename to drivers/gpio/intel/gpio-novalake-events.c
diff --git a/drivers/gpio/gpio-pch.c b/drivers/gpio/intel/gpio-pch.c
similarity index 100%
rename from drivers/gpio/gpio-pch.c
rename to drivers/gpio/intel/gpio-pch.c
diff --git a/drivers/gpio/gpio-sch.c b/drivers/gpio/intel/gpio-sch.c
similarity index 100%
rename from drivers/gpio/gpio-sch.c
rename to drivers/gpio/intel/gpio-sch.c
diff --git a/drivers/gpio/gpio-sodaville.c b/drivers/gpio/intel/gpio-sodaville.c
similarity index 100%
rename from drivers/gpio/gpio-sodaville.c
rename to drivers/gpio/intel/gpio-sodaville.c
diff --git a/drivers/gpio/gpio-tangier.c b/drivers/gpio/intel/gpio-tangier.c
similarity index 100%
rename from drivers/gpio/gpio-tangier.c
rename to drivers/gpio/intel/gpio-tangier.c
diff --git a/drivers/gpio/gpio-tangier.h b/drivers/gpio/intel/gpio-tangier.h
similarity index 100%
rename from drivers/gpio/gpio-tangier.h
rename to drivers/gpio/intel/gpio-tangier.h
diff --git a/drivers/gpio/gpio-usbio.c b/drivers/gpio/intel/gpio-usbio.c
similarity index 100%
rename from drivers/gpio/gpio-usbio.c
rename to drivers/gpio/intel/gpio-usbio.c
diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/intel/gpio-wcove.c
similarity index 100%
rename from drivers/gpio/gpio-wcove.c
rename to drivers/gpio/intel/gpio-wcove.c
---
base-commit: 4c253ac4b29b8c6cc6fdef8f92d4facde62e63b9
change-id: 20260925-gpio-organize-by-vendor-c38d34ae5ec5
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>