net: handle HAS_IOPORT dependencies

In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
compile time. We thus need to add HAS_IOPORT as dependency for
those drivers requiring them. For the DEFXX driver the use of I/O
ports is optional and we only need to fence specific code paths. It also
turns out that with HAS_IOPORT handled explicitly HAMRADIO does not need
the !S390 dependency and successfully builds the bpqether driver.

Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Maciej W. Rozycki <macro@orcam.me.uk>
Co-developed-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Niklas Schnelle 2024-04-05 13:18:31 +02:00 committed by David S. Miller
parent 6e51d9144a
commit a29689e60e
18 changed files with 25 additions and 22 deletions

View File

@ -520,7 +520,7 @@ source "drivers/net/ipa/Kconfig"
config NET_SB1000 config NET_SB1000
tristate "General Instruments Surfboard 1000" tristate "General Instruments Surfboard 1000"
depends on PNP depends on ISA && PNP
help help
This is a driver for the General Instrument (also known as This is a driver for the General Instrument (also known as
NextLevel) SURFboard 1000 internal NextLevel) SURFboard 1000 internal

View File

@ -4,7 +4,7 @@
# #
menuconfig ARCNET menuconfig ARCNET
depends on NETDEVICES && (ISA || PCI || PCMCIA) depends on NETDEVICES && (ISA || PCI || PCMCIA) && HAS_IOPORT
tristate "ARCnet support" tristate "ARCnet support"
help help
If you have a network card of this type, say Y and check out the If you have a network card of this type, say Y and check out the

View File

@ -7,6 +7,7 @@ if CAN_CC770
config CAN_CC770_ISA config CAN_CC770_ISA
tristate "ISA Bus based legacy CC770 driver" tristate "ISA Bus based legacy CC770 driver"
depends on ISA
help help
This driver adds legacy support for CC770 and AN82527 chips This driver adds legacy support for CC770 and AN82527 chips
connected to the ISA bus using I/O port, memory mapped or connected to the ISA bus using I/O port, memory mapped or

View File

@ -87,6 +87,7 @@ config CAN_PLX_PCI
config CAN_SJA1000_ISA config CAN_SJA1000_ISA
tristate "ISA Bus based legacy SJA1000 driver" tristate "ISA Bus based legacy SJA1000 driver"
depends on ISA
help help
This driver adds legacy support for SJA1000 chips connected to This driver adds legacy support for SJA1000 chips connected to
the ISA bus using I/O port, memory mapped or indirect access. the ISA bus using I/O port, memory mapped or indirect access.

View File

@ -44,7 +44,7 @@ config 3C515
config PCMCIA_3C574 config PCMCIA_3C574
tristate "3Com 3c574 PCMCIA support" tristate "3Com 3c574 PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
help help
Say Y here if you intend to attach a 3Com 3c574 or compatible PCMCIA Say Y here if you intend to attach a 3Com 3c574 or compatible PCMCIA
(PC-card) Fast Ethernet card to your computer. (PC-card) Fast Ethernet card to your computer.
@ -54,7 +54,7 @@ config PCMCIA_3C574
config PCMCIA_3C589 config PCMCIA_3C589
tristate "3Com 3c589 PCMCIA support" tristate "3Com 3c589 PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
help help
Say Y here if you intend to attach a 3Com 3c589 or compatible PCMCIA Say Y here if you intend to attach a 3Com 3c589 or compatible PCMCIA
(PC-card) Ethernet card to your computer. (PC-card) Ethernet card to your computer.

View File

