mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v1 0/5] gpio: Move most of the Intel GPIO to the dedicated folder
@ 2026-09-25 15:57 Andy Shevchenko
  2026-09-25 15:57 ` [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder Andy Shevchenko
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-25 15:57 UTC (permalink / raw)
  To: Bartosz Golaszewski, Linus Walleij, Andy Shevchenko,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio
  Cc: Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

For the easier maintenance and future development move most of Intel GPIO
drivers to the dedicated 'intel' folder. For now it only covers the drivers
I maintain (as per record in the MAINTAINERS).

The idea is to have the 'intel' folder to be associated with the respective
Git tree from which the maintainer (currently me) sends PRs to Bart (GPIO
maintainer) from time to time.

Nova Lake event driver is up to their maintainers what to do (co-maintainers
are welcome!).

USBIO drivers as per Hans are for the camera (IPU) only, perhaps media tree
is the best to handle them. I can, of course, host them in 'intel/usbio'
subfolder on the terms that I do not touch or handle anything behind it.
Otherwise co-maintainers are a must.

Cc'ed to William on the point to might be hosting i8255 et alia (PC104?)
under the 'intel/i8255' subfolder on the terms like described above for USBIO.
Or you, William, can send me PRs, either way I don't want to maintain those.

PXA driver is indeed was used on early Intel MID, but we used to have
a different (now gone) driver and PXA was never adapted for that.

IPX one is Intel by vendor, but quite alien to anything listed above. Don't
think its place is in 'intel' subfolder.

This mini-series is supposed to go via my tree to avoid current conflicts.

Andy Shevchenko (5):
  gpio: Move Intel GPIO drivers to the dedicated subfolder
  gpio: Move Intel PMIC GPIO drivers to the dedicated subfolder
  gpio: Move Intel PCH type of GPIO drivers to the intel subfolder
  gpio: Move Intel Sodaville GPIO driver to the intel subfolder
  gpio: Move Intel vGPIO driver to the intel subfolder

 MAINTAINERS                                   |  21 +--
 drivers/gpio/Kconfig                          | 147 +-----------------
 drivers/gpio/Makefile                         |  13 +-
 drivers/gpio/intel/Kconfig                    | 136 ++++++++++++++++
 drivers/gpio/intel/Makefile                   |  19 +++
 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-merrifield.c    |   0
 drivers/gpio/{ => intel}/gpio-ml-ioh.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/pmic/Kconfig               |  30 ++++
 drivers/gpio/intel/pmic/Makefile              |   5 +
 .../gpio/{ => intel/pmic}/gpio-crystalcove.c  |   0
 drivers/gpio/{ => intel/pmic}/gpio-wcove.c    |   0
 19 files changed, 200 insertions(+), 171 deletions(-)
 create mode 100644 drivers/gpio/intel/Kconfig
 create mode 100644 drivers/gpio/intel/Makefile
 rename drivers/gpio/{ => intel}/gpio-elkhartlake.c (100%)
 rename drivers/gpio/{ => intel}/gpio-graniterapids.c (100%)
 rename drivers/gpio/{ => intel}/gpio-ich.c (100%)
 rename drivers/gpio/{ => intel}/gpio-merrifield.c (100%)
 rename drivers/gpio/{ => intel}/gpio-ml-ioh.c (100%)
 rename drivers/gpio/{ => intel}/gpio-pch.c (100%)
 rename drivers/gpio/{ => intel}/gpio-sch.c (100%)
 rename drivers/gpio/{ => intel}/gpio-sodaville.c (100%)
 rename drivers/gpio/{ => intel}/gpio-tangier.c (100%)
 rename drivers/gpio/{ => intel}/gpio-tangier.h (100%)
 create mode 100644 drivers/gpio/intel/pmic/Kconfig
 create mode 100644 drivers/gpio/intel/pmic/Makefile
 rename drivers/gpio/{ => intel/pmic}/gpio-crystalcove.c (100%)
 rename drivers/gpio/{ => intel/pmic}/gpio-wcove.c (100%)

-- 
2.50.1


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

* [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder
  2026-09-25 15:57 [PATCH v1 0/5] gpio: Move most of the Intel GPIO to the dedicated folder Andy Shevchenko
@ 2026-09-25 15:57 ` Andy Shevchenko
  2026-09-26  5:42   ` Raag Jadav
  2026-09-25 15:57 ` [PATCH v1 2/5] gpio: Move Intel PMIC " Andy Shevchenko
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-25 15:57 UTC (permalink / raw)
  To: Bartosz Golaszewski, Linus Walleij, Andy Shevchenko,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio
  Cc: Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

