net: handle HAS_IOPORT dependencies
authorNiklas Schnelle <schnelle@linux.ibm.com>
Fri, 5 Apr 2024 11:18:31 +0000 (13:18 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Apr 2024 10:56:56 +0000 (11:56 +0100)
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>
18 files changed:
drivers/net/Kconfig
drivers/net/arcnet/Kconfig
drivers/net/can/cc770/Kconfig
drivers/net/can/sja1000/Kconfig
drivers/net/ethernet/3com/Kconfig
drivers/net/ethernet/8390/Kconfig
drivers/net/ethernet/amd/Kconfig
drivers/net/ethernet/fujitsu/Kconfig
drivers/net/ethernet/intel/Kconfig
drivers/net/ethernet/sis/Kconfig
drivers/net/ethernet/smsc/Kconfig
drivers/net/ethernet/ti/Kconfig
drivers/net/ethernet/via/Kconfig
drivers/net/ethernet/xircom/Kconfig
drivers/net/fddi/defxx.c
drivers/net/hamradio/Kconfig
drivers/net/wan/Kconfig
net/ax25/Kconfig

index 172d84e..f0663cf 100644 (file)
@@ -520,7 +520,7 @@ source "drivers/net/ipa/Kconfig"
 
 config NET_SB1000
        tristate "General Instruments Surfboard 1000"
-       depends on PNP
+       depends on ISA && PNP
        help
          This is a driver for the General Instrument (also known as
          NextLevel) SURFboard 1000 internal
index a51b9da..d1d07a1 100644 (file)
@@ -4,7 +4,7 @@
 #
 
 menuconfig ARCNET
-       depends on NETDEVICES && (ISA || PCI || PCMCIA)
+       depends on NETDEVICES && (ISA || PCI || PCMCIA) && HAS_IOPORT
        tristate "ARCnet support"
        help
          If you have a network card of this type, say Y and check out the
index 9ef1359..467ef19 100644 (file)
@@ -7,6 +7,7 @@ if CAN_CC770
 
 config CAN_CC770_ISA
        tristate "ISA Bus based legacy CC770 driver"
+       depends on ISA
        help
          This driver adds legacy support for CC770 and AN82527 chips
          connected to the ISA bus using I/O port, memory mapped or
index 4b2f9cb..01168db 100644 (file)
@@ -87,6 +87,7 @@ config CAN_PLX_PCI
 
 config CAN_SJA1000_ISA
        tristate "ISA Bus based legacy SJA1000 driver"
+       depends on ISA
        help
          This driver adds legacy support for SJA1000 chips connected to
          the ISA bus using I/O port, memory mapped or indirect access.
index 706bd59..1fbab79 100644 (file)
@@ -44,7 +44,7 @@ config 3C515
 
 config PCMCIA_3C574
        tristate "3Com 3c574 PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        help
          Say Y here if you intend to attach a 3Com 3c574 or compatible PCMCIA
          (PC-card) Fast Ethernet card to your computer.
@@ -54,7 +54,7 @@ config PCMCIA_3C574
 
 config PCMCIA_3C589
        tristate "3Com 3c589 PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        help
          Say Y here if you intend to attach a 3Com 3c589 or compatible PCMCIA
          (PC-card) Ethernet card to your computer.
index a4130e6..345f250 100644 (file)
@@ -19,7 +19,7 @@ if NET_VENDOR_8390
 
 config PCMCIA_AXNET
        tristate "Asix AX88190 PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        help
          Say Y here if you intend to attach an Asix AX88190-based PCMCIA
          (PC-card) Fast Ethernet card to your computer.  These cards are
@@ -117,7 +117,7 @@ config NE2000
 
 config NE2K_PCI
        tristate "PCI NE2000 and clones support (see help)"
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        select CRC32
        help
          This driver is for NE2000 compatible PCI cards. It will not work
@@ -146,7 +146,7 @@ config APNE
 
 config PCMCIA_PCNET
        tristate "NE2000 compatible PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        select CRC32
        help
          Say Y here if you intend to attach an NE2000 compatible PCMCIA
index f8cc892..b39c6f3 100644 (file)
@@ -56,7 +56,7 @@ config LANCE
 
 config PCNET32
        tristate "AMD PCnet32 PCI support"
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        select CRC32
        select MII
        help
@@ -122,7 +122,7 @@ config MVME147_NET
 
 config PCMCIA_NMCLAN
        tristate "New Media PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        help
          Say Y here if you intend to attach a New Media Ethernet or LiveWire
          PCMCIA (PC-card) Ethernet card to your computer.
index 0a1400c..06a28bc 100644 (file)
@@ -18,7 +18,7 @@ if NET_VENDOR_FUJITSU
 
 config PCMCIA_FMVJ18X
        tristate "Fujitsu FMV-J18x PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        select CRC32
        help
          Say Y here if you intend to attach a Fujitsu FMV-J18x or compatible
index 639fbb1..6e7901e 100644 (file)
@@ -41,7 +41,7 @@ config E100
 
 config E1000
        tristate "Intel(R) PRO/1000 Gigabit Ethernet support"
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        help
          This driver supports Intel(R) PRO/1000 gigabit ethernet family of
          adapters.  For more information on how to identify your adapter, go
index 775d76d..7e498bd 100644 (file)
@@ -19,7 +19,7 @@ if NET_VENDOR_SIS
 
 config SIS900
        tristate "SiS 900/7016 PCI Fast Ethernet Adapter support"
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        select CRC32
        select MII
        help
@@ -35,7 +35,7 @@ config SIS900
 
 config SIS190
        tristate "SiS190/SiS191 gigabit ethernet support"
-       depends on PCI
+       depends on PCI && HAS_IOPORT
        select CRC32
        select MII
        help
index 5f22a8a..13ce908 100644 (file)
@@ -54,7 +54,7 @@ config SMC91X
 
 config PCMCIA_SMC91C92
        tristate "SMC 91Cxx PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        select CRC32
        select MII
        help
index 1530d13..cfe9bd6 100644 (file)
@@ -167,7 +167,7 @@ config TI_KEYSTONE_NETCP_ETHSS
 
 config TLAN
        tristate "TI ThunderLAN support"
-       depends on (PCI || EISA)
+       depends on (PCI || EISA) && HAS_IOPORT
        help
          If you have a PCI Ethernet network card based on the ThunderLAN chip
          which is supported by this driver, say Y here.
index da287ef..00773f5 100644 (file)
@@ -20,6 +20,7 @@ config VIA_RHINE
        tristate "VIA Rhine support"
        depends on PCI || (OF_IRQ && GENERIC_PCI_IOMAP)
        depends on PCI || ARCH_VT8500 || COMPILE_TEST
+       depends on HAS_IOPORT
        depends on HAS_DMA
        select CRC32
        select MII
index 7497b9b..bfbdcf7 100644 (file)
@@ -19,7 +19,7 @@ if NET_VENDOR_XIRCOM
 
 config PCMCIA_XIRC2PS
        tristate "Xircom 16-bit PCMCIA support"
-       depends on PCMCIA
+       depends on PCMCIA && HAS_IOPORT
        help
          Say Y here if you intend to attach a Xircom 16-bit PCMCIA (PC-card)
          Ethernet or Fast Ethernet card to your computer.
index 1fef8a9..0fbbb72 100644 (file)
@@ -254,7 +254,7 @@ static const char version[] =
 #define DFX_BUS_TC(dev) 0
 #endif
 
-#if defined(CONFIG_EISA) || defined(CONFIG_PCI)
+#ifdef CONFIG_HAS_IOPORT
 #define dfx_use_mmio bp->mmio
 #else
 #define dfx_use_mmio true
index 25b1f92..36a9aad 100644 (file)
@@ -83,7 +83,7 @@ config SCC_TRXECHO
 
 config BAYCOM_SER_FDX
        tristate "BAYCOM ser12 fullduplex driver for AX.25"
-       depends on AX25 && !S390
+       depends on AX25 && HAS_IOPORT
        select CRC_CCITT
        help
          This is one of two drivers for Baycom style simple amateur radio
@@ -103,7 +103,7 @@ config BAYCOM_SER_FDX
 
 config BAYCOM_SER_HDX
        tristate "BAYCOM ser12 halfduplex driver for AX.25"
-       depends on AX25 && !S390
+       depends on AX25 && HAS_IOPORT
        select CRC_CCITT
        help
          This is one of two drivers for Baycom style simple amateur radio
@@ -150,7 +150,7 @@ config BAYCOM_EPP
 
 config YAM
        tristate "YAM driver for AX.25"
-       depends on AX25 && !S390
+       depends on AX25 && HAS_IOPORT
        help
          The YAM is a modem for packet radio which connects to the serial
          port and includes some of the functions of a Terminal Node
index 31ab213..67be985 100644 (file)
@@ -180,7 +180,7 @@ config C101
 
 config FARSYNC
        tristate "FarSync T-Series support"
-       depends on HDLC && PCI
+       depends on HDLC && PCI && HAS_IOPORT
        help
          Support for the FarSync T-Series X.21 (and V.35/V.24) cards by
          FarSite Communications Ltd.
index fdb6666..e23a3dc 100644 (file)
@@ -4,7 +4,7 @@
 #
 
 menuconfig HAMRADIO
-       depends on NET && !S390
+       depends on NET
        bool "Amateur Radio support"
        help
          If you want to connect your Linux box to an amateur radio, answer Y