Re: [PATCH] serial: 8250: don't register ports that have no hardware
Jiri Slaby <[email protected]>
| Newsgroups | org.kernel.vger.linux-serial,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 18. 08. 26, 20:52, Lucas Tanure wrote: > The 8250 driver creates a fixed set of port slots at boot and > registers a ttyS device for each one, even when the slot describes no > hardware. On device tree platforms those slots are empty, but they > still take the ttyS0..ttyS3 names. > > New Amlogic SoCs (S4, T7) name their real UARTs ttyS as well. With > both drivers built in, as in arm64 defconfig, the real port fails to bind: > > sysfs: cannot create duplicate filename '/class/tty/ttyS0' > meson_uart fe078000.serial: Cannot register tty device on line 0 > > Skip slots that have no I/O and no memory address. Legacy x86 slots > come with resources and are not affected. > > Signed-off-by: Lucas Tanure <[email protected]> > Assisted-by: Claude:claude-fable-5 > --- > drivers/tty/serial/8250/8250_core.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c > index f49862d90eeb..e66e0cdbb210 100644 > --- a/drivers/tty/serial/8250/8250_core.c > +++ b/drivers/tty/serial/8250/8250_core.c > @@ -378,6 +378,14 @@ void __init serial8250_register_ports(struct uart_driver *drv, struct device *de > if (up->port.dev) > continue; > > + /* > + * Skip slots that describe no hardware: they would only > + * take up ttyS<n> names. Real ports get their node when > + * they claim a slot in serial8250_register_8250_port(). > + */ > + if (!up->port.iobase && !up->port.mapbase && !up->port.membase) > + continue; So you can no longer set up those ports via TIOCSSERIAL? And what about already registered consoles? Why does meson register ttyS* in the first place? F*ck AI proposed changes. thanks, -- js suse labs