Skip to content

rptun: select SCHED_WAITPID as dependency#18415

Closed
mzanders wants to merge 1 commit intoapache:masterfrom
mzanders:rptun_dependency_fix
Closed

rptun: select SCHED_WAITPID as dependency#18415
mzanders wants to merge 1 commit intoapache:masterfrom
mzanders:rptun_dependency_fix

Conversation

@mzanders
Copy link
Contributor

rptun.c calls nxsched_waitpid(). Make the dependency explicit to avoid build issues.

Summary

Using RPTUN requires manual selection of SCHED_WAITPID which is
not obvious. Automate this through Kconfig.

Impact

None. Build fails when not SCHED_WAITPID selected in defconfig.

Testing

This is a trivial change.
Build rptun without SCHED_WAITPID > fails.
With fix, regenerate .config and build succeeds.

@github-actions github-actions bot added Area: Drivers Drivers issues Size: XS The size of the change in this PR is very small labels Feb 19, 2026
bool "Remote Proc Tunnel Driver Support"
default n
select RPMSG_VIRTIO
select SCHED_WAITPID
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is preferred to use the depends on keyword here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed :-) tanks @mzanders :-)

rptun.c calls nxsched_waitpid(). Make the dependency explicit to
avoid build issues.
@mzanders mzanders force-pushed the rptun_dependency_fix branch from fa1bec5 to 3bc7eec Compare February 19, 2026 17:27
Copy link
Contributor

@cederom cederom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool thanks @mzanders :-)

Some short fail and fix log is nice to show the fix works :-)

Copy link
Contributor

@cederom cederom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aah, git commit sign missing (git commit -s plz) + build and runtime test logs required :-P

See https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md :D

@mzanders
Copy link
Contributor Author

mzanders commented Feb 20, 2026

