Re: [PATCH] serial: 8250: fix compile error with hub6_match_port() when compiled as a module
From: Uwe Kleine-König
Date: Mon Jul 20 2026 - 06:56:44 EST
On Wed, Jul 15, 2026 at 11:37:05AM -0400, Hugo Villeneuve wrote:
> From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
>
> With CONFIG_SERIAL_8250_HUB6=m, we have the following compile error:
>
> ../drivers/tty/serial/8250/8250_hub6.c:46:6: error: redefinition of
> 'hub6_match_port'
>
> Fix hub6_match_port() prototype definition by using IS_REACHABLE() to
> support both built-in and module values, and substitute empty prototype
> otherwise.
>
> Fixes: 3d406299d8829 ("serial: 8250_hub6: add hub6_match_port()")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202607150717.2YxVdWpX-lkp@xxxxxxxxx/
> Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
I hit the same problem and fixed it similarly[1] before spotting this
patch.
> ---
> drivers/tty/serial/8250/8250.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h
> index 9d1068d0489dc..b62f88eec881f 100644
> --- a/drivers/tty/serial/8250/8250.h
> +++ b/drivers/tty/serial/8250/8250.h
> @@ -8,6 +8,7 @@
> */
>
> #include <linux/bits.h>
> +#include <linux/kconfig.h>
This isn't really needed, because the compiler is called with
-include $(srctree)/include/linux/kconfig.h
which I think you can rely on. But it also doesn't hurt.
> #include <linux/serial_8250.h>
> #include <linux/serial_core.h>
> #include <linux/dmaengine.h>
> @@ -334,7 +335,7 @@ int fintek_8250_probe(struct uart_8250_port *uart);
> static inline int fintek_8250_probe(struct uart_8250_port *uart) { return 0; }
> #endif
>
> -#ifdef CONFIG_SERIAL_8250_HUB6
> +#if IS_REACHABLE(CONFIG_SERIAL_8250_HUB6)
I picked IS_ENABLED(). Both work fine here. (IS_ENABLED() has the slight
(maybe subjective) advantage to break if CONFIG_SERIAL_8250_HUB6 is
enabled but not reachabe (which currently cannot happen).
Anyhow:
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxx>
Tested-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxx>
Best regards
Uwe
Attachment:
signature.asc
Description: PGP signature