On Wed, Jul 15, 2026 at 11:37:05AM -0400, Hugo Villeneuve wrote: > From: Hugo Villeneuve > > 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 > Closes: https://lore.kernel.org/oe-kbuild-all/202607150717.2YxVdWpX-lkp@intel.com/ > Signed-off-by: Hugo Villeneuve 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 > +#include 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 > #include > #include > @@ -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 Tested-by: Uwe Kleine-König Best regards Uwe