For better maintenance and development experience, move Intel GPIO
drivers to the dedicated subfolder. This starts with Intel MID
and Elkhart Lake ones that share the same core part.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 MAINTAINERS                                 |  9 ++---
 drivers/gpio/Kconfig                        | 31 ++---------------
 drivers/gpio/Makefile                       |  5 ++-
 drivers/gpio/intel/Kconfig                  | 37 +++++++++++++++++++++
 drivers/gpio/intel/Makefile                 |  6 ++++
 drivers/gpio/{ => intel}/gpio-elkhartlake.c |  0
 drivers/gpio/{ => intel}/gpio-merrifield.c  |  0
 drivers/gpio/{ => intel}/gpio-tangier.c     |  0
 drivers/gpio/{ => intel}/gpio-tangier.h     |  0
 9 files changed, 50 insertions(+), 38 deletions(-)
 create mode 100644 drivers/gpio/intel/Kconfig
 create mode 100644 drivers/gpio/intel/Makefile
 rename drivers/gpio/{ => intel}/gpio-elkhartlake.c (100%)
 rename drivers/gpio/{ => intel}/gpio-merrifield.c (100%)
 rename drivers/gpio/{ => intel}/gpio-tangier.c (100%)
 rename drivers/gpio/{ => intel}/gpio-tangier.h (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3a19da74d00c..51e27580be9f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13131,16 +13131,13 @@ 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/
 
 INTEL GPIO GPE DRIVER
 M:	Alan Borzeszkowski <alan.borzeszkowski@linux.intel.com>
@@ -13361,8 +13358,8 @@ F:	arch/x86/pci/intel_mid.c
 F:	arch/x86/platform/intel-mid/
 F:	drivers/dma/hsu/
 F:	drivers/extcon/extcon-intel-mrfld.c
-F:	drivers/gpio/gpio-merrifield.c
-F:	drivers/gpio/gpio-tangier.*
+F:	drivers/gpio/intel/gpio-merrifield.c
+F:	drivers/gpio/intel/gpio-tangier.*
 F:	drivers/iio/adc/intel_mrfld_adc.c
 F:	drivers/mfd/intel_soc_pmic_mrfld.c
 F:	drivers/pinctrl/intel/pinctrl-merrifield.c
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index a48586bb8edb..e04f6d761153 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -129,6 +129,8 @@ config GPIO_SWNODE_UNDEFINED
 
 # put drivers in the right section, in alphabetical order
 
+source "drivers/gpio/intel/Kconfig"
+
 # This symbol is selected by both I2C and SPI expanders
 config GPIO_MAX730X
 	tristate
@@ -756,17 +758,6 @@ config GPIO_SYSCON
 	help
 	  Say yes here to support GPIO functionality though SYSCON driver.
 
-config GPIO_TANGIER
-	tristate
-	select GPIOLIB_IRQCHIP
-	help
-	  GPIO support for Intel Tangier and compatible platforms.
-	  Currently supported:
-	   - Elkhart Lake
-	   - Merrifield
-
-	  If built as a module its name will be gpio-tangier.
-
 config GPIO_TB10X
 	bool "Abilis Systems TB10x GPIO controller"
 	depends on ARC_PLAT_TB10X || COMPILE_TEST
@@ -1477,17 +1468,6 @@ config HTC_EGPIO
 	  several HTC phones.  It provides basic support for input
 	  pins, output pins, and IRQs.
 
-config GPIO_ELKHARTLAKE
-	tristate "Intel Elkhart Lake PSE GPIO support"
-	depends on INTEL_EHL_PSE_IO
-	select GPIO_TANGIER
-	help
-	  Select this option to enable GPIO support for Intel Elkhart Lake
-	  PSE GPIO IP.
-
-	  To compile this driver as a module, choose M here: the module will
-	  be called gpio-elkhartlake.
-
 config GPIO_JANZ_TTL
 	tristate "Janz VMOD-TTL Digital IO Module"
 	depends on MFD_JANZ_CMODIO
@@ -1862,13 +1842,6 @@ config GPIO_BT8XX
 
 	  If unsure, say N.
 
-config GPIO_MERRIFIELD
-	tristate "Intel Merrifield GPIO support"
-	depends on X86_INTEL_MID
-	select GPIO_TANGIER
-	help
-	  Say Y here to support Intel Merrifield GPIO.
-
 config GPIO_MLXBF
 	tristate "Mellanox BlueField SoC GPIO"
 	depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index dc9e6d643b5b..a4f1ec80b794 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -22,6 +22,8 @@ obj-$(CONFIG_GPIO_GENERIC)	+= gpio-generic.o
 # directly supported by gpio-generic
 gpio-generic-$(CONFIG_GPIO_GENERIC)	+= gpio-mmio.o
 
+obj-y				+= intel/
+
 obj-$(CONFIG_GPIO_104_DIO_48E)		+= gpio-104-dio-48e.o
 obj-$(CONFIG_GPIO_104_IDI_48)		+= gpio-104-idi-48.o
 obj-$(CONFIG_GPIO_104_IDIO_16)		+= gpio-104-idio-16.o
@@ -64,7 +66,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
@@ -116,7 +117,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
@@ -179,7 +179,6 @@ 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
diff --git a/drivers/gpio/intel/Kconfig b/drivers/gpio/intel/Kconfig
new file mode 100644
index 000000000000..4d1a37a6c5e8
--- /dev/null
+++ b/drivers/gpio/intel/Kconfig
@@ -0,0 +1,37 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Intel GPIO drivers
+#
+
+if HAS_IOMEM
+
+config GPIO_TANGIER
+	tristate
+	select GPIOLIB_IRQCHIP
+	help
+	  GPIO support for Intel Tangier and compatible platforms.
+	  Currently supported:
+	   - Elkhart Lake
+	   - Merrifield
+
+	  If built as a module its name will be gpio-tangier.
+
+config GPIO_ELKHARTLAKE
+	tristate "Intel Elkhart Lake PSE GPIO support"
+	depends on INTEL_EHL_PSE_IO
+	select GPIO_TANGIER
+	help
+	  Select this option to enable GPIO support for Intel Elkhart Lake
+	  PSE GPIO IP.
+
+	  To compile this driver as a module, choose M here: the module will
+	  be called gpio-elkhartlake.
+
+config GPIO_MERRIFIELD
+	tristate "Intel Merrifield GPIO support"
+	depends on X86_INTEL_MID
+	select GPIO_TANGIER
+	help
+	  Say Y here to support Intel Merrifield GPIO.
+
+endif
diff --git a/drivers/gpio/intel/Makefile b/drivers/gpio/intel/Makefile
new file mode 100644
index 000000000000..c8c8aea69c29
--- /dev/null
+++ b/drivers/gpio/intel/Makefile
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0
+# Intel GPIO drivers
+
+obj-$(CONFIG_GPIO_TANGIER)		+= gpio-tangier.o
+obj-$(CONFIG_GPIO_ELKHARTLAKE)		+= gpio-elkhartlake.o
+obj-$(CONFIG_GPIO_MERRIFIELD)		+= gpio-merrifield.o
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-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-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
-- 
2.50.1


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

* [PATCH v1 2/5] gpio: Move Intel PMIC GPIO drivers to the dedicated subfolder
  2026-09-25 15:57 [PATCH v1 0/5] gpio: Move most of the Intel GPIO to the dedicated folder Andy Shevchenko
  2026-09-25 15:57 ` [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder Andy Shevchenko
@ 2026-09-25 15:57 ` Andy Shevchenko
  2026-09-28 17:10   ` Bartosz Golaszewski
  2026-09-25 15:57 ` [PATCH v1 3/5] gpio: Move Intel PCH type of GPIO drivers to the intel subfolder Andy Shevchenko
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-25 15:57 UTC (permalink / raw)
  To: Bartosz Golaszewski, Linus Walleij, Andy Shevchenko,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio
  Cc: Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

For better maintenance and development experience, move
Intel PMIC GPIO drivers to the dedicated subfolder.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 MAINTAINERS                                   |  4 +--
 drivers/gpio/Kconfig                          | 26 ----------------
 drivers/gpio/Makefile                         |  2 --
 drivers/gpio/intel/Kconfig                    |  2 ++
 drivers/gpio/intel/Makefile                   |  2 ++
 drivers/gpio/intel/pmic/Kconfig               | 30 +++++++++++++++++++
 drivers/gpio/intel/pmic/Makefile              |  5 ++++
 .../gpio/{ => intel/pmic}/gpio-crystalcove.c  |  0
 drivers/gpio/{ => intel/pmic}/gpio-wcove.c    |  0
 9 files changed, 41 insertions(+), 30 deletions(-)
 create mode 100644 drivers/gpio/intel/pmic/Kconfig
 create mode 100644 drivers/gpio/intel/pmic/Makefile
 rename drivers/gpio/{ => intel/pmic}/gpio-crystalcove.c (100%)
 rename drivers/gpio/{ => intel/pmic}/gpio-wcove.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 51e27580be9f..1943aa049c87 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13394,7 +13394,7 @@ INTEL PMIC GPIO DRIVERS
 M:	Andy Shevchenko <andy@kernel.org>
 S:	Supported
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel.git
-F:	drivers/gpio/gpio-*cove.c
+F:	drivers/gpio/intel/pmic/
 
 INTEL PMIC MULTIFUNCTION DEVICE DRIVERS
 M:	Andy Shevchenko <andy@kernel.org>
@@ -29374,7 +29374,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/pmic/gpio-wcove.c
 
 WHWAVE RTC DRIVER
 M:	Dianlong Li <long17.cool@163.com>
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index e04f6d761153..a80f4303bb0e 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -1407,19 +1407,6 @@ config GPIO_CROS_EC
 	  This driver can also be built as a module. If so, the module
 	  will be called gpio-cros-ec.
 
-config GPIO_CRYSTAL_COVE
-	tristate "GPIO support for Crystal Cove PMIC"
-	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
-	select GPIOLIB_IRQCHIP
-	help
-	  Support for GPIO pins on Crystal Cove PMIC.
-
-	  Say Yes if you have a Intel SoC-based tablet with Crystal Cove PMIC
-	  inside.
-
-	  This driver can also be built as a module. If so, the module will be
-	  called gpio-crystalcove.
-
 config GPIO_CS5535
 	tristate "AMD CS5535/CS5536 GPIO support"
 	depends on X86 || MIPS || COMPILE_TEST
@@ -1759,19 +1746,6 @@ config GPIO_TWL6040
 	  Say yes here to access the GPO signals of twl6040
 	  audio chip from Texas Instruments.
 
-config GPIO_WHISKEY_COVE
-	tristate "GPIO support for Whiskey Cove PMIC"
-	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
-	select GPIOLIB_IRQCHIP
-	help
-	  Support for GPIO pins on Whiskey Cove PMIC.
-
-	  Say Yes if you have an Intel SoC-based tablet with Whiskey Cove PMIC
-	  inside.
-
-	  This driver can also be built as a module. If so, the module will be
-	  called gpio-wcove.
-
 config GPIO_WM831X
 	tristate "WM831x GPIOs"
 	depends on MFD_WM831X
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index a4f1ec80b794..747df558ba92 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -57,7 +57,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
@@ -209,7 +208,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
diff --git a/drivers/gpio/intel/Kconfig b/drivers/gpio/intel/Kconfig
index 4d1a37a6c5e8..64fd3aa84ac2 100644
--- a/drivers/gpio/intel/Kconfig
+++ b/drivers/gpio/intel/Kconfig
@@ -35,3 +35,5 @@ config GPIO_MERRIFIELD
 	  Say Y here to support Intel Merrifield GPIO.
 
 endif
+
+source "drivers/gpio/intel/pmic/Kconfig"
diff --git a/drivers/gpio/intel/Makefile b/drivers/gpio/intel/Makefile
index c8c8aea69c29..acff63df179a 100644
--- a/drivers/gpio/intel/Makefile
+++ b/drivers/gpio/intel/Makefile
@@ -4,3 +4,5 @@
 obj-$(CONFIG_GPIO_TANGIER)		+= gpio-tangier.o
 obj-$(CONFIG_GPIO_ELKHARTLAKE)		+= gpio-elkhartlake.o
 obj-$(CONFIG_GPIO_MERRIFIELD)		+= gpio-merrifield.o
+
+obj-y				+= pmic/
diff --git a/drivers/gpio/intel/pmic/Kconfig b/drivers/gpio/intel/pmic/Kconfig
new file mode 100644
index 000000000000..fe21314697a3
--- /dev/null
+++ b/drivers/gpio/intel/pmic/Kconfig
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Intel PMIC GPIO drivers
+#
+
+config GPIO_CRYSTAL_COVE
+	tristate "GPIO support for Crystal Cove PMIC"
+	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
+	select GPIOLIB_IRQCHIP
+	help
+	  Support for GPIO pins on Crystal Cove PMIC.
+
+	  Say Yes if you have a Intel SoC-based tablet with Crystal Cove PMIC
+	  inside.
+
+	  This driver can also be built as a module. If so, the module will be
+	  called gpio-crystalcove.
+
+config GPIO_WHISKEY_COVE
+	tristate "GPIO support for Whiskey Cove PMIC"
+	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
+	select GPIOLIB_IRQCHIP
+	help
+	  Support for GPIO pins on Whiskey Cove PMIC.
+
+	  Say Yes if you have an Intel SoC-based tablet with Whiskey Cove PMIC
+	  inside.
+
+	  This driver can also be built as a module. If so, the module will be
+	  called gpio-wcove.
diff --git a/drivers/gpio/intel/pmic/Makefile b/drivers/gpio/intel/pmic/Makefile
new file mode 100644
index 000000000000..2a95d7735153
--- /dev/null
+++ b/drivers/gpio/intel/pmic/Makefile
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: GPL-2.0
+# Intel PMIC GPIO drivers
+
+obj-$(CONFIG_GPIO_CRYSTAL_COVE)		+= gpio-crystalcove.o
+obj-$(CONFIG_GPIO_WHISKEY_COVE)		+= gpio-wcove.o
diff --git a/drivers/gpio/gpio-crystalcove.c b/drivers/gpio/intel/pmic/gpio-crystalcove.c
similarity index 100%
rename from drivers/gpio/gpio-crystalcove.c
rename to drivers/gpio/intel/pmic/gpio-crystalcove.c
diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/intel/pmic/gpio-wcove.c
similarity index 100%
rename from drivers/gpio/gpio-wcove.c
rename to drivers/gpio/intel/pmic/gpio-wcove.c
-- 
2.50.1


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

* [PATCH v1 3/5] gpio: Move Intel PCH type of GPIO drivers to the intel subfolder
  2026-09-25 15:57 [PATCH v1 0/5] gpio: Move most of the Intel GPIO to the dedicated folder Andy Shevchenko
  2026-09-25 15:57 ` [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder Andy Shevchenko
  2026-09-25 15:57 ` [PATCH v1 2/5] gpio: Move Intel PMIC " Andy Shevchenko
@ 2026-09-25 15:57 ` Andy Shevchenko
  2026-10-04  5:48   ` Junjie Cao
  2026-09-25 15:57 ` [PATCH v1 4/5] gpio: Move Intel Sodaville GPIO driver " Andy Shevchenko
  2026-09-25 15:57 ` [PATCH v1 5/5] gpio: Move Intel vGPIO " Andy Shevchenko
  4 siblings, 1 reply; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-25 15:57 UTC (permalink / raw)
  To: Bartosz Golaszewski, Linus Walleij, Andy Shevchenko,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio
  Cc: Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

For better maintenance and development experience, move
Intel PCH type of GPIO drivers to the intel subfolder.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 MAINTAINERS                            |  6 +--
 drivers/gpio/Kconfig                   | 64 -----------------------
 drivers/gpio/Makefile                  |  4 --
 drivers/gpio/intel/Kconfig             | 70 ++++++++++++++++++++++++++
 drivers/gpio/intel/Makefile            |  7 +++
 drivers/gpio/{ => intel}/gpio-ich.c    |  0
 drivers/gpio/{ => intel}/gpio-ml-ioh.c |  0
 drivers/gpio/{ => intel}/gpio-pch.c    |  0
 drivers/gpio/{ => intel}/gpio-sch.c    |  0
 9 files changed, 78 insertions(+), 73 deletions(-)
 rename drivers/gpio/{ => intel}/gpio-ich.c (100%)
 rename drivers/gpio/{ => intel}/gpio-ml-ioh.c (100%)
 rename drivers/gpio/{ => intel}/gpio-pch.c (100%)
 rename drivers/gpio/{ => intel}/gpio-sch.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 1943aa049c87..e1e4d64a5960 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -12563,7 +12563,7 @@ F:	drivers/scsi/ips.*
 ICH LPC AND GPIO DRIVER
 M:	Peter Tyser <ptyser@xes-inc.com>
 S:	Maintained
-F:	drivers/gpio/gpio-ich.c
+F:	drivers/gpio/intel/gpio-ich.c
 F:	drivers/mfd/lpc_ich.c
 
 ICY I2C DRIVER
@@ -13132,10 +13132,6 @@ 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-graniterapids.c
-F:	drivers/gpio/gpio-ich.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/intel/
 
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index a80f4303bb0e..25d6e66bc4fc 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -410,17 +410,6 @@ config GPIO_HLWD
 
 	  If unsure, say N.
 
-config GPIO_ICH
-	tristate "Intel ICH GPIO"
-	depends on (X86 && LPC_ICH) || (COMPILE_TEST && HAS_IOPORT)
-	help
-	  Say yes here to support the GPIO functionality of a number of Intel
-	  ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
-	  ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g.
-	  Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
-
-	  If unsure, say N.
-
 config GPIO_IMX_SCU
        def_bool y
        depends on IMX_SCU
@@ -1063,33 +1052,6 @@ config GPIO_IT87
 	  To compile this driver as a module, choose M here: the module will
 	  be called gpio_it87.
 
-config GPIO_SCH
-	tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
-	depends on (X86 || COMPILE_TEST) && ACPI
-	depends on LPC_SCH
-	select GPIOLIB_IRQCHIP
-	help
-	  Say yes here to support GPIO interface on Intel Poulsbo SCH,
-	  Intel Tunnel Creek processor, Intel Centerton processor or
-	  Intel Quark X1000 SoC.
-
-	  The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
-	  powered by the core power rail and are turned off during sleep
-	  modes (S3 and higher). The remaining four GPIOs are powered by
-	  the Intel SCH suspend power supply. These GPIOs remain
-	  active during S3. The suspend-powered GPIOs can be used to wake the
-	  system from the Suspend-to-RAM state.
-
-	  The Intel Tunnel Creek processor has 5 GPIOs powered by the
-	  core power rail and 9 from suspend power supply.
-
-	  The Intel Centerton processor has a total of 30 GPIO pins.
-	  Twenty-one are powered by the core power rail and 9 from the
-	  suspend power supply.
-
-	  The Intel Quark X1000 SoC has 2 GPIOs powered by the core
-	  power well and 6 from the suspend power well.
-
 config GPIO_NOVALAKE
 	tristate "Intel Nova Lake GPIO-signaled ACPI events support"
 	depends on (X86 || COMPILE_TEST) && ACPI
@@ -1844,32 +1806,6 @@ config GPIO_MLXBF3
 	  control the desired GPIOs.
 	  This driver can also be built as a module called mlxbf3-gpio.
 
-config GPIO_ML_IOH
-	tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
-	depends on X86 || COMPILE_TEST
-	select GENERIC_IRQ_CHIP
-	help
-	  ML7213 is companion chip for Intel Atom E6xx series.
-	  This driver can be used for OKI SEMICONDUCTOR ML7213 IOH (Input/Output
-	  Hub) which is for IVI (In-Vehicle Infotainment) use.
-	  This driver can access the IOH's GPIO device.
-
-config GPIO_PCH
-	tristate "Intel EG20T PCH/LAPIS Semiconductor IOH (ML7223/ML7831) GPIO"
-	depends on X86_32 || MIPS || COMPILE_TEST
-	select GENERIC_IRQ_CHIP
-	help
-	  This driver is for PCH (Platform Controller Hub) GPIO of Intel Topcliff,
-	  which is an IOH (Input/Output Hub) for x86 embedded processor.
-	  This driver can access PCH GPIO device.
-
-	  This driver also can be used for LAPIS Semiconductor IOH (Input/
-	  Output Hub), ML7223 and ML7831.
-	  ML7223 IOH is for MP (Media Phone) use.
-	  ML7831 IOH is for general purpose use.
-	  ML7223/ML7831 is companion chip for Intel Atom E6xx series.
-	  ML7223/ML7831 is completely compatible for Intel EG20T PCH.
-
 config GPIO_PCI_IDIO_16
 	tristate "ACCES PCI-IDIO-16 GPIO support"
 	select REGMAP_MMIO
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 747df558ba92..819583fc0d0b 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -81,7 +81,6 @@ 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
@@ -116,7 +115,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_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
@@ -141,7 +139,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
@@ -164,7 +161,6 @@ 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
diff --git a/drivers/gpio/intel/Kconfig b/drivers/gpio/intel/Kconfig
index 64fd3aa84ac2..ad8321ef1705 100644
--- a/drivers/gpio/intel/Kconfig
+++ b/drivers/gpio/intel/Kconfig
@@ -36,4 +36,74 @@ config GPIO_MERRIFIELD
 
 endif
 
+# PCH type of drivers
+
+if PCI
+
+config GPIO_ICH
+	tristate "Intel ICH GPIO"
+	depends on (X86 && LPC_ICH) || (COMPILE_TEST && HAS_IOPORT)
+	help
+	  Say yes here to support the GPIO functionality of a number of Intel
+	  ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
+	  ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g.
+	  Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
+
+	  If unsure, say N.
+
+config GPIO_ML_IOH
+	tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
+	depends on X86 || COMPILE_TEST
+	select GENERIC_IRQ_CHIP
+	help
+	  ML7213 is companion chip for Intel Atom E6xx series.
+	  This driver can be used for OKI SEMICONDUCTOR ML7213 IOH (Input/Output
+	  Hub) which is for IVI (In-Vehicle Infotainment) use.
+	  This driver can access the IOH's GPIO device.
+
+config GPIO_PCH
+	tristate "Intel EG20T PCH/LAPIS Semiconductor IOH (ML7223/ML7831) GPIO"
+	depends on X86_32 || MIPS || COMPILE_TEST
+	select GENERIC_IRQ_CHIP
+	help
+	  This driver is for PCH (Platform Controller Hub) GPIO of Intel Topcliff,
+	  which is an IOH (Input/Output Hub) for x86 embedded processor.
+	  This driver can access PCH GPIO device.
+
+	  This driver also can be used for LAPIS Semiconductor IOH (Input/
+	  Output Hub), ML7223 and ML7831.
+	  ML7223 IOH is for MP (Media Phone) use.
+	  ML7831 IOH is for general purpose use.
+	  ML7223/ML7831 is companion chip for Intel Atom E6xx series.
+	  ML7223/ML7831 is completely compatible for Intel EG20T PCH.
+
+config GPIO_SCH
+	tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
+	depends on (X86 || COMPILE_TEST) && ACPI
+	depends on LPC_SCH
+	select GPIOLIB_IRQCHIP
+	help
+	  Say yes here to support GPIO interface on Intel Poulsbo SCH,
+	  Intel Tunnel Creek processor, Intel Centerton processor or
+	  Intel Quark X1000 SoC.
+
+	  The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
+	  powered by the core power rail and are turned off during sleep
+	  modes (S3 and higher). The remaining four GPIOs are powered by
+	  the Intel SCH suspend power supply. These GPIOs remain
+	  active during S3. The suspend-powered GPIOs can be used to wake the
+	  system from the Suspend-to-RAM state.
+
+	  The Intel Tunnel Creek processor has 5 GPIOs powered by the
+	  core power rail and 9 from suspend power supply.
+
+	  The Intel Centerton processor has a total of 30 GPIO pins.
+	  Twenty-one are powered by the core power rail and 9 from the
+	  suspend power supply.
+
+	  The Intel Quark X1000 SoC has 2 GPIOs powered by the core
+	  power well and 6 from the suspend power well.
+
+endif
+
 source "drivers/gpio/intel/pmic/Kconfig"
diff --git a/drivers/gpio/intel/Makefile b/drivers/gpio/intel/Makefile
index acff63df179a..26704fc1fa1a 100644
--- a/drivers/gpio/intel/Makefile
+++ b/drivers/gpio/intel/Makefile
@@ -5,4 +5,11 @@ obj-$(CONFIG_GPIO_TANGIER)		+= gpio-tangier.o
 obj-$(CONFIG_GPIO_ELKHARTLAKE)		+= gpio-elkhartlake.o
 obj-$(CONFIG_GPIO_MERRIFIELD)		+= gpio-merrifield.o
 
+# PCH type of drivers
+
+obj-$(CONFIG_GPIO_ICH)			+= gpio-ich.o
+obj-$(CONFIG_GPIO_ML_IOH)		+= gpio-ml-ioh.o
+obj-$(CONFIG_GPIO_PCH)			+= gpio-pch.o
+obj-$(CONFIG_GPIO_SCH)			+= gpio-sch.o
+
 obj-y				+= pmic/
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-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-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
-- 
2.50.1


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

* [PATCH v1 4/5] gpio: Move Intel Sodaville GPIO driver to the intel subfolder
  2026-09-25 15:57 [PATCH v1 0/5] gpio: Move most of the Intel GPIO to the dedicated folder Andy Shevchenko
                   ` (2 preceding siblings ...)
  2026-09-25 15:57 ` [PATCH v1 3/5] gpio: Move Intel PCH type of GPIO drivers to the intel subfolder Andy Shevchenko
@ 2026-09-25 15:57 ` Andy Shevchenko
  2026-09-25 15:57 ` [PATCH v1 5/5] gpio: Move Intel vGPIO " Andy Shevchenko
  4 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-25 15:57 UTC (permalink / raw)
  To: Bartosz Golaszewski, Linus Walleij, Andy Shevchenko,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio
  Cc: Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

For better maintenance and development experience, move
Intel Sodaville GPIO driver to the intel subfolder.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 MAINTAINERS                               | 1 -
 drivers/gpio/Kconfig                      | 8 --------
 drivers/gpio/Makefile                     | 1 -
 drivers/gpio/intel/Kconfig                | 9 +++++++++
 drivers/gpio/intel/Makefile               | 2 ++
 drivers/gpio/{ => intel}/gpio-sodaville.c | 0
 6 files changed, 11 insertions(+), 10 deletions(-)
 rename drivers/gpio/{ => intel}/gpio-sodaville.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index e1e4d64a5960..b3f9f20f8264 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13132,7 +13132,6 @@ 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-graniterapids.c
-F:	drivers/gpio/gpio-sodaville.c
 F:	drivers/gpio/intel/
 
 INTEL GPIO GPE DRIVER
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 25d6e66bc4fc..0353226cb2d7 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -1837,14 +1837,6 @@ config GPIO_RDC321X
 	  Support for the RDC R321x SoC GPIOs over southbridge
 	  PCI configuration space.
 
-config GPIO_SODAVILLE
-	bool "Intel Sodaville GPIO support"
-	depends on X86 && OF
-	select GPIO_GENERIC
-	select GENERIC_IRQ_CHIP
-	help
-	  Say Y here to support Intel Sodaville GPIO.
-
 endmenu
 
 menu "SPI GPIO expanders"
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index 819583fc0d0b..ba01904588d9 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -167,7 +167,6 @@ 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
diff --git a/drivers/gpio/intel/Kconfig b/drivers/gpio/intel/Kconfig
index ad8321ef1705..54fc93b362c6 100644
--- a/drivers/gpio/intel/Kconfig
+++ b/drivers/gpio/intel/Kconfig
@@ -36,6 +36,15 @@ config GPIO_MERRIFIELD
 
 endif
 
+config GPIO_SODAVILLE
+	bool "Intel Sodaville GPIO support"
+	depends on X86 && OF
+	depends on PCI
+	select GPIO_GENERIC
+	select GENERIC_IRQ_CHIP
+	help
+	  Say Y here to support Intel Sodaville GPIO.
+
 # PCH type of drivers
 
 if PCI
diff --git a/drivers/gpio/intel/Makefile b/drivers/gpio/intel/Makefile
index 26704fc1fa1a..cb373d25b56e 100644
--- a/drivers/gpio/intel/Makefile
+++ b/drivers/gpio/intel/Makefile
@@ -5,6 +5,8 @@ obj-$(CONFIG_GPIO_TANGIER)		+= gpio-tangier.o
 obj-$(CONFIG_GPIO_ELKHARTLAKE)		+= gpio-elkhartlake.o
 obj-$(CONFIG_GPIO_MERRIFIELD)		+= gpio-merrifield.o
 
+obj-$(CONFIG_GPIO_SODAVILLE)		+= gpio-sodaville.o
+
 # PCH type of drivers
 
 obj-$(CONFIG_GPIO_ICH)			+= gpio-ich.o
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
-- 
2.50.1


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

* [PATCH v1 5/5] gpio: Move Intel vGPIO driver to the intel subfolder
  2026-09-25 15:57 [PATCH v1 0/5] gpio: Move most of the Intel GPIO to the dedicated folder Andy Shevchenko
                   ` (3 preceding siblings ...)
  2026-09-25 15:57 ` [PATCH v1 4/5] gpio: Move Intel Sodaville GPIO driver " Andy Shevchenko
@ 2026-09-25 15:57 ` Andy Shevchenko
  4 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-25 15:57 UTC (permalink / raw)
  To: Bartosz Golaszewski, Linus Walleij, Andy Shevchenko,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio
  Cc: Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

For better maintenance and development experience, move
Intel vGPIO driver to the intel subfolder.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 MAINTAINERS                                   |  1 -
 drivers/gpio/Kconfig                          | 18 ------------------
 drivers/gpio/Makefile                         |  1 -
 drivers/gpio/intel/Kconfig                    | 18 ++++++++++++++++++
 drivers/gpio/intel/Makefile                   |  2 ++
 drivers/gpio/{ => intel}/gpio-graniterapids.c |  0
 6 files changed, 20 insertions(+), 20 deletions(-)
 rename drivers/gpio/{ => intel}/gpio-graniterapids.c (100%)

diff --git a/MAINTAINERS b/MAINTAINERS
index b3f9f20f8264..fdd451ada851 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13131,7 +13131,6 @@ 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-graniterapids.c
 F:	drivers/gpio/intel/
 
 INTEL GPIO GPE DRIVER
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 0353226cb2d7..4b092786ec3b 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -362,24 +362,6 @@ config GPIO_GENERIC_PLATFORM
 	help
 	  Say yes here to support basic platform_device memory-mapped GPIO controllers.
 
-config GPIO_GRANITERAPIDS
-	tristate "Intel Granite Rapids-D vGPIO support"
-	depends on X86 || COMPILE_TEST
-	select GPIOLIB_IRQCHIP
-	help
-	  Select this to enable virtual GPIO support on platforms with the
-	  following SoCs:
-
-	  - Intel Granite Rapids-D
-
-	  The driver enables basic GPIO functionality and implements interrupt
-	  support. The virtual GPIO driver controls GPIO lines via a firmware
-	  interface. The physical GPIO pins reside on device that is external
-	  from the main SoC package, such as a BMC or a CPLD.
-
-	  To compile this driver as a module, choose M here: the module will
-	  be called gpio-graniterapids.
-
 config GPIO_GRGPIO
 	tristate "Aeroflex Gaisler GRGPIO support"
 	depends on OF || COMPILE_TEST
diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
index ba01904588d9..8e24a6f7d193 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -74,7 +74,6 @@ 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
diff --git a/drivers/gpio/intel/Kconfig b/drivers/gpio/intel/Kconfig
index 54fc93b362c6..39e71c7dd71a 100644
--- a/drivers/gpio/intel/Kconfig
+++ b/drivers/gpio/intel/Kconfig
@@ -5,6 +5,24 @@
 
 if HAS_IOMEM
 
+config GPIO_GRANITERAPIDS
+	tristate "Intel Granite Rapids-D vGPIO support"
+	depends on X86 || COMPILE_TEST
+	select GPIOLIB_IRQCHIP
+	help
+	  Select this to enable virtual GPIO support on platforms with the
+	  following SoCs:
+
+	  - Intel Granite Rapids-D
+
+	  The driver enables basic GPIO functionality and implements interrupt
+	  support. The virtual GPIO driver controls GPIO lines via a firmware
+	  interface. The physical GPIO pins reside on device that is external
+	  from the main SoC package, such as a BMC or a CPLD.
+
+	  To compile this driver as a module, choose M here: the module will
+	  be called gpio-graniterapids.
+
 config GPIO_TANGIER
 	tristate
 	select GPIOLIB_IRQCHIP
diff --git a/drivers/gpio/intel/Makefile b/drivers/gpio/intel/Makefile
index cb373d25b56e..f4b24e7e7b02 100644
--- a/drivers/gpio/intel/Makefile
+++ b/drivers/gpio/intel/Makefile
@@ -1,6 +1,8 @@
 # SPDX-License-Identifier: GPL-2.0
 # Intel GPIO drivers
 
+obj-$(CONFIG_GPIO_GRANITERAPIDS)	+= gpio-graniterapids.o
+
 obj-$(CONFIG_GPIO_TANGIER)		+= gpio-tangier.o
 obj-$(CONFIG_GPIO_ELKHARTLAKE)		+= gpio-elkhartlake.o
 obj-$(CONFIG_GPIO_MERRIFIELD)		+= gpio-merrifield.o
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
-- 
2.50.1


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

* Re: [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder
  2026-09-25 15:57 ` [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder Andy Shevchenko
@ 2026-09-26  5:42   ` Raag Jadav
  2026-09-26 16:55     ` Andy Shevchenko
  0 siblings, 1 reply; 12+ messages in thread
From: Raag Jadav @ 2026-09-26  5:42 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Bartosz Golaszewski, Linus Walleij, Dmitry Torokhov, Junjie Cao,
	Runyu Xiao, Maulik Shah, Peng Fan, linux-kernel, linux-gpio,
	Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

On Fri, Sep 25, 2026 at 05:57:03PM +0200, Andy Shevchenko wrote:
> For better maintenance and development experience, move Intel GPIO
> drivers to the dedicated subfolder. This starts with Intel MID
> and Elkhart Lake ones that share the same core part.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Raag Jadav <raag.jadav@intel.com>

> ---
>  MAINTAINERS                                 |  9 ++---
>  drivers/gpio/Kconfig                        | 31 ++---------------
>  drivers/gpio/Makefile                       |  5 ++-
>  drivers/gpio/intel/Kconfig                  | 37 +++++++++++++++++++++
>  drivers/gpio/intel/Makefile                 |  6 ++++
>  drivers/gpio/{ => intel}/gpio-elkhartlake.c |  0
>  drivers/gpio/{ => intel}/gpio-merrifield.c  |  0
>  drivers/gpio/{ => intel}/gpio-tangier.c     |  0
>  drivers/gpio/{ => intel}/gpio-tangier.h     |  0
>  9 files changed, 50 insertions(+), 38 deletions(-)
>  create mode 100644 drivers/gpio/intel/Kconfig
>  create mode 100644 drivers/gpio/intel/Makefile
>  rename drivers/gpio/{ => intel}/gpio-elkhartlake.c (100%)
>  rename drivers/gpio/{ => intel}/gpio-merrifield.c (100%)
>  rename drivers/gpio/{ => intel}/gpio-tangier.c (100%)
>  rename drivers/gpio/{ => intel}/gpio-tangier.h (100%)

These are already in good hands but I'd like to be atleast informed
about these. Although I'm not sure if it's worth a dedicated entry,
so I'll leave it upto you.

Raag

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

* Re: [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder
  2026-09-26  5:42   ` Raag Jadav
@ 2026-09-26 16:55     ` Andy Shevchenko
  0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-26 16:55 UTC (permalink / raw)
  To: Raag Jadav
  Cc: Andy Shevchenko, Bartosz Golaszewski, Linus Walleij,
	Dmitry Torokhov, Junjie Cao, Runyu Xiao, Maulik Shah, Peng Fan,
	linux-kernel, linux-gpio, Bartosz Golaszewski, Andy Shevchenko,
	Peter Tyser, Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus

On Sat, Sep 26, 2026 at 8:42 AM Raag Jadav <raag.jadav@intel.com> wrote:
> On Fri, Sep 25, 2026 at 05:57:03PM +0200, Andy Shevchenko wrote:

...

> >  drivers/gpio/{ => intel}/gpio-elkhartlake.c |  0
> >  drivers/gpio/{ => intel}/gpio-merrifield.c  |  0
> >  drivers/gpio/{ => intel}/gpio-tangier.c     |  0
> >  drivers/gpio/{ => intel}/gpio-tangier.h     |  0
> >  9 files changed, 50 insertions(+), 38 deletions(-)
> >  create mode 100644 drivers/gpio/intel/Kconfig
> >  create mode 100644 drivers/gpio/intel/Makefile
> >  rename drivers/gpio/{ => intel}/gpio-elkhartlake.c (100%)
> >  rename drivers/gpio/{ => intel}/gpio-merrifield.c (100%)
> >  rename drivers/gpio/{ => intel}/gpio-tangier.c (100%)
> >  rename drivers/gpio/{ => intel}/gpio-tangier.h (100%)
>
> These are already in good hands but I'd like to be atleast informed
> about these. Although I'm not sure if it's worth a dedicated entry,
> so I'll leave it upto you.

The patch adding the respective entry to MAINTAINERS is welcome, if
you think it worth doing.

-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH v1 2/5] gpio: Move Intel PMIC GPIO drivers to the dedicated subfolder
  2026-09-25 15:57 ` [PATCH v1 2/5] gpio: Move Intel PMIC " Andy Shevchenko
@ 2026-09-28 17:10   ` Bartosz Golaszewski
  2026-09-28 18:07     ` Andy Shevchenko
  0 siblings, 1 reply; 12+ messages in thread
From: Bartosz Golaszewski @ 2026-09-28 17:10 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Bartosz Golaszewski, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus, Bartosz Golaszewski, Linus Walleij,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio

On Fri, 25 Sep 2026 17:57:04 +0200, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> said:
> For better maintenance and development experience, move
> Intel PMIC GPIO drivers to the dedicated subfolder.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  MAINTAINERS                                   |  4 +--
>  drivers/gpio/Kconfig                          | 26 ----------------
>  drivers/gpio/Makefile                         |  2 --
>  drivers/gpio/intel/Kconfig                    |  2 ++
>  drivers/gpio/intel/Makefile                   |  2 ++
>  drivers/gpio/intel/pmic/Kconfig               | 30 +++++++++++++++++++
>  drivers/gpio/intel/pmic/Makefile              |  5 ++++

This makes it a very fine-grained split, I'm not sure we really need this big
directory structure when - so far - we got along with all the drivers being in
the same directory?

Look at drivers/pinctrl/intel - there's no such deep structure there.

Bart

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

* Re: [PATCH v1 2/5] gpio: Move Intel PMIC GPIO drivers to the dedicated subfolder
  2026-09-28 17:10   ` Bartosz Golaszewski
@ 2026-09-28 18:07     ` Andy Shevchenko
  0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-09-28 18:07 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Andy Shevchenko, Andy Shevchenko, Peter Tyser,
	Kuppuswamy Sathyanarayanan, Alan Borzeszkowski,
	William Breathitt Gray, Israel Cepeda, Hans de Goede, Lixu Zhang,
	Sakari Ailus, Bartosz Golaszewski, Linus Walleij,
	Dmitry Torokhov, Raag Jadav, Junjie Cao, Runyu Xiao, Maulik Shah,
	Peng Fan, linux-kernel, linux-gpio

On Mon, Sep 28, 2026 at 8:10 PM Bartosz Golaszewski <brgl@kernel.org> wrote:
> On Fri, 25 Sep 2026 17:57:04 +0200, Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> said:
> > For better maintenance and development experience, move
> > Intel PMIC GPIO drivers to the dedicated subfolder.

...

> >  MAINTAINERS                                   |  4 +--
> >  drivers/gpio/Kconfig                          | 26 ----------------
> >  drivers/gpio/Makefile                         |  2 --
> >  drivers/gpio/intel/Kconfig                    |  2 ++
> >  drivers/gpio/intel/Makefile                   |  2 ++
> >  drivers/gpio/intel/pmic/Kconfig               | 30 +++++++++++++++++++
> >  drivers/gpio/intel/pmic/Makefile              |  5 ++++
>
> This makes it a very fine-grained split, I'm not sure we really need this big
> directory structure when - so far - we got along with all the drivers being in
> the same directory?
>
> Look at drivers/pinctrl/intel - there's no such deep structure there.

These have a separate MAINTAINERS entry and not that common GPIO
drivers with the rest.

Basically the whole series follows the split that we have in the
MAINTAINERS already. One patch per group of the drivers / MAINTAINERS
record.

-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH v1 3/5] gpio: Move Intel PCH type of GPIO drivers to the intel subfolder
  2026-09-25 15:57 ` [PATCH v1 3/5] gpio: Move Intel PCH type of GPIO drivers to the intel subfolder Andy Shevchenko
@ 2026-10-04  5:48   ` Junjie Cao
  2026-10-04  8:28     ` Andy Shevchenko
  0 siblings, 1 reply; 12+ messages in thread
From: Junjie Cao @ 2026-10-04  5:48 UTC (permalink / raw)
  To: andriy.shevchenko
  Cc: brgl, linusw, ptyser, linux-gpio, linux-kernel, junjie.cao

Hi Andy,

One small note: moving GPIO_ICH under "if PCI"
also excludes its existing COMPILE_TEST &&
HAS_IOPORT path when PCI=n.

I checked that gpio-ich.o builds with W=1 in that
configuration before the move. Could we keep
GPIO_ICH outside the PCI conditional to preserve
that coverage?

Thanks,
Junjie

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

* Re: [PATCH v1 3/5] gpio: Move Intel PCH type of GPIO drivers to the intel subfolder
  2026-10-04  5:48   ` Junjie Cao
@ 2026-10-04  8:28     ` Andy Shevchenko
  0 siblings, 0 replies; 12+ messages in thread
From: Andy Shevchenko @ 2026-10-04  8:28 UTC (permalink / raw)
  To: Junjie Cao; +Cc: brgl, linusw, ptyser, linux-gpio, linux-kernel

On Sun, Oct 04, 2026 at 05:48:09AM +0000, Junjie Cao wrote:

> One small note: moving GPIO_ICH under "if PCI"
> also excludes its existing COMPILE_TEST &&
> HAS_IOPORT path when PCI=n.
> 
> I checked that gpio-ich.o builds with W=1 in that
> configuration before the move. Could we keep
> GPIO_ICH outside the PCI conditional to preserve
> that coverage?

For what purpose? Yes, it might compile with PCI=n, but it makes no functional
sense. Note, that currently Kconfig puts (mistakenly!) this driver as memory
mapped GPIO driver, which is true, but not the whole picture. This is part of
MFD driver, that is solely PCI and never been anything else. My series rectifies
(or, if you wish, clarifies) this.

Also note, that having compile test enabled on PCI devices with PCI=n may lead
to build issues as PCI doesn't have full set of stubs (yet?). It's not directly
related to _this_ driver, but MFD parent one might be the case.

But, of course, it's not a big deal to add " || COMPILE_TEST" to that "if PCI".
I will consider doing that if we move forward with this series at all. Currently
there is no consensus on what to do with some drivers.

-- 
With Best Regards,
Andy Shevchenko



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

end of thread, other threads:[~2026-10-04  8:28 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-25 15:57 [PATCH v1 0/5] gpio: Move most of the Intel GPIO to the dedicated folder Andy Shevchenko
2026-09-25 15:57 ` [PATCH v1 1/5] gpio: Move Intel GPIO drivers to the dedicated subfolder Andy Shevchenko
2026-09-26  5:42   ` Raag Jadav
2026-09-26 16:55     ` Andy Shevchenko
2026-09-25 15:57 ` [PATCH v1 2/5] gpio: Move Intel PMIC " Andy Shevchenko
2026-09-28 17:10   ` Bartosz Golaszewski
2026-09-28 18:07     ` Andy Shevchenko
2026-09-25 15:57 ` [PATCH v1 3/5] gpio: Move Intel PCH type of GPIO drivers to the intel subfolder Andy Shevchenko
2026-10-04  5:48   ` Junjie Cao
2026-10-04  8:28     ` Andy Shevchenko
2026-09-25 15:57 ` [PATCH v1 4/5] gpio: Move Intel Sodaville GPIO driver " Andy Shevchenko
2026-09-25 15:57 ` [PATCH v1 5/5] gpio: Move Intel vGPIO " Andy Shevchenko

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®