[PATCH] serial: 8250: fix compile error with hub6_match_port() when compiled as a module

From: Hugo Villeneuve

Date: Wed Jul 15 2026 - 12:15:19 EST


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>
---
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>
#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)
bool hub6_match_port(const struct uart_port *port1, const struct uart_port *port2);
#else
static inline bool hub6_match_port(const struct uart_port *port1, const struct uart_port *port2)

base-commit: da7b5fd4e17f8e44c5590f2d603c01d499f056e6
--
2.47.3