@cederom you're right on requesting a log. I tested on my board (iMX93 under development) which obviously was OK. But when testing for other builds (imx95-evk:rpmsg in this case), I got into dependency loop hell which I really can't trace down to where the dependency chain should be cut... :-(

/home/maarten/.local/bin/olddefconfig: Dependency loop
===============

RPMSG (defined at drivers/rpmsg/Kconfig:6), with definition...

config RPMSG
	bool
	default n
	select OPENAMP

(select-related dependencies: RPMSG_PORT || RPMSG_VIRTIO || RPMSG_VIRTIO_LITE)

...depends on RPMSG_VIRTIO (defined at drivers/rpmsg/Kconfig:121), with definition...

config RPMSG_VIRTIO
	bool
	default n
	select RPMSG
	help
	  The Rpmsg VirtIO Lite, VirtIO-Rpmsg and VHost-Rpmsg common
	  part.

(select-related dependencies: DRIVERS_VHOST_RPMSG || DRIVERS_VIRTIO_RPMSG || (RPTUN && SCHED_WAITPID))

...depends on SCHED_WAITPID (defined at sched/Kconfig:771), with definition...

config SCHED_WAITPID
	bool "Enable waitpid() API"
	default n
	depends on SCHED_HAVE_PARENT || !BUILD_KERNEL
	help
	  Enables the waitpid() interface in a default, non-standard mode
	  (non-standard in the sense that the waited for PID need not be child
	  of the caller).  If SCHED_HAVE_PARENT is also defined, then this
	  setting will modify the behavior or waitpid() (making more spec
	  compliant) and will enable the waitid() and wait() interfaces as
	  well. Note that SCHED_HAVE_PARENT must be defined in BUILD_KERNEL if
	  SCHED_WAITPID is needed.

(select-related dependencies: (EXAMPLES_BAS_SHELL && ARCH_HAVE_FORK && EXPERIMENTAL && INTERPRETERS_BAS) || (SYSTEM_POPEN && NSH_LIBRARY && PIPES) || (SYSTEM_SYSTEM && NSH_LIBRARY))

...depends on PIPES (defined at drivers/pipes/Kconfig:6), with definition...

menuconfig PIPES
	bool "FIFO and named pipe drivers"
	default n
	help
	  FIFO and named pipe drivers.  Standard interfaces are declared
	  in include/unistd.h

(select-related dependencies: (PSEUDOTERM && SERIAL) || (NET_LOCAL && NET && !DISABLE_PSEUDOFS_OPERATIONS && NET) || (CANUTILS_LELYCANOPEN_IOLIB && NET_CAN && CANUTILS_LELYCANOPEN) || (EXAMPLES_USRSOCKTEST && NET && NET_USRSOCK) || (LTE_ALT1250 && NET_USRSOCK && MODEM_ALT1250) || (WIRELESS_GS2200M && NET_USRSOCK && WL_GS2200M))

...depends on CANUTILS_LELYCANOPEN_IOLIB (defined at /home/maarten/work/nuttx/apps/canutils/lely-canopen/Kconfig:127), with definition...

config CANUTILS_LELYCANOPEN_IOLIB
	bool "Lely CANopen IO lib"
	default n
	select NETDEV_IFINDEX
	select NET_CAN_SOCK_OPTS
	select PIPES
	depends on NET_CAN && CANUTILS_LELYCANOPEN

(select-related dependencies: CANUTILS_LELYCANOPEN_TOOLS_COCTL && SERIAL_TERMIOS && SYSTEM_READLINE && CANUTILS_LELYCANOPEN)

...depends on SERIAL_TERMIOS (defined at drivers/serial/Kconfig:264), with definition...

config SERIAL_TERMIOS
	bool "Serial TERMIOS support"
	default n
	depends on ARCH_HAVE_SERIAL_TERMIOS && SERIAL
	help
	  If this is not defined, then the terminal hardware settings
	  (baud, parity, flow control) are not configurable at runtime.
	  Note: other software settings (echo, \r\n<->\n, break, tcflush)
	  are always supported.

...depends on ARCH_HAVE_SERIAL_TERMIOS (defined at drivers/serial/Kconfig:6), with definition...

config ARCH_HAVE_SERIAL_TERMIOS
	bool
	default n

(select-related dependencies: (ARCH_SIM && <choice>) || (ARCH_CHIP_MOXART && <choice>) || (ARCH_CHIP_NRF52 && <choice>) || (A1X_UART0 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (A1X_UART1 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (A1X_UART2 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (A1X_UART3 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (A1X_UART4 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (A1X_UART5 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (A1X_UART6 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (A1X_UART7 && ARCH_CHIP_A1X && ARCH_CHIP_A1X && ARCH_ARM && ARCH_ARM) || (AM335X_UART0 && ARCH_CHIP_AM335X && ARCH_CHIP_AM335X && ARCH_ARM && ARCH_ARM) || (AM335X_UART1 && ARCH_CHIP_AM335X && ARCH_CHIP_AM335X && ARCH_ARM && ARCH_ARM) || (AM335X_UART2 && ARCH_CHIP_AM335X && ARCH_CHIP_AM335X && ARCH_ARM && ARCH_ARM) || (AM335X_UART3 && ARCH_CHIP_AM335X && ARCH_CHIP_AM335X && ARCH_ARM && ARCH_ARM) || (AM335X_UART4 && ARCH_CHIP_AM335X && ARCH_CHIP_AM335X && ARCH_ARM && ARCH_ARM) || (AM335X_UART5 && ARCH_CHIP_AM335X && ARCH_CHIP_AM335X && ARCH_ARM && ARCH_ARM) || (EFM32_USART0 && ARCH_CHIP_EFM32 && ARCH_CHIP_EFM32 && ARCH_ARM && ARCH_ARM) || (EFM32_USART1 && ARCH_CHIP_EFM32 && ARCH_CHIP_EFM32 && ARCH_ARM && ARCH_ARM) || (EFM32_USART2 && EFM32_HAVE_USART2 && ARCH_CHIP_EFM32 && ARCH_CHIP_EFM32 && ARCH_ARM && ARCH_ARM) || (GD32F4_USART0_SERIALDRIVER && <choice>) || (GD32F4_USART1_SERIALDRIVER && <choice>) || (GD32F4_USART2_SERIALDRIVER && <choice>) || (GD32F4_UART3_SERIALDRIVER && <choice>) || (GD32F4_UART4_SERIALDRIVER && <choice>) || (GD32F4_USART5_SERIALDRIVER && <choice>) || (GD32F4_UART6_SERIALDRIVER && <choice>) || (GD32F4_UART7_SERIALDRIVER && <choice>) || (IMX6_UART1 && ARCH_CHIP_IMX6 && ARCH_CHIP_IMX6 && ARCH_ARM && ARCH_ARM) || (IMX6_UART2 && ARCH_CHIP_IMX6 && ARCH_CHIP_IMX6 && ARCH_ARM && ARCH_ARM) || (IMX6_UART3 && ARCH_CHIP_IMX6 && ARCH_CHIP_IMX6 && ARCH_ARM && ARCH_ARM) || (IMX6_UART4 && ARCH_CHIP_IMX6 && ARCH_CHIP_IMX6 && ARCH_ARM && ARCH_ARM) || (IMX6_UART5 && ARCH_CHIP_IMX6 && ARCH_CHIP_IMX6 && ARCH_ARM && ARCH_ARM) || (IMX9_LPUART && ARCH_CHIP_IMX9_CORTEX_M && ARCH_CHIP_IMX9_CORTEX_M && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART1 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART2 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART3 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART4 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART5 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART6 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART7 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART8 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART9 && IMXRT_HAVE_LPUART9 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART10 && IMXRT_HAVE_LPUART10 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART11 && IMXRT_HAVE_LPUART11 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (IMXRT_LPUART12 && IMXRT_HAVE_LPUART12 && ARCH_CHIP_IMXRT && ARCH_CHIP_IMXRT && ARCH_ARM && ARCH_ARM) || (KINETIS_UART0 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_UART1 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_UART2 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_UART3 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_UART4 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_UART5 && KINETIS_HAVE_UART5 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_LPUART0 && KINETIS_HAVE_LPUART0 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_LPUART1 && KINETIS_HAVE_LPUART1 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_LPUART2 && KINETIS_HAVE_LPUART2 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_LPUART3 && KINETIS_HAVE_LPUART3 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (KINETIS_LPUART4 && KINETIS_HAVE_LPUART4 && ARCH_CHIP_KINETIS && ARCH_ARM && ARCH_ARM) || (LC823450_UART0 && ARCH_CHIP_LC823450 && ARCH_ARM && ARCH_ARM) || (LC823450_UART1 && ARCH_CHIP_LC823450 && ARCH_ARM && ARCH_ARM) || (LC823450_UART2 && ARCH_CHIP_LC823450 && ARCH_ARM && ARCH_ARM) || (TIVA_UART0 && <choice>) || (TIVA_UART1 && <choice>) || (TIVA_UART2 && <choice>) || (TIVA_UART3 && <choice>) || (TIVA_UART4 && <choice>) || (TIVA_UART5 && <choice>) || (TIVA_UART6 && <choice>) || (TIVA_UART7 && <choice>) || (LPC17_40_UART0 && ARCH_CHIP_LPC17XX_40XX && ARCH_ARM && ARCH_ARM) || (LPC17_40_UART1 && ARCH_CHIP_LPC17XX_40XX && ARCH_ARM && ARCH_ARM) || (LPC17_40_UART2 && ARCH_CHIP_LPC17XX_40XX && ARCH_ARM && ARCH_ARM) || (LPC17_40_UART3 && ARCH_CHIP_LPC17XX_40XX && ARCH_ARM && ARCH_ARM) || (LPC17_40_UART4 && (ARCH_FAMILY_LPC177X || ARCH_FAMILY_LPC178X || ARCH_FAMILY_LPC407X || ARCH_FAMILY_LPC408X) && ARCH_CHIP_LPC17XX_40XX && ARCH_ARM && ARCH_ARM) || (LPC43_USART0 && ARCH_CHIP_LPC43XX && ARCH_ARM && ARCH_ARM) || (LPC43_UART1 && ARCH_CHIP_LPC43XX && ARCH_ARM && ARCH_ARM) || (LPC43_USART2 && ARCH_CHIP_LPC43XX && ARCH_ARM && ARCH_ARM) || (LPC43_USART3 && ARCH_CHIP_LPC43XX && ARCH_ARM && ARCH_ARM) || (S32K1XX_LPUART0 && ARCH_CHIP_S32K1XX && ARCH_CHIP_S32K1XX && ARCH_ARM && ARCH_ARM) || (S32K1XX_LPUART1 && ARCH_CHIP_S32K1XX && ARCH_CHIP_S32K1XX && ARCH_ARM && ARCH_ARM) || (S32K1XX_LPUART2 && ARCH_CHIP_S32K1XX && ARCH_CHIP_S32K1XX && ARCH_ARM && ARCH_ARM) || (S32K3XX_LPUART && ARCH_CHIP_S32K3XX && ARCH_CHIP_S32K3XX && ARCH_ARM && ARCH_ARM) || (NUC_UART0 && ARCH_CHIP_NUC1XX && ARCH_ARM && ARCH_ARM) || (NUC_UART1 && ARCH_CHIP_NUC1XX && ARCH_ARM && ARCH_ARM) || (NUC_UART2 && NUC_HAVE_UART2 && ARCH_CHIP_NUC1XX && ARCH_ARM && ARCH_ARM) || (RP2040_UART0 && ARCH_CHIP_RP2040 && ARCH_ARM && ARCH_ARM) || (RP2040_UART1 && ARCH_CHIP_RP2040 && ARCH_ARM && ARCH_ARM) || (RP23XX_UART0 && ARCH_CHIP_RP23XX && ARCH_ARM && ARCH_ARM) || (RP23XX_UART1 && ARCH_CHIP_RP23XX && ARCH_ARM && ARCH_ARM) || (SAMA5_UART0 && SAMA5_HAVE_UART0 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_UART1 && SAMA5_HAVE_UART1 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_UART2 && SAMA5_HAVE_UART2 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_UART3 && SAMA5_HAVE_UART3 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_UART4 && SAMA5_HAVE_UART4 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_USART0 && SAMA5_HAVE_USART0 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_USART1 && SAMA5_HAVE_USART1 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_USART2 && SAMA5_HAVE_USART2 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_USART3 && SAMA5_HAVE_USART3 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_USART4 && SAMA5_HAVE_USART4 && ARCH_CHIP_SAMA5 && ARCH_CHIP_SAMA5 && ARCH_ARM && ARCH_ARM) || (SAMA5_FLEXCOM0_USART && <choice>) || (SAMA5_FLEXCOM1_USART && <choice>) || (SAMA5_FLEXCOM2_USART && <choice>) || (SAMA5_FLEXCOM3_USART && <choice>) || (SAMA5_FLEXCOM4_USART && <choice>) || (SAM34_UART0 && (ARCH_CHIP_SAM3U || ARCH_CHIP_SAM3X || ARCH_CHIP_SAM3A || ARCH_CHIP_SAM4CM || ARCH_CHIP_SAM4S || ARCH_CHIP_SAM4E) && ARCH_CHIP_SAM34 && ARCH_ARM && ARCH_ARM) || (SAM34_UART1 && (ARCH_CHIP_SAM4CM || ARCH_CHIP_SAM4S || ARCH_CHIP_SAM4E) && ARCH_CHIP_SAM34 && ARCH_ARM && ARCH_ARM) || (SAM34_USART0 && ARCH_CHIP_SAM34 && ARCH_ARM && ARCH_ARM) || (SAM34_USART1 && ARCH_CHIP_SAM34 && ARCH_ARM && ARCH_ARM) || (SAM34_USART2 && (ARCH_CHIP_SAM3U || ARCH_CHIP_SAM3X || ARCH_CHIP_SAM3A || ARCH_CHIP_SAM4CM || ARCH_CHIP_SAM4L) && ARCH_CHIP_SAM34 && ARCH_ARM && ARCH_ARM) || (SAM34_USART3 && (ARCH_CHIP_SAM3U || ARCH_CHIP_SAM3X || ARCH_CHIP_SAM3A || ARCH_CHIP_SAM4CM || ARCH_CHIP_SAM4L) && ARCH_CHIP_SAM34 && ARCH_ARM && ARCH_ARM) || (SAMV7_UART0_SERIALDRIVER && <choice>) || (SAMV7_UART1_SERIALDRIVER && <choice>) || (SAMV7_UART2_SERIALDRIVER && <choice>) || (SAMV7_UART3_SERIALDRIVER && <choice>) || (SAMV7_UART4_SERIALDRIVER && <choice>) || (SAMV7_USART0_SERIALDRIVER && <choice>) || (SAMV7_USART1_SERIALDRIVER && <choice>) || (SAMV7_USART2_SERIALDRIVER && <choice>) || (STM32_USART1_SERIALDRIVER && <choice>) || (STM32_USART2_SERIALDRIVER && <choice>) || (STM32_USART3_SERIALDRIVER && <choice>) || (STM32_UART4_SERIALDRIVER && <choice>) || (STM32_UART5_SERIALDRIVER && <choice>) || (STM32_USART6_SERIALDRIVER && <choice>) || (STM32_UART7_SERIALDRIVER && <choice>) || (STM32_UART8_SERIALDRIVER && <choice>) || (STM32_LPUART1_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART1_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART2_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART3_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART4_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART5_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART6_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART7_SERIALDRIVER && <choice>) || (STM32F0L0G0_USART8_SERIALDRIVER && <choice>) || (STM32F7_USART1 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32F7_USART2 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32F7_USART3 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32F7_UART4 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32F7_UART5 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32F7_USART6 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32F7_UART7 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32F7_UART8 && ARCH_CHIP_STM32F7 && ARCH_CHIP_STM32F7 && ARCH_ARM && ARCH_ARM) || (STM32H7_USART1 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32H7_USART2 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32H7_USART3 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32H7_UART4 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32H7_UART5 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32H7_USART6 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32H7_UART7 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32H7_UART8 && ARCH_CHIP_STM32H7 && ARCH_CHIP_STM32H7 && ARCH_ARM && ARCH_ARM) || (STM32L4_LPUART1 && STM32L4_HAVE_LPUART1 && ARCH_CHIP_STM32L4 && ARCH_CHIP_STM32L4 && ARCH_ARM && ARCH_ARM) || (STM32L4_USART2 && STM32L4_HAVE_USART2 && ARCH_CHIP_STM32L4 && ARCH_CHIP_STM32L4 && ARCH_ARM && ARCH_ARM) || (STM32L4_USART3 && STM32L4_HAVE_USART3 && ARCH_CHIP_STM32L4 && ARCH_CHIP_STM32L4 && ARCH_ARM && ARCH_ARM) || (STM32L4_UART4 && STM32L4_HAVE_UART4 && ARCH_CHIP_STM32L4 && ARCH_CHIP_STM32L4 && ARCH_ARM && ARCH_ARM) || (STM32L4_UART5 && STM32L4_HAVE_UART5 && ARCH_CHIP_STM32L4 && ARCH_CHIP_STM32L4 && ARCH_ARM && ARCH_ARM) || (STM32L4_LPUART1 && ARCH_CHIP_STM32L4 && ARCH_CHIP_STM32L4 && ARCH_ARM && ARCH_ARM) || (STM32L4_USART1 && STM32L4_HAVE_USART1 && ARCH_CHIP_STM32L4 && ARCH_CHIP_STM32L4 && ARCH_ARM && ARCH_ARM) || (STM32H5_UART4 && STM32H5_HAVE_UART4 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_UART5 && STM32H5_HAVE_UART5 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_UART7 && STM32H5_HAVE_UART7 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_UART8 && STM32H5_HAVE_UART8 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_UART9 && STM32H5_HAVE_UART9 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_UART12 && STM32H5_HAVE_UART12 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_USART1 && STM32H5_HAVE_USART1 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_USART2 && STM32H5_HAVE_USART2 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_USART3 && STM32H5_HAVE_USART3 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_USART6 && STM32H5_HAVE_USART6 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_USART10 && STM32H5_HAVE_USART10 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_USART11 && STM32H5_HAVE_USART11 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32H5_LPUART1 && STM32H5_HAVE_LPUART1 && ARCH_CHIP_STM32H5 && ARCH_CHIP_STM32H5 && ARCH_ARM && ARCH_ARM) || (STM32L5_LPUART1 && STM32L5_HAVE_LPUART1 && ARCH_CHIP_STM32L5 && ARCH_CHIP_STM32L5 && ARCH_ARM && ARCH_ARM) || (STM32L5_USART2 && STM32L5_HAVE_USART2 && ARCH_CHIP_STM32L5 && ARCH_CHIP_STM32L5 && ARCH_ARM && ARCH_ARM) || (STM32L5_USART3 && STM32L5_HAVE_USART3 && ARCH_CHIP_STM32L5 && ARCH_CHIP_STM32L5 && ARCH_ARM && ARCH_ARM) || (STM32L5_UART4 && STM32L5_HAVE_UART4 && ARCH_CHIP_STM32L5 && ARCH_CHIP_STM32L5 && ARCH_ARM && ARCH_ARM) || (STM32L5_UART5 && STM32L5_HAVE_UART5 && ARCH_CHIP_STM32L5 && ARCH_CHIP_STM32L5 && ARCH_ARM && ARCH_ARM) || (STM32L5_USART1 && STM32L5_HAVE_USART1 && ARCH_CHIP_STM32L5 && ARCH_CHIP_STM32L5 && ARCH_ARM && ARCH_ARM) || (STM32U5_USART2 && ARCH_CHIP_STM32U5 && ARCH_CHIP_STM32U5 && ARCH_ARM && ARCH_ARM) || (STM32U5_USART3 && ARCH_CHIP_STM32U5 && ARCH_CHIP_STM32U5 && ARCH_ARM && ARCH_ARM) || (STM32U5_UART4 && ARCH_CHIP_STM32U5 && ARCH_CHIP_STM32U5 && ARCH_ARM && ARCH_ARM) || (STM32U5_UART5 && ARCH_CHIP_STM32U5 && ARCH_CHIP_STM32U5 && ARCH_ARM && ARCH_ARM) || (STM32U5_USART1 && ARCH_CHIP_STM32U5 && ARCH_CHIP_STM32U5 && ARCH_ARM && ARCH_ARM) || (STM32U5_LPUART1 && ARCH_CHIP_STM32U5 && ARCH_CHIP_STM32U5 && ARCH_ARM && ARCH_ARM) || (STM32WB_LPUART1 && STM32WB_HAVE_LPUART && ARCH_CHIP_STM32WB && ARCH_CHIP_STM32WB && ARCH_ARM && ARCH_ARM) || (STM32WB_USART1 && ARCH_CHIP_STM32WB && ARCH_CHIP_STM32WB && ARCH_ARM && ARCH_ARM) || (STM32WL5_USART2 && STM32WL5_HAVE_USART2 && ARCH_CHIP_STM32WL5 && ARCH_CHIP_STM32WL5 && ARCH_ARM && ARCH_ARM) || (STM32WL5_LPUART1 && STM32WL5_HAVE_LPUART1 && ARCH_CHIP_STM32WL5 && ARCH_CHIP_STM32WL5 && ARCH_ARM && ARCH_ARM) || (STM32WL5_USART1 && STM32WL5_HAVE_USART1 && ARCH_CHIP_STM32WL5 && ARCH_CHIP_STM32WL5 && ARCH_ARM && ARCH_ARM) || (TMS570_SCI1 && ARCH_CHIP_TMS570 && ARCH_CHIP_TMS570 && ARCH_ARM && ARCH_ARM) || (TMS570_SCI2 && TMS570_HAVE_SCI2 && ARCH_CHIP_TMS570 && ARCH_CHIP_TMS570 && ARCH_ARM && ARCH_ARM) || (MX8MP_UART1 && ARCH_CHIP_MX8MP && ARCH_ARM && ARCH_ARM) || (MX8MP_UART2 && ARCH_CHIP_MX8MP && ARCH_ARM && ARCH_ARM) || (MX8MP_UART3 && ARCH_CHIP_MX8MP && ARCH_ARM && ARCH_ARM) || (MX8MP_UART4 && ARCH_CHIP_MX8MP && ARCH_ARM && ARCH_ARM) || (CXD56_UART1 && ARCH_CHIP_CXD56XX && ARCH_ARM && ARCH_ARM) || (AT32_USART1_SERIALDRIVER && <choice>) || (AT32_USART2_SERIALDRIVER && <choice>) || (AT32_USART3_SERIALDRIVER && <choice>) || (AT32_UART4_SERIALDRIVER && <choice>) || (AT32_UART5_SERIALDRIVER && <choice>) || (AT32_USART6_SERIALDRIVER && <choice>) || (AT32_UART7_SERIALDRIVER && <choice>) || (AT32_UART8_SERIALDRIVER && <choice>) || (CXD32_UART0 && ARCH_CHIP_CXD32XX && ARCH_ARM && ARCH_ARM) || (NXXX_LPUART && ARCH_CHIP_MCX_NXXX && ARCH_CHIP_MCX_NXXX && ARCH_ARM && ARCH_ARM) || (A64_UART && ARCH_CHIP_A64 && ARCH_CHIP_A64 && ARCH_ARM64 && ARCH_ARM64) || (A64_UART1 && ARCH_CHIP_A64 && ARCH_CHIP_A64 && ARCH_ARM64 && ARCH_ARM64) || (A64_UART2 && ARCH_CHIP_A64 && ARCH_CHIP_A64 && ARCH_ARM64 && ARCH_ARM64) || (A64_UART3 && ARCH_CHIP_A64 && ARCH_CHIP_A64 && ARCH_ARM64 && ARCH_ARM64) || (A64_UART4 && ARCH_CHIP_A64 && ARCH_CHIP_A64 && ARCH_ARM64 && ARCH_ARM64) || (RK3399_UART && ARCH_CHIP_RK3399 && ARCH_CHIP_RK3399 && ARCH_ARM64 && ARCH_ARM64) || (RK3399_UART1 && ARCH_CHIP_RK3399 && ARCH_CHIP_RK3399 && ARCH_ARM64 && ARCH_ARM64) || (RK3399_UART2 && ARCH_CHIP_RK3399 && ARCH_CHIP_RK3399 && ARCH_ARM64 && ARCH_ARM64) || (RK3399_UART3 && ARCH_CHIP_RK3399 && ARCH_CHIP_RK3399 && ARCH_ARM64 && ARCH_ARM64) || (RK3399_UART4 && ARCH_CHIP_RK3399 && ARCH_CHIP_RK3399 && ARCH_ARM64 && ARCH_ARM64) || (IMX9_LPUART && ARCH_CHIP_IMX9 && ARCH_CHIP_IMX9 && ARCH_ARM64 && ARCH_ARM64) || (ZYNQ_MPSOC_UART0 && ARCH_CHIP_ZYNQ_MPSOC && ARCH_CHIP_ZYNQ_MPSOC && ARCH_ARM64 && ARCH_ARM64) || (ZYNQ_MPSOC_UART1 && ARCH_CHIP_ZYNQ_MPSOC && ARCH_CHIP_ZYNQ_MPSOC && ARCH_ARM64 && ARCH_ARM64) || (AVR_USART0 && ARCH_CHIP_ATMEGA && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (AVR_USART1 && ARCH_CHIP_ATMEGA && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (AVR_USART0 && AVR_HAVE_USART_2 && SERIAL && ARCH_CHIP_AVRDX && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (AVR_USART1 && AVR_HAVE_USART_2 && SERIAL && ARCH_CHIP_AVRDX && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (AVR_USART2 && AVR_HAVE_USART_2 && SERIAL && ARCH_CHIP_AVRDX && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (AVR_USART3 && AVR_HAVE_USART_4 && SERIAL && ARCH_CHIP_AVRDX && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (AVR_USART4 && AVR_HAVE_USART_4 && SERIAL && ARCH_CHIP_AVRDX && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (AVR_USART5 && AVR_HAVE_USART_5 && SERIAL && ARCH_CHIP_AVRDX && ARCH_FAMILY_AVR && ARCH_AVR && ARCH_AVR) || (ARCH_CHIP_PIC32MX && <choice>) || (ARCH_CHIP_PIC32MZ && <choice>) || (PIC32MX_UART1 && ARCH_CHIP_PIC32MX && ARCH_MIPS && ARCH_MIPS) || (PIC32MX_UART2 && ARCH_CHIP_PIC32MX && ARCH_MIPS && ARCH_MIPS) || (PIC32MX_UART3 && ARCH_CHIP_PIC32MX && ARCH_MIPS && ARCH_MIPS) || (PIC32MX_UART4 && ARCH_CHIP_PIC32MX && ARCH_MIPS && ARCH_MIPS) || (PIC32MX_UART5 && ARCH_CHIP_PIC32MX && ARCH_MIPS && ARCH_MIPS) || (PIC32MX_UART6 && ARCH_CHIP_PIC32MX && ARCH_MIPS && ARCH_MIPS) || (PIC32MZ_UART1 && ARCH_CHIP_PIC32MZ && ARCH_MIPS && ARCH_MIPS) || (PIC32MZ_UART2 && ARCH_CHIP_PIC32MZ && ARCH_MIPS && ARCH_MIPS) || (PIC32MZ_UART3 && ARCH_CHIP_PIC32MZ && ARCH_MIPS && ARCH_MIPS) || (PIC32MZ_UART4 && ARCH_CHIP_PIC32MZ && ARCH_MIPS && ARCH_MIPS) || (PIC32MZ_UART5 && ARCH_CHIP_PIC32MZ && ARCH_MIPS && ARCH_MIPS) || (PIC32MZ_UART6 && ARCH_CHIP_PIC32MZ && ARCH_MIPS && ARCH_MIPS) || (RX65N_SCI1 && ARCH_RX65N_GRROSE && ARCH_RENESAS && ARCH_RENESAS) || (RX65N_SCI5 && ARCH_RX65N_GRROSE && ARCH_RENESAS && ARCH_RENESAS) || (FE310_HAVE_UART0 && ARCH_CHIP_FE310 && ARCH_RISCV && ARCH_RISCV) || (FE310_UART0 && ARCH_CHIP_FE310 && ARCH_RISCV && ARCH_RISCV) || (K210_HAVE_UART0 && ARCH_CHIP_K210 && ARCH_RISCV && ARCH_RISCV) || (K210_UART0 && ARCH_CHIP_K210 && ARCH_RISCV && ARCH_RISCV) || (LITEX_HAVE_UART0 && ARCH_CHIP_LITEX && ARCH_RISCV && ARCH_RISCV) || (LITEX_UART0 && ARCH_CHIP_LITEX && ARCH_RISCV && ARCH_RISCV) || (BL602_HAVE_UART0 && ARCH_CHIP_BL602 && ARCH_RISCV && ARCH_RISCV) || (BL602_HAVE_UART1 && ARCH_CHIP_BL602 && ARCH_RISCV && ARCH_RISCV) || (ESP32C3_UART0 && ARCH_CHIP_ESP32C3_LEGACY && ARCH_CHIP_ESP32C3_LEGACY && ARCH_RISCV && ARCH_RISCV) || (ESP32C3_UART1 && ARCH_CHIP_ESP32C3_LEGACY && ARCH_CHIP_ESP32C3_LEGACY && ARCH_RISCV && ARCH_RISCV) || (ESP32C3_USBSERIAL && ARCH_CHIP_ESP32C3_LEGACY && ARCH_CHIP_ESP32C3_LEGACY && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_UART0 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C3 && ARCH_CHIP_ESP32C3 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_UART1 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C3 && ARCH_CHIP_ESP32C3 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_LP_UART0 && ARCH_CHIP_ESP32C6 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C3 && ARCH_CHIP_ESP32C3 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_USBSERIAL && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C3 && ARCH_CHIP_ESP32C3 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_UART0 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C6 && ARCH_CHIP_ESP32C6 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_UART1 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C6 && ARCH_CHIP_ESP32C6 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_LP_UART0 && ARCH_CHIP_ESP32C6 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C6 && ARCH_CHIP_ESP32C6 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_USBSERIAL && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32C6 && ARCH_CHIP_ESP32C6 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_UART0 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32H2 && ARCH_CHIP_ESP32H2 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_UART1 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32H2 && ARCH_CHIP_ESP32H2 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_LP_UART0 && ARCH_CHIP_ESP32C6 && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32H2 && ARCH_CHIP_ESP32H2 && ARCH_RISCV && ARCH_RISCV) || (ESPRESSIF_USBSERIAL && (ARCH_CHIP_ESPRESSIF || ARCH_CHIP_ESP32C3 || ARCH_CHIP_ESP32C6 || ARCH_CHIP_ESP32H2) && ARCH_CHIP_ESP32H2 && ARCH_CHIP_ESP32H2 && ARCH_RISCV && ARCH_RISCV) || (C906_HAVE_UART0 && ARCH_CHIP_C906 && ARCH_RISCV && ARCH_RISCV) || (C906_UART0 && ARCH_CHIP_C906 && ARCH_RISCV && ARCH_RISCV) || (MPFS_HAVE_UART0 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_HAVE_UART1 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_HAVE_UART2 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_HAVE_UART3 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_HAVE_UART4 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_UART0 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_UART1 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_UART2 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_UART3 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (MPFS_UART4 && ARCH_CHIP_MPFS && ARCH_RISCV && ARCH_RISCV) || (RV32M1_LPUART0_SERIALDRIVER && <choice>) || (RV32M1_LPUART1_SERIALDRIVER && <choice>) || (RV32M1_LPUART2_SERIALDRIVER && <choice>) || (RV32M1_LPUART3_SERIALDRIVER && <choice>) || (HPM_UART0 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_UART1 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_UART2 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_UART3 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_UART4 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_UART5 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_UART6 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_UART7 && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM_PUART && ARCH_CHIP_HPM6000 && ARCH_RISCV && ARCH_RISCV) || (HPM6750_HAVE_UART0 && ARCH_CHIP_HPM6750 && ARCH_RISCV && ARCH_RISCV) || (HPM6750_UART0 && ARCH_CHIP_HPM6750 && ARCH_RISCV && ARCH_RISCV) || (BL808_UART0 && ARCH_CHIP_BL808 && ARCH_RISCV && ARCH_RISCV) || (BL808_UART1 && ARCH_CHIP_BL808 && ARCH_RISCV && ARCH_RISCV) || (BL808_UART2 && ARCH_CHIP_BL808 && ARCH_RISCV && ARCH_RISCV) || (BL808_UART3 && ARCH_CHIP_BL808 && ARCH_RISCV && ARCH_RISCV) || (RP23XX_RV_UART0 && ARCH_CHIP_RP23XX_RV && ARCH_RISCV && ARCH_RISCV) || (RP23XX_RV_UART1 && ARCH_CHIP_RP23XX_RV && ARCH_RISCV && ARCH_RISCV) || (ESP32_UART0 && ARCH_CHIP_ESP32 && ARCH_CHIP_ESP32 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32_UART1 && ARCH_CHIP_ESP32 && ARCH_CHIP_ESP32 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32_UART2 && ARCH_CHIP_ESP32 && ARCH_CHIP_ESP32 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32S2_UART0 && ARCH_CHIP_ESP32S2 && ARCH_CHIP_ESP32S2 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32S2_UART1 && ARCH_CHIP_ESP32S2 && ARCH_CHIP_ESP32S2 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32S3_UART0 && ARCH_CHIP_ESP32S3 && ARCH_CHIP_ESP32S3 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32S3_UART1 && ARCH_CHIP_ESP32S3 && ARCH_CHIP_ESP32S3 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32S3_UART2 && ARCH_CHIP_ESP32S3 && ARCH_CHIP_ESP32S3 && ARCH_XTENSA && ARCH_XTENSA) || (ESP32S3_USBSERIAL && ARCH_CHIP_ESP32S3 && ARCH_CHIP_ESP32S3 && ARCH_XTENSA && ARCH_XTENSA) || (ARCH_CHIP_BM3803 && <choice>) || (ARCH_CHIP_BM3823 && <choice>) || (ARCH_CHIP_S698PM && <choice>) || (BM3803_UART1 && ARCH_CHIP_BM3803 && ARCH_SPARC && ARCH_SPARC) || (BM3803_UART2 && ARCH_CHIP_BM3803 && ARCH_SPARC && ARCH_SPARC) || (BM3803_UART3 && ARCH_CHIP_BM3803 && ARCH_SPARC && ARCH_SPARC) || (BM3823_UART1 && ARCH_CHIP_BM3823 && ARCH_SPARC && ARCH_SPARC) || (BM3823_UART2 && ARCH_CHIP_BM3823 && ARCH_SPARC && ARCH_SPARC) || (BM3823_UART3 && ARCH_CHIP_BM3823 && ARCH_SPARC && ARCH_SPARC) || (S698PM_UART1 && ARCH_CHIP_S698PM && ARCH_SPARC && ARCH_SPARC) || (S698PM_UART2 && ARCH_CHIP_S698PM && ARCH_SPARC && ARCH_SPARC) || (S698PM_UART3 && ARCH_CHIP_S698PM && ARCH_SPARC && ARCH_SPARC) || (S698PM_UART4 && ARCH_CHIP_S698PM && ARCH_SPARC && ARCH_SPARC) || (TC3XX_UART0 && ARCH_TC3XX && ARCH_TRICORE && ARCH_TRICORE) || (CMSDK_UART && SERIAL) || (16550_UART && SERIAL) || (RPMSG_UART && RPMSG && SERIAL) || (PSEUDOTERM && SERIAL))

...depends on RPMSG_UART (defined at drivers/serial/Kconfig:152), with definition...

config RPMSG_UART
	bool "UART RPMSG support"
	default n
	select ARCH_HAVE_SERIAL_TERMIOS
	select SERIAL_RXDMA
	select SERIAL_TXDMA
	select SERIAL_REMOVABLE
	select SERIAL_IFLOWCONTROL
	depends on RPMSG && SERIAL

...depends again on RPMSG (defined at drivers/rpmsg/Kconfig:6)
make: *** [tools/Unix.mk:723: olddefconfig] Error 1

@mzanders mzanders closed this Feb 20, 2026
@cederom
Copy link
Contributor

cederom commented Feb 20, 2026

This is why we prefer depends on rather than select otherwise things like this happen. On the other hand with depends on you need to search and enable things manually step by step. This seems Kconfig limitation.

You may want to replace select with depends on and then select necessary stuff by hand without chain of all sorts of other dependencies.

@cederom
Copy link
Contributor

cederom commented Feb 20, 2026

No need to close this PR, go fight until the solution is found! :-)

@mzanders
Copy link
Contributor Author

@cederom No need to close this PR, go fight until the solution is found! :-)

I'll be back. With even more fixes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Drivers Drivers issues Size: XS The size of the change in this PR is very small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants