mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH RFC] gpio: move intel drivers into their own directory
@ 2026-09-25 10:22 Bartosz Golaszewski
  2026-09-25 10:48 ` Andy Shevchenko
  2026-09-25 16:17 ` Linus Walleij
  0 siblings, 2 replies; 9+ messages in thread
From: Bartosz Golaszewski @ 2026-09-25 10:22 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Lixu Zhang, Sakari Ailus, Alan Borzeszkowski, Mika Westerberg,
	Israel Cepeda, Hans de Goede, Kuppuswamy Sathyanarayanan
  Cc: linux-kernel, linux-gpio, Bartosz Golaszewski

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@oss.qualcomm.com>
---
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@kernel.org>
 L:	linux-gpio@vger.kernel.org
 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@linux.intel.com>
 R:	Mika Westerberg <westeri@kernel.org>
 L:	linux-gpio@vger.kernel.org
 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@gmail.com>
@@ -13475,7 +13476,7 @@ INTEL LA JOLLA COVE ADAPTER (LJCA) USB I/O EXPANDER DRIVERS
 M:	Lixu Zhang <lixu.zhang@intel.com>
 M:	Sakari Ailus <sakari.ailus@linux.intel.com>
 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@intel.com>
 M:	Hans de Goede <hansg@kernel.org>
 R:	Sakari Ailus <sakari.ailus@linux.intel.com>
 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@linux.intel.com>
 L:	linux-gpio@vger.kernel.org
 S:	Maintained
-F:	drivers/gpio/gpio-wcove.c
+F:	drivers/gpio/intel/gpio-wcove.c
 
 WHWAVE RTC DRIVER
 M:	Dianlong Li <long17.cool@163.com>
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@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-09-26 10:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-25 10:22 [PATCH RFC] gpio: move intel drivers into their own directory Bartosz Golaszewski
2026-09-25 10:48 ` Andy Shevchenko
2026-09-25 11:42   ` Hans de Goede
2026-09-25 12:48     ` Andy Shevchenko
2026-09-25 14:39       ` Andy Shevchenko
2026-09-25 12:54   ` Mika Westerberg
2026-09-25 14:34     ` Andy Shevchenko
2026-09-26 10:07       ` Mika Westerberg
2026-09-25 16:17 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®