From nobody Thu Apr 9 13:27:32 2026 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C77530F812 for ; Sun, 8 Mar 2026 13:14:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772975662; cv=none; b=UALAQZlBhOXUn64yg/V1hUyEHYSHnb0V9ZJdTpZkcJMnJemF+BvIAKqh57f53DY8u1m234lW9LNmGsPy7D0+ejD7GR+HCE4LqdHW5aj4OY7sNEruFDzQSadPY0O8yIadoJfVh2taauagND81ajVrVYyI8yKqApxOH+cpkJIAQDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772975662; c=relaxed/simple; bh=ayV0mPSWTYq40kHYXVY6l1WJRrs219j6nJPh+Ai6wFA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ZzXm7GXPCFt9Uh7s0QQ5ZWoIE/yQwcQAbEc7JHVg61c7pdk4JE8aNVRrBGPSkKIcg+CvH3riKfQl684oReCz8UbH7knd3JNnkME7Jvpe40FZCNjspCviPe8fWvcnYytJ6ynn4CZEZCBpLyxf4x6fTP9O3qlesZUhUTViBIVUHGQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ljd0Ebvb; arc=none smtp.client-ip=209.85.208.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ljd0Ebvb" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-660d77cacc2so4059332a12.1 for ; Sun, 08 Mar 2026 06:14:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772975659; x=1773580459; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to; bh=YZmjSe2f6AmZLKDK24gip2MTz9bDyoXie7g+0s0Xf3Y=; b=ljd0EbvbDBeL3Q3PeSDXYZwywEju23W5YocAoW4/W1c5bm7pDwwuYjEuVGNTTGkiAO F/6Cp2mRVAYcbVz67/7+Au+bF2MpaXbHth+wplb6DJvjrqYIebR2sarnCvT2OTkCeiiA GKq7Hrywl7zo8948KWlrUxxHfRebkZxnqO6g2P03oS3MUNwXyY6SwLoZYUpsjOCnNPYB RA8OGFSIUjnNgfvH06fO06jysKD7+9ITGbLCJ1zSXMkGoluit8qjRrusA8QIBxWKe+YC I0yv6AZ5KMGp/5rVBBQnO4DFoOSZx5eajUjWuqN0xNTg07Vwh8D3doxNMVR88TwAb184 LqXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772975659; x=1773580459; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=YZmjSe2f6AmZLKDK24gip2MTz9bDyoXie7g+0s0Xf3Y=; b=k5r2h2QSbQVzDNDWLvh1FGN3q9+u+ongC5F05f+HzmjS2a+D59DlaaE6lb3v7gIfLw r/XjLPjyB94Tb0GMobSVJbb+4sVxKfzPlNvs32lyqLdaX/fk9eIDgSsaZ8vuM9rSPVDV NkFdzNZG1I+UfID6giq2Qpah54erW8xfxXaSmRvDCgT3s+rK6YkoAWsdLOIb0hC89oxO aS6TG3keDOfF+AYWTnkjSewKnZW5HLMY3QsEna8XBgiqNkfhd4r+bGgYsSsR20VsUY8K JJpWWZbbt+mVzzUcV08WLcoz/lIjn4s5GuEtFBG+c52XWTV59FpVSmNvrVATw4qKpIBx eGIQ== X-Forwarded-Encrypted: i=1; AJvYcCVfOJMpiq8wgr/GphFGBoC86KTOZb3BQezVN60Wfro+tS8Yftp/Yp0MFyHCfosIPIkjwNebsXEdUv07qx0=@vger.kernel.org X-Gm-Message-State: AOJu0Ywgx+Rx9i0wfvWligf906QquQ6R4jslBGVY/+2MCTPLrR3TwhuF FhlaLxNtMj/E985NoIip4fs6wmsrrbuY+YNr2PjcOmyAPc/MeEynIOn9 X-Gm-Gg: ATEYQzwpEiQvEmofgKJtg41BQOpyL0BG1rBMFPr8fg9M7SBRck3AxGkk1DSScb+Tba4 ERaBinpJjr0X8NT8LiZcfm//Gx0rPd9AMY9dzhHFG99x964Wrf5l4Ivrm46nqb1nYXMD67+vXQj dE72eemyLjd/uczPHBdTsRpJNoywMfNSzfd7muzB10gjgslh9pqPM3uZspKiw6H3lM/mGYV8dv9 B3C9+0fHy4GGqH+OtRIoX0DY8dC38hpUWVc0NbamgQqPlEebPN4IVZ2bt8m38KEN3nVA4x/u9nm JC6Gak/KM/ZoedefKwWaKKUs6hlpzzz7apeq00Vc3sVgZjtTRHsKNbmyxZ6MtS/q3LfZ5LcEHmu L6mi79+c3VdVjelTPuZA2Nb6zspBVR8RB9pZlx2fd98M3olJltKZ0L/Y+Fakfo2Ka4JgLBWmJZA TFFzArjr7TMUKXI0QH5N9HNwPnUsLhxd1GCXRshHsNrUCCJo0lajj1Y2/a+Z3mUQKCEXTa/A== X-Received: by 2002:a05:6402:40c2:b0:65c:3383:927c with SMTP id 4fb4d7f45d1cf-6619d41eb63mr4525068a12.5.1772975658536; Sun, 08 Mar 2026 06:14:18 -0700 (PDT) Received: from nixos-office (98.206.213.193.static.cust.telenor.net. [193.213.206.98]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-661a3e61eb6sm2154649a12.8.2026.03.08.06.14.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Mar 2026 06:14:17 -0700 (PDT) Sender: Julian Braha From: Julian Braha To: gregkh@linuxfoundation.org, jcmvbkbc@gmail.com Cc: rdunlap@infradead.org, ilpo.jarvinen@linux.intel.com, conor+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, robh+dt@kernel.org, jirislaby@kernel.org, linux-serial@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Julian Braha Subject: [PATCH] drivers/tty/serial: move ESP32 UART drivers into staging Date: Sun, 8 Mar 2026 13:14:12 +0000 Message-ID: <20260308131412.1102749-1-julianbraha@gmail.com> X-Mailer: git-send-email 2.51.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" These drivers were added about 3 years ago, and depend on the XTENSA_PLATFORM_ESP32 config option which has never existed, so no device can actually use them. They can only be compiled with COMPILE_TEST. As you can see, this config option is still undefined in the downstream tree: https://github.com/search?q=3Drepo%3Ajcmvbkbc%2Flinux-xtensa%20XTENSA_PLATF= ORM_ESP32&type=3Dcode I propose moving these drivers into staging until there is a device that can boot the mainline kernel and use them. Signed-off-by: Julian Braha --- drivers/staging/Kconfig | 2 ++ drivers/staging/Makefile | 1 + drivers/staging/serial_esp32/Kconfig | 28 +++++++++++++++++++ drivers/staging/serial_esp32/Makefile | 4 +++ .../serial_esp32}/esp32_acm.c | 0 .../serial_esp32}/esp32_uart.c | 0 drivers/tty/serial/Kconfig | 26 ----------------- drivers/tty/serial/Makefile | 2 -- 8 files changed, 35 insertions(+), 28 deletions(-) create mode 100644 drivers/staging/serial_esp32/Kconfig create mode 100644 drivers/staging/serial_esp32/Makefile rename drivers/{tty/serial =3D> staging/serial_esp32}/esp32_acm.c (100%) rename drivers/{tty/serial =3D> staging/serial_esp32}/esp32_uart.c (100%) diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 2f92cd698bef..97593e31ca47 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -48,4 +48,6 @@ source "drivers/staging/axis-fifo/Kconfig" =20 source "drivers/staging/vme_user/Kconfig" =20 +source "drivers/staging/serial_esp32/Kconfig" + endif # STAGING diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index f5b8876aa536..78c2e4f49fe5 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -2,6 +2,7 @@ # Makefile for staging directory =20 obj-y +=3D media/ +obj-y +=3D serial_esp32/ obj-$(CONFIG_RTL8723BS) +=3D rtl8723bs/ obj-$(CONFIG_OCTEON_ETHERNET) +=3D octeon/ obj-$(CONFIG_VME_BUS) +=3D vme_user/ diff --git a/drivers/staging/serial_esp32/Kconfig b/drivers/staging/serial_= esp32/Kconfig new file mode 100644 index 000000000000..61c56bfe7764 --- /dev/null +++ b/drivers/staging/serial_esp32/Kconfig @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: GPL-2.0 +config SERIAL_ESP32 + tristate "Espressif ESP32 UART support" + depends on HAS_IOMEM + depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF) + select SERIAL_CORE + select SERIAL_CORE_CONSOLE + select SERIAL_EARLYCON + help + Driver for the UART controllers of the Espressif ESP32xx SoCs. + When earlycon option is enabled the following kernel command line + snippets may be used: + earlycon=3Desp32s3uart,mmio32,0x60000000,115200n8,40000000 + earlycon=3Desp32uart,mmio32,0x3ff40000,115200n8 + +config SERIAL_ESP32_ACM + tristate "Espressif ESP32 USB ACM gadget support" + depends on HAS_IOMEM + depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF) + select SERIAL_CORE + select SERIAL_CORE_CONSOLE + select SERIAL_EARLYCON + help + Driver for the CDC ACM gadget controller of the Espressif ESP32S3 + SoCs that share separate USB controller with the JTAG adapter. + When earlycon option is enabled the following kernel command line + snippet may be used: + earlycon=3Desp32s3acm,mmio32,0x60038000 diff --git a/drivers/staging/serial_esp32/Makefile b/drivers/staging/serial= _esp32/Makefile new file mode 100644 index 000000000000..3c23321944e2 --- /dev/null +++ b/drivers/staging/serial_esp32/Makefile @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 + +obj-$(CONFIG_SERIAL_ESP32) +=3D esp32_uart.o +obj-$(CONFIG_SERIAL_ESP32_ACM) +=3D esp32_acm.o diff --git a/drivers/tty/serial/esp32_acm.c b/drivers/staging/serial_esp32/= esp32_acm.c similarity index 100% rename from drivers/tty/serial/esp32_acm.c rename to drivers/staging/serial_esp32/esp32_acm.c diff --git a/drivers/tty/serial/esp32_uart.c b/drivers/staging/serial_esp32= /esp32_uart.c similarity index 100% rename from drivers/tty/serial/esp32_uart.c rename to drivers/staging/serial_esp32/esp32_uart.c diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index f86775cfdcc9..686e7fb073b8 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -1593,32 +1593,6 @@ config SERIAL_NUVOTON_MA35D1_CONSOLE but you can alter that using a kernel command line option such as "console=3DttyNVTx". =20 -config SERIAL_ESP32 - tristate "Espressif ESP32 UART support" - depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF) - select SERIAL_CORE - select SERIAL_CORE_CONSOLE - select SERIAL_EARLYCON - help - Driver for the UART controllers of the Espressif ESP32xx SoCs. - When earlycon option is enabled the following kernel command line - snippets may be used: - earlycon=3Desp32s3uart,mmio32,0x60000000,115200n8,40000000 - earlycon=3Desp32uart,mmio32,0x3ff40000,115200n8 - -config SERIAL_ESP32_ACM - tristate "Espressif ESP32 USB ACM gadget support" - depends on XTENSA_PLATFORM_ESP32 || (COMPILE_TEST && OF) - select SERIAL_CORE - select SERIAL_CORE_CONSOLE - select SERIAL_EARLYCON - help - Driver for the CDC ACM gadget controller of the Espressif ESP32S3 - SoCs that share separate USB controller with the JTAG adapter. - When earlycon option is enabled the following kernel command line - snippet may be used: - earlycon=3Desp32s3acm,mmio32,0x60038000 - endmenu =20 config SERIAL_MCTRL_GPIO diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile index a2ccbc508ec5..bba7b21a4a1d 100644 --- a/drivers/tty/serial/Makefile +++ b/drivers/tty/serial/Makefile @@ -37,8 +37,6 @@ obj-$(CONFIG_SERIAL_CLPS711X) +=3D clps711x.o obj-$(CONFIG_SERIAL_CPM) +=3D cpm_uart.o obj-$(CONFIG_SERIAL_CONEXANT_DIGICOLOR) +=3D digicolor-usart.o obj-$(CONFIG_SERIAL_DZ) +=3D dz.o -obj-$(CONFIG_SERIAL_ESP32) +=3D esp32_uart.o -obj-$(CONFIG_SERIAL_ESP32_ACM) +=3D esp32_acm.o obj-$(CONFIG_SERIAL_FSL_LINFLEXUART) +=3D fsl_linflexuart.o obj-$(CONFIG_SERIAL_FSL_LPUART) +=3D fsl_lpuart.o obj-$(CONFIG_SERIAL_ICOM) +=3D icom.o --=20 2.51.2