On Tue, 2024-10-08 at 10:16 +0200, Niklas Schnelle wrote: > On Mon, 2024-10-07 at 22:09 +0100, Maciej W. Rozycki wrote: > > On Mon, 7 Oct 2024, Niklas Schnelle wrote: > > > > > diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c > > > index 6709b6a5f3011db38acc58dc7223158fe4fcf72e..6a638feb44e443a1998980dd037748f227ec1bc8 100644 > > > --- a/drivers/tty/serial/8250/8250_pci.c > > > +++ b/drivers/tty/serial/8250/8250_pci.c > > [...] > > > iobase = pci_resource_start(dev, 0); > > > outb(0x0, iobase + CH384_XINT_ENABLE_REG); > > > } > > > > > > - > > > static int > > > pci_sunix_setup(struct serial_private *priv, > > > const struct pciserial_board *board, > > > > Gratuitous change here. > > > > > diff --git a/drivers/tty/serial/8250/8250_pcilib.c b/drivers/tty/serial/8250/8250_pcilib.c > > > index ea906d721b2c3eac15c9e8d62cc6fa56c3ef6150..fc1882d7515b5814ff1240ffdbe1009ab908ad6b 100644 > > > --- a/drivers/tty/serial/8250/8250_pcilib.c > > > +++ b/drivers/tty/serial/8250/8250_pcilib.c > > > @@ -28,6 +28,10 @@ int serial8250_pci_setup_port(struct pci_dev *dev, struct uart_8250_port *port, > > > port->port.membase = pcim_iomap_table(dev)[bar] + offset; > > > port->port.regshift = regshift; > > > } else { > > > + if (!IS_ENABLED(CONFIG_HAS_IOPORT)) { > > > + pr_err("Serial port %lx requires I/O port support\n", port->port.iobase); > > > + return -EINVAL; > > > + } > > > port->port.iotype = UPIO_PORT; > > > port->port.iobase = pci_resource_start(dev, bar) + offset; > > > port->port.mapbase = 0; > > > > Can we please flatten this conditional and get rid of the negation, and > > also use `pci_err' for clear identification (`port->port.iobase' may not > > even have been set to anything meaningful if this triggers)? I.e.: > > > > /* ... */ > > } else if (IS_ENABLED(CONFIG_HAS_IOPORT)) { > > /* ... */ > > } else { > > pci_err(dev, "serial port requires I/O port support\n"); > > return -EINVAL; > > } > > > > I'd also say "port I/O" (by analogy to "memory-mapped I/O") rather than > > "I/O port", but I can imagine it might be debatable. > > Agree this looks better, will change it. While changing this I noticed that this isn't aligned with the other print. There we use dev_warn() and -ENXIO vs -EINVAL. How about we move serial_8250_need_ioport() to 8250_pcilib.c and use it here too? Then we also only have a single place for the message. Thanks, Niklas