Re: [RFC v2 34/39] tty: serial: add HAS_IOPORT dependencies

From: Maciej W. Rozycki
Date: Mon May 02 2022 - 05:15:11 EST


On Fri, 29 Apr 2022, Niklas Schnelle wrote:

> In a future patch HAS_IOPORT=n will result in inb()/outb() and friends
> not being declared. We thus need to add HAS_IOPORT as dependency for
> those drivers using them.
[...]
> diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
> index cd93ea6eed65..e216bf745e78 100644
> --- a/drivers/tty/serial/8250/Kconfig
> +++ b/drivers/tty/serial/8250/Kconfig
> @@ -6,7 +6,7 @@
>
> config SERIAL_8250
> tristate "8250/16550 and compatible serial support"
> - depends on !S390
> + depends on HAS_IOPORT
> select SERIAL_CORE
> select SERIAL_MCTRL_GPIO if GPIOLIB
> help

Similarly here some 8250-compatible platform or PCI/e serial port devices
use MMIO, e.g.:

serial8250.0: ttyS2 at MMIO 0x1f000900 (irq = 20, base_baud = 230400) is a 16550A

or:

0001:01:00.0: ttyS0 at MMIO 0x600c080401000 (irq = 40, base_baud = 15625000) is a 16C950/954

so this has to be sorted out within the driver rather than by disabling it
altogether. Possibly with a suitable conditional wired to HAS_IOPORT in
`set_io_from_upio' in drivers/tty/serial/8250/8250_port.c.

Maciej