From nobody Thu Apr 9 13:27:32 2026 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (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 477A72E7BD3 for ; Sun, 8 Mar 2026 13:12:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772975525; cv=none; b=q99DUkmxV/KSz0SAEh9b84ASepbLR0hS+CPdcFFPVWhAeHvwlu8gBMYz6Fyzeoe8EdIdnZ2SDTfH6RnP4eQ0Ru0UIG1u1PDJimGl33xLHi5gJ2wuC00cU8C93j5ZL/sGQDKHYeWb5IGMKTK1qg2OOVsYf9WkRIfzTbVo36rbZOY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772975525; c=relaxed/simple; bh=ayV0mPSWTYq40kHYXVY6l1WJRrs219j6nJPh+Ai6wFA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=XGg3hrZRqB5F0sCZLD52oMvb207eqyJH9ZKd280n+okFhqNnCpL4cRLZn+7UNyon9gK6rtgYAUc3hTvgiU8wScrg6OETH6+pfkHT9qzWH8QOFcqP4LBZi+nR6or0auuPEunqeCmRUQfzmTdvrqknlDbgHtUmkkgYK4SWP4P3bUA= 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=JjrqfJmR; arc=none smtp.client-ip=209.85.218.52 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="JjrqfJmR" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-b96f02b4329so34205166b.2 for ; Sun, 08 Mar 2026 06:12:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772975520; x=1773580320; 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=JjrqfJmRDh0jrlAEmSVT3U7Igjq11cFgXbGMJhGAC3Q2OFCLdXt5xKOJYA6XK96Kyv BnNIbFwM0dvgbfs+0at6XTfvGwrWuBACLB4q2Xl4kOIOAD9qBfFpWNkROSYjKj1hxWNI a9dZh4oTYf1/Evu2SJnEdw8sNJHYBIuLr/JMk8r0xPoO634Z9t2A4MYn4sG5UwT1BnLE Q+eo9Npj+vRI9kHkt+3GL0Rauun8NwUjDBPnJMql8QAnc1r4QqFhZr7AhLaKhIZ8ViCK bB1OoaQDhXZ5B2T6cv71BvLWqtj9nQ/kAcKEJKA4pr77WX0upBdWnJEZ2IKCNhHAYAcf PnoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772975520; x=1773580320; 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=ffd66Xitqb/XkLk+7/fKXQcUN0KrdS3pS/P1EtWoEsdFHgIHN+TjKjBSjQfKJxRjnS Gf1Q4Ogf/XRT7/Xssn1GS3v5uOxSuuu6kFRshsXra3TII/nfy2FVRExx3/FdshMyQxrn lzoH5g+NogBZLoXyCVkVgDoE/BsyABH2Vmi/Yptbssv1Rh1Zw+xtahXTGsv94nyeRsw6 oiaOyeltcV/2OgcoPnWX7P6poCPKaQwgAT5flIFhbi4wCMzBewYl/Qjaa3d4FQbgb4AD DlgH9AvSjSKQyD2qA0K4jteGImZeoTvMOxAc2DoUnonbGOAZqSVWFlc2RtZHcCu//Jjq aH9w== X-Forwarded-Encrypted: i=1; AJvYcCWtlvCWEgxu8+YhrUcwHbTUI5SJyfFCgWg1sbEzBgZJ3ynuuL6MmXplIIeYseqYWmOCcOgCuyNdl7/Z7Sc=@vger.kernel.org X-Gm-Message-State: AOJu0YzEcAqVfQoJCijV3EqdMxQxgfNP/V715XC0cK43Jpz1jI4Xhf6p DdombqicI7mG3+s3InS6aWDVof/fZgUmWcW7HvGY9ZR1vPh5AdPf1nJk X-Gm-Gg: ATEYQzzZrJHvDaQv0tbMGd+O1k1x22IKqFREREiZUFFHTvyXRngG73DCWNv2NaD2W/l mj+mHPc+4Qam/F1HTYUvKdUfUO939IrpiFR2geK2m3TlWDGiVwoGL6uXCqK76iM0/Fep1bvHGxc SUj3qin09AVtuBrkdU9DkfT1TCN2jR3xrKvNQdRa49ol7HrJlyxxclJokmOVWPosKFb9maBhnFW pl/4vSiP4WrAwG+DWU6XNlqby0vH6YgwI5hq/vd5hD4aihLIHpnEA8mEe4zNbj/oG4Ve/U3omzh fWaOfWdemJEOai0XDDgFITaqfDanqvK9m5e0Qp/Zs9jvL4blaTc4q/MtsyobiQMWsvjLAfmjdsm irYMeqjRbIcwaTc+x3HpuN7Vpm2JFIugXDDAyvkwGzAWufKD/DkDLlDJZIn8/DJtS9z39yaw9mN S+8g44P9bn+kjXlJQb/1kc5YpzO/b2k8AcmuBEYXAQVlFzHwuGOHJQPmWfpypw5Zw8VHV6aA== X-Received: by 2002:a17:907:3faa:b0:b8a:f2cb:8088 with SMTP id a640c23a62f3a-b942df7e851mr378460266b.33.1772975520183; Sun, 08 Mar 2026 06:12:00 -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 a640c23a62f3a-b942f18bb43sm240592066b.66.2026.03.08.06.11.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Mar 2026 06:11:59 -0700 (PDT) Sender: Julian Braha From: Julian Braha To: gregkg@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:11:56 +0000 Message-ID: <20260308131156.1102166-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