@ -19,7 +19,7 @@ if NET_VENDOR_8390
config PCMCIA_AXNET config PCMCIA_AXNET
tristate "Asix AX88190 PCMCIA support" tristate "Asix AX88190 PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
help help
Say Y here if you intend to attach an Asix AX88190-based PCMCIA Say Y here if you intend to attach an Asix AX88190-based PCMCIA
(PC-card) Fast Ethernet card to your computer. These cards are (PC-card) Fast Ethernet card to your computer. These cards are
@ -117,7 +117,7 @@ config NE2000
config NE2K_PCI config NE2K_PCI
tristate "PCI NE2000 and clones support (see help)" tristate "PCI NE2000 and clones support (see help)"
depends on PCI depends on PCI && HAS_IOPORT
select CRC32 select CRC32
help help
This driver is for NE2000 compatible PCI cards. It will not work This driver is for NE2000 compatible PCI cards. It will not work
@ -146,7 +146,7 @@ config APNE
config PCMCIA_PCNET config PCMCIA_PCNET
tristate "NE2000 compatible PCMCIA support" tristate "NE2000 compatible PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
select CRC32 select CRC32
help help
Say Y here if you intend to attach an NE2000 compatible PCMCIA Say Y here if you intend to attach an NE2000 compatible PCMCIA

View File

@ -56,7 +56,7 @@ config LANCE
config PCNET32 config PCNET32
tristate "AMD PCnet32 PCI support" tristate "AMD PCnet32 PCI support"
depends on PCI depends on PCI && HAS_IOPORT
select CRC32 select CRC32
select MII select MII
help help
@ -122,7 +122,7 @@ config MVME147_NET
config PCMCIA_NMCLAN config PCMCIA_NMCLAN
tristate "New Media PCMCIA support" tristate "New Media PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
help help
Say Y here if you intend to attach a New Media Ethernet or LiveWire Say Y here if you intend to attach a New Media Ethernet or LiveWire
PCMCIA (PC-card) Ethernet card to your computer. PCMCIA (PC-card) Ethernet card to your computer.

View File

@ -18,7 +18,7 @@ if NET_VENDOR_FUJITSU
config PCMCIA_FMVJ18X config PCMCIA_FMVJ18X
tristate "Fujitsu FMV-J18x PCMCIA support" tristate "Fujitsu FMV-J18x PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
select CRC32 select CRC32
help help
Say Y here if you intend to attach a Fujitsu FMV-J18x or compatible Say Y here if you intend to attach a Fujitsu FMV-J18x or compatible

View File

@ -41,7 +41,7 @@ config E100
config E1000 config E1000
tristate "Intel(R) PRO/1000 Gigabit Ethernet support" tristate "Intel(R) PRO/1000 Gigabit Ethernet support"
depends on PCI depends on PCI && HAS_IOPORT
help help
This driver supports Intel(R) PRO/1000 gigabit ethernet family of This driver supports Intel(R) PRO/1000 gigabit ethernet family of
adapters. For more information on how to identify your adapter, go adapters. For more information on how to identify your adapter, go

View File

@ -19,7 +19,7 @@ if NET_VENDOR_SIS
config SIS900 config SIS900
tristate "SiS 900/7016 PCI Fast Ethernet Adapter support" tristate "SiS 900/7016 PCI Fast Ethernet Adapter support"
depends on PCI depends on PCI && HAS_IOPORT
select CRC32 select CRC32
select MII select MII
help help
@ -35,7 +35,7 @@ config SIS900
config SIS190 config SIS190
tristate "SiS190/SiS191 gigabit ethernet support" tristate "SiS190/SiS191 gigabit ethernet support"
depends on PCI depends on PCI && HAS_IOPORT
select CRC32 select CRC32
select MII select MII
help help

View File

@ -54,7 +54,7 @@ config SMC91X
config PCMCIA_SMC91C92 config PCMCIA_SMC91C92
tristate "SMC 91Cxx PCMCIA support" tristate "SMC 91Cxx PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
select CRC32 select CRC32
select MII select MII
help help

View File

@ -167,7 +167,7 @@ config TI_KEYSTONE_NETCP_ETHSS
config TLAN config TLAN
tristate "TI ThunderLAN support" tristate "TI ThunderLAN support"
depends on (PCI || EISA) depends on (PCI || EISA) && HAS_IOPORT
help help
If you have a PCI Ethernet network card based on the ThunderLAN chip If you have a PCI Ethernet network card based on the ThunderLAN chip
which is supported by this driver, say Y here. which is supported by this driver, say Y here.

