Linux Serial subsystem development
 help / color / mirror / Atom feed
* [PATCH] tty: serial: move sdio_uart from mmc/core to tty/serial
@ 2026-10-10 10:01 Shawn Lin
  2026-10-10 10:15 ` sashiko-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Shawn Lin @ 2026-10-10 10:01 UTC (permalink / raw)
  To: Ulf Hansson, Greg Kroah-Hartman, Jiri Slaby
  Cc: linux-mmc, linux-kernel, linux-serial, Shawn Lin

sdio_uart is an SDIO function driver, not part of the MMC/SDIO core.
Keeping it in drivers/mmc/core/ is misplaced: it registers to the SDIO
bus (sdio_register_driver) and only uses the public SDIO API from
include/linux/mmc/, with no dependency on any mmc core internals.

Other SDIO function drivers live under their respective functional
subsystem, e.g. the SDIO WiFi drivers are under drivers/net/wireless/.
sdio_uart should likewise be placed under its functional subsystem, tty,
just like the PCIe and I2C/SPI transport drivers (men_z135_uart,
sc16is7xx, max310x) that live under drivers/tty/serial/.

Historically almost all changes to this driver were tty API changes
(e.g. tty_operations adjustments, alloc_tty_driver removal), yet
scripts/get_maintainer.pl never listed the TTY maintainers while the
file lived under drivers/mmc/core/. Moving it under drivers/tty/serial/
makes get_maintainer.pl report the proper TTY/serial maintainers and
reviewers, which benefits future maintenance of this driver.

No functional change. The CONFIG_SDIO_UART symbol is intentionally kept
unchanged to avoid breaking existing configs; the dependency is updated
to 'TTY && MMC' accordingly.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
---

 drivers/mmc/core/Kconfig                     |  7 -------
 drivers/mmc/core/Makefile                    |  1 -
 drivers/tty/serial/Kconfig                   | 10 ++++++++++
 drivers/tty/serial/Makefile                  |  1 +
 drivers/{mmc/core => tty/serial}/sdio_uart.c |  0
 5 files changed, 11 insertions(+), 8 deletions(-)
 rename drivers/{mmc/core => tty/serial}/sdio_uart.c (100%)

diff --git a/drivers/mmc/core/Kconfig b/drivers/mmc/core/Kconfig
index 14d2ecb..03061b1 100644
--- a/drivers/mmc/core/Kconfig
+++ b/drivers/mmc/core/Kconfig
@@ -64,13 +64,6 @@ config MMC_BLOCK_MINORS
 
 	  If unsure, say 8 here.
 
-config SDIO_UART
-	tristate "SDIO UART/GPS class support"
-	depends on TTY
-	help
-	  SDIO function driver for SDIO cards that implements the UART
-	  class, as well as the GPS class which appears like a UART.
-
 config MMC_TEST
 	tristate "MMC host test driver"
 	help
diff --git a/drivers/mmc/core/Makefile b/drivers/mmc/core/Makefile
index 485b4f5..7d909f3 100644
--- a/drivers/mmc/core/Makefile
+++ b/drivers/mmc/core/Makefile
@@ -18,5 +18,4 @@ mmc_core-$(CONFIG_DEBUG_FS)	+= debugfs.o
 obj-$(CONFIG_MMC_BLOCK)		+= mmc_block.o
 mmc_block-objs			:= block.o queue.o
 obj-$(CONFIG_MMC_TEST)		+= mmc_test.o
-obj-$(CONFIG_SDIO_UART)		+= sdio_uart.o
 mmc_core-$(CONFIG_MMC_CRYPTO)	+= crypto.o
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index bf680d2..3864cef 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1387,6 +1387,16 @@ config SERIAL_MEN_Z135
 	  This driver can also be build as a module. If so, the module will be called
 	  men_z135_uart.ko
 
+config SDIO_UART
+	tristate "SDIO UART/GPS class support"
+	depends on TTY && MMC
+	help
+	  SDIO function driver for SDIO cards that implements the UART
+	  class, as well as the GPS class which appears like a UART.
+
+	  This driver can also be built as a module. If so, the module will
+	  be called sdio_uart.
+
 config SERIAL_SPRD
 	tristate "Support for Spreadtrum serial"
 	select SERIAL_CORE
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index bba7b21..d63b126 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -77,6 +77,7 @@ obj-$(CONFIG_SERIAL_SCCNXP)		+= sccnxp.o
 obj-$(CONFIG_SERIAL_SC16IS7XX)		+= sc16is7xx.o
 obj-$(CONFIG_SERIAL_SC16IS7XX_SPI)	+= sc16is7xx_spi.o
 obj-$(CONFIG_SERIAL_SC16IS7XX_I2C)	+= sc16is7xx_i2c.o
+obj-$(CONFIG_SDIO_UART)			+= sdio_uart.o
 obj-$(CONFIG_SERIAL_SH_SCI)		+= sh-sci.o
 obj-$(CONFIG_SERIAL_SIFIVE)		+= sifive.o
 obj-$(CONFIG_SERIAL_SPRD)		+= sprd_serial.o
diff --git a/drivers/mmc/core/sdio_uart.c b/drivers/tty/serial/sdio_uart.c
similarity index 100%
rename from drivers/mmc/core/sdio_uart.c
rename to drivers/tty/serial/sdio_uart.c
-- 
2.7.4


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

* Re: [PATCH] tty: serial: move sdio_uart from mmc/core to tty/serial
  2026-10-10 10:01 [PATCH] tty: serial: move sdio_uart from mmc/core to tty/serial Shawn Lin
@ 2026-10-10 10:15 ` sashiko-bot
  0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-10-10 10:15 UTC (permalink / raw)
  To: Shawn Lin; +Cc: linux-serial

> sdio_uart is an SDIO function driver, not part of the MMC/SDIO core.
> Keeping it in drivers/mmc/core/ is misplaced: it registers to the SDIO
> bus (sdio_register_driver) and only uses the public SDIO API from
> include/linux/mmc/, with no dependency on any mmc core internals.
> 
> Other SDIO function drivers live under their respective functional
> subsystem, e.g. the SDIO WiFi drivers are under drivers/net/wireless/.
> sdio_uart should likewise be placed under its functional subsystem, tty,
> just like the PCIe and I2C/SPI transport drivers (men_z135_uart,
> sc16is7xx, max310x) that live under drivers/tty/serial/.
> 
> Historically almost all changes to this driver were tty API changes
> (e.g. tty_operations adjustments, alloc_tty_driver removal), yet
> scripts/get_maintainer.pl never listed the TTY maintainers while the
> file lived under drivers/mmc/core/. Moving it under drivers/tty/serial/
> makes get_maintainer.pl report the proper TTY/serial maintainers and
> reviewers, which benefits future maintenance of this driver.
> 
> No functional change. The CONFIG_SDIO_UART symbol is intentionally kept
> unchanged to avoid breaking existing configs; the dependency is updated
> to 'TTY && MMC' accordingly.
> 
> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/1791626517-18161-1-git-send-email-shawn.lin@rock-chips.com?part=1


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

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

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-10 10:01 [PATCH] tty: serial: move sdio_uart from mmc/core to tty/serial Shawn Lin
2026-10-10 10:15 ` sashiko-bot

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