2022-04-29 17:06:31

by Niklas Schnelle

[permalink] [raw]
Subject: [RFC v2 34/39] tty: serial: add HAS_IOPORT dependencies

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.

Co-developed-by: Arnd Bergmann <[email protected]>
Signed-off-by: Niklas Schnelle <[email protected]>
---
drivers/tty/Kconfig | 2 +-
drivers/tty/serial/8250/Kconfig | 2 +-
drivers/tty/serial/Kconfig | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
index cc30ff93e2e4..e31cbd88f5a0 100644
--- a/drivers/tty/Kconfig
+++ b/drivers/tty/Kconfig
@@ -203,7 +203,7 @@ config MOXA_INTELLIO

config MOXA_SMARTIO
tristate "Moxa SmartIO support v. 2.0"
- depends on SERIAL_NONSTANDARD && PCI
+ depends on SERIAL_NONSTANDARD && PCI && HAS_IOPORT
help
Say Y here if you have a Moxa SmartIO multiport serial card and/or
want to help develop a new version of this driver.
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
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 6949e883ffab..32c946adb023 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -909,7 +909,7 @@ config SERIAL_VR41XX_CONSOLE

config SERIAL_JSM
tristate "Digi International NEO and Classic PCI Support"
- depends on PCI
+ depends on PCI && HAS_IOPORT
select SERIAL_CORE
help
This is a driver for Digi International's Neo and Classic series
--
2.32.0


2022-05-03 01:15:47

by Maciej W. Rozycki

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

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