From 7662a02e53a6143c12508f0cc3b2c7c08c2afa84 Mon Sep 17 00:00:00 2001 From: Shawn Lin Date: Sat, 10 Oct 2026 18:01:57 +0800 Subject: [PATCH] tty: serial: move sdio_uart from mmc/core to tty/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 Link: https://patch.msgid.link/1791626517-18161-1-git-send-email-shawn.lin@rock-chips.com Signed-off-by: Greg Kroah-Hartman --- 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 14d2ecbb04d3..03061b1045a8 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 15b067e8b0d1..0fa4abada538 100644 --- a/drivers/mmc/core/Makefile +++ b/drivers/mmc/core/Makefile @@ -17,5 +17,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 bf680d22199b..3864cef711a6 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 bba7b21a4a1d..d63b126f40ca 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