From: "Uwe Kleine-König" <u.kleine-koenig@baylibre.com>
To: Hugo Villeneuve <hugo@hugovil.com>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Jiri Slaby" <jirislaby@kernel.org>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Hugo Villeneuve" <hvilleneuve@dimonoff.com>,
linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org
Subject: Re: [PATCH] serial: 8250_hub6: Fix double definition for hub6_match_port()
Date: Mon, 20 Jul 2026 23:18:47 +0200 [thread overview]
Message-ID: <al6PfMCuRiYcOBQV@monoceros> (raw)
In-Reply-To: <20260720100708.5b9b3ed9f6f42b27adb264d4@hugovil.com>
[-- Attachment #1: Type: text/plain, Size: 2664 bytes --]
On Mon, Jul 20, 2026 at 10:07:08AM -0400, Hugo Villeneuve wrote:
> Hi Uwe,
>
> On Mon, 20 Jul 2026 12:31:31 +0200
> Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> wrote:
>
> > On Mon, Jul 20, 2026 at 10:08:12AM +0200, Uwe Kleine-König (The Capable Hub) wrote:
> > > With CONFIG_SERIAL_8250_HUB6 configured as module
> > > (CONFIG_SERIAL_8250_HUB6=m) the cpp symbol CONFIG_SERIAL_8250_HUB6 isn't
> > > defined (only CONFIG_SERIAL_8250_HUB6_MODULE is). In this case
> > > hub6_match_port() is defined in drivers/tty/serial/8250/8250.h as static
> > > inline and in drivers/tty/serial/8250/8250_hub6.c as normal function.
> > >
> > > Use IS_ENABLED() to also handle the modular case correctly.
> > >
> > > Fixes: 3d406299d882 ("serial: 8250_hub6: add hub6_match_port()")
> > > Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
> > > ---
> > > drivers/tty/serial/8250/8250.h | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h
> > > index 9d1068d0489d..fb9a7117d145 100644
> > > --- a/drivers/tty/serial/8250/8250.h
> > > +++ b/drivers/tty/serial/8250/8250.h
> > > @@ -334,7 +334,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_ENABLED(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: 0718283ab28bc3907e10b61a6b4be6fefa1cbb2f
> >
> > There is an earlier fix already at
> > https://lore.kernel.org/linux-serial/20260715153707.4181828-1-hugo@hugovil.com/
> >
> > It's a bit different, but essentially equivalent. So please stick to
> > that older patch.
>
> They are not essentially equivalent. If
> CONFIG_SERIAL_8250=y and CONFIG_SERIAL_8250_HUB6=m, and using
> IS_ENABLED() gives this linker error:
>
> ld: vmlinux.o: in function `uart_match_port':
> (.text+0x723aac): undefined reference to `hub6_match_port'
>
> Using IS_REACHABLE() fixes this.
Oh, I read too quickly over the dependencies, I thought
SERIAL_8250_HUB6's
depends on SERIAL_8250 != n && ISA && SERIAL_8250_MANY_PORTS
would prevent that. With this configuration and IS_REACHABLE I wonder if
it's an issue that hub6_match_port() returns false in
drivers/tty/serial/serial_core.c.
Best regards
Uwe
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2026-07-20 21:18 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 8:08 [PATCH] serial: 8250_hub6: Fix double definition for hub6_match_port() Uwe Kleine-König (The Capable Hub)
2026-07-20 10:31 ` Uwe Kleine-König (The Capable Hub)
2026-07-20 14:07 ` Hugo Villeneuve
2026-07-20 21:18 ` Uwe Kleine-König [this message]
2026-07-20 22:53 ` Hugo Villeneuve
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=al6PfMCuRiYcOBQV@monoceros \
--to=u.kleine-koenig@baylibre.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=hugo@hugovil.com \
--cc=hvilleneuve@dimonoff.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jirislaby@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.