View File

@ -20,6 +20,7 @@ config VIA_RHINE
tristate "VIA Rhine support" tristate "VIA Rhine support"
depends on PCI || (OF_IRQ && GENERIC_PCI_IOMAP) depends on PCI || (OF_IRQ && GENERIC_PCI_IOMAP)
depends on PCI || ARCH_VT8500 || COMPILE_TEST depends on PCI || ARCH_VT8500 || COMPILE_TEST
depends on HAS_IOPORT
depends on HAS_DMA depends on HAS_DMA
select CRC32 select CRC32
select MII select MII

View File

@ -19,7 +19,7 @@ if NET_VENDOR_XIRCOM
config PCMCIA_XIRC2PS config PCMCIA_XIRC2PS
tristate "Xircom 16-bit PCMCIA support" tristate "Xircom 16-bit PCMCIA support"
depends on PCMCIA depends on PCMCIA && HAS_IOPORT
help help
Say Y here if you intend to attach a Xircom 16-bit PCMCIA (PC-card) Say Y here if you intend to attach a Xircom 16-bit PCMCIA (PC-card)
Ethernet or Fast Ethernet card to your computer. Ethernet or Fast Ethernet card to your computer.

View File

@ -254,7 +254,7 @@ static const char version[] =
#define DFX_BUS_TC(dev) 0 #define DFX_BUS_TC(dev) 0
#endif #endif
#if defined(CONFIG_EISA) || defined(CONFIG_PCI) #ifdef CONFIG_HAS_IOPORT
#define dfx_use_mmio bp->mmio #define dfx_use_mmio bp->mmio
#else #else
#define dfx_use_mmio true #define dfx_use_mmio true

View File

@ -83,7 +83,7 @@ config SCC_TRXECHO
config BAYCOM_SER_FDX config BAYCOM_SER_FDX
tristate "BAYCOM ser12 fullduplex driver for AX.25" tristate "BAYCOM ser12 fullduplex driver for AX.25"
depends on AX25 && !S390 depends on AX25 && HAS_IOPORT
select CRC_CCITT select CRC_CCITT
help help
This is one of two drivers for Baycom style simple amateur radio This is one of two drivers for Baycom style simple amateur radio
@ -103,7 +103,7 @@ config BAYCOM_SER_FDX
config BAYCOM_SER_HDX config BAYCOM_SER_HDX
tristate "BAYCOM ser12 halfduplex driver for AX.25" tristate "BAYCOM ser12 halfduplex driver for AX.25"
depends on AX25 && !S390 depends on AX25 && HAS_IOPORT
select CRC_CCITT select CRC_CCITT
help help
This is one of two drivers for Baycom style simple amateur radio This is one of two drivers for Baycom style simple amateur radio
@ -150,7 +150,7 @@ config BAYCOM_EPP
config YAM config YAM
tristate "YAM driver for AX.25" tristate "YAM driver for AX.25"
depends on AX25 && !S390 depends on AX25 && HAS_IOPORT
help help
The YAM is a modem for packet radio which connects to the serial The YAM is a modem for packet radio which connects to the serial
port and includes some of the functions of a Terminal Node port and includes some of the functions of a Terminal Node

View File

@ -180,7 +180,7 @@ config C101
config FARSYNC config FARSYNC
tristate "FarSync T-Series support" tristate "FarSync T-Series support"
depends on HDLC && PCI depends on HDLC && PCI && HAS_IOPORT
help help
Support for the FarSync T-Series X.21 (and V.35/V.24) cards by Support for the FarSync T-Series X.21 (and V.35/V.24) cards by
FarSite Communications Ltd. FarSite Communications Ltd.

View File

@ -4,7 +4,7 @@
# #
menuconfig HAMRADIO menuconfig HAMRADIO
depends on NET && !S390 depends on NET
bool "Amateur Radio support" bool "Amateur Radio support"
help help
If you want to connect your Linux box to an amateur radio, answer Y If you want to connect your Linux box to an amateur radio, answer Y