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; 6+ 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] 6+ 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-25 15:57 ` [PATCH v1 2/5] gpio: Move Intel PMIC " Andy Shevchenko
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ 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] 6+ 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-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, 0 replies; 6+ 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] 6+ 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-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, 0 replies; 6+ 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] 6+ 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; 6+ 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] 6+ 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; 6+ 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] 6+ messages in thread

end of thread, other threads:[~2026-09-25 16:09 UTC | newest]

Thread overview: 6+ 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-25 15:57 ` [PATCH v1 2/5] gpio: Move Intel PMIC " 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-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®