Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Niklas Schnelle and committed by
David S. Miller
a29689e6 6e51d914

+25 -22
+1 -1
drivers/net/Kconfig
··· 520 520 521 521 config NET_SB1000 522 522 tristate "General Instruments Surfboard 1000" 523 - depends on PNP 523 + depends on ISA && PNP 524 524 help 525 525 This is a driver for the General Instrument (also known as 526 526 NextLevel) SURFboard 1000 internal
+1 -1
drivers/net/arcnet/Kconfig
··· 4 4 # 5 5 6 6 menuconfig ARCNET 7 - depends on NETDEVICES && (ISA || PCI || PCMCIA) 7 + depends on NETDEVICES && (ISA || PCI || PCMCIA) && HAS_IOPORT 8 8 tristate "ARCnet support" 9 9 help 10 10 If you have a network card of this type, say Y and check out the
+1
drivers/net/can/cc770/Kconfig
··· 7 7 8 8 config CAN_CC770_ISA 9 9 tristate "ISA Bus based legacy CC770 driver" 10 + depends on ISA 10 11 help 11 12 This driver adds legacy support for CC770 and AN82527 chips 12 13 connected to the ISA bus using I/O port, memory mapped or
+1
drivers/net/can/sja1000/Kconfig
··· 87 87 88 88 config CAN_SJA1000_ISA 89 89 tristate "ISA Bus based legacy SJA1000 driver" 90 + depends on ISA 90 91 help 91 92 This driver adds legacy support for SJA1000 chips connected to 92 93 the ISA bus using I/O port, memory mapped or indirect access.
+2 -2
drivers/net/ethernet/3com/Kconfig
··· 44 44 45 45 config PCMCIA_3C574 46 46 tristate "3Com 3c574 PCMCIA support" 47 - depends on PCMCIA 47 + depends on PCMCIA && HAS_IOPORT 48 48 help 49 49 Say Y here if you intend to attach a 3Com 3c574 or compatible PCMCIA 50 50 (PC-card) Fast Ethernet card to your computer. ··· 54 54 55 55 config PCMCIA_3C589 56 56 tristate "3Com 3c589 PCMCIA support" 57 - depends on PCMCIA 57 + depends on PCMCIA && HAS_IOPORT 58 58 help 59 59 Say Y here if you intend to attach a 3Com 3c589 or compatible PCMCIA 60 60 (PC-card) Ethernet card to your computer.
+3 -3
drivers/net/ethernet/8390/Kconfig
··· 19 19 20 20 config PCMCIA_AXNET 21 21 tristate "Asix AX88190 PCMCIA support" 22 - depends on PCMCIA 22 + depends on PCMCIA && HAS_IOPORT 23 23 help 24 24 Say Y here if you intend to attach an Asix AX88190-based PCMCIA 25 25 (PC-card) Fast Ethernet card to your computer. These cards are ··· 117 117 118 118 config NE2K_PCI 119 119 tristate "PCI NE2000 and clones support (see help)" 120 - depends on PCI 120 + depends on PCI && HAS_IOPORT 121 121 select CRC32 122 122 help 123 123 This driver is for NE2000 compatible PCI cards. It will not work ··· 146 146 147 147 config PCMCIA_PCNET 148 148 tristate "NE2000 compatible PCMCIA support" 149 - depends on PCMCIA 149 + depends on PCMCIA && HAS_IOPORT 150 150 select CRC32 151 151 help 152 152 Say Y here if you intend to attach an NE2000 compatible PCMCIA
+2 -2
drivers/net/ethernet/amd/Kconfig
··· 56 56 57 57 config PCNET32 58 58 tristate "AMD PCnet32 PCI support" 59 - depends on PCI 59 + depends on PCI && HAS_IOPORT 60 60 select CRC32 61 61 select MII 62 62 help ··· 122 122 123 123 config PCMCIA_NMCLAN 124 124 tristate "New Media PCMCIA support" 125 - depends on PCMCIA 125 + depends on PCMCIA && HAS_IOPORT 126 126 help 127 127 Say Y here if you intend to attach a New Media Ethernet or LiveWire 128 128 PCMCIA (PC-card) Ethernet card to your computer.
+1 -1
drivers/net/ethernet/fujitsu/Kconfig
··· 18 18 19 19 config PCMCIA_FMVJ18X 20 20 tristate "Fujitsu FMV-J18x PCMCIA support" 21 - depends on PCMCIA 21 + depends on PCMCIA && HAS_IOPORT 22 22 select CRC32 23 23 help 24 24 Say Y here if you intend to attach a Fujitsu FMV-J18x or compatible
+1 -1
drivers/net/ethernet/intel/Kconfig
··· 41 41 42 42 config E1000 43 43 tristate "Intel(R) PRO/1000 Gigabit Ethernet support" 44 - depends on PCI 44 + depends on PCI && HAS_IOPORT 45 45 help 46 46 This driver supports Intel(R) PRO/1000 gigabit ethernet family of 47 47 adapters. For more information on how to identify your adapter, go
+2 -2
drivers/net/ethernet/sis/Kconfig
··· 19 19 20 20 config SIS900 21 21 tristate "SiS 900/7016 PCI Fast Ethernet Adapter support" 22 - depends on PCI 22 + depends on PCI && HAS_IOPORT 23 23 select CRC32 24 24 select MII 25 25 help ··· 35 35 36 36 config SIS190 37 37 tristate "SiS190/SiS191 gigabit ethernet support" 38 - depends on PCI 38 + depends on PCI && HAS_IOPORT 39 39 select CRC32 40 40 select MII 41 41 help
+1 -1
drivers/net/ethernet/smsc/Kconfig
··· 54 54 55 55 config PCMCIA_SMC91C92 56 56 tristate "SMC 91Cxx PCMCIA support" 57 - depends on PCMCIA 57 + depends on PCMCIA && HAS_IOPORT 58 58 select CRC32 59 59 select MII 60 60 help
+1 -1
drivers/net/ethernet/ti/Kconfig
··· 167 167 168 168 config TLAN 169 169 tristate "TI ThunderLAN support" 170 - depends on (PCI || EISA) 170 + depends on (PCI || EISA) && HAS_IOPORT 171 171 help 172 172 If you have a PCI Ethernet network card based on the ThunderLAN chip 173 173 which is supported by this driver, say Y here.
+1
drivers/net/ethernet/via/Kconfig
··· 20 20 tristate "VIA Rhine support" 21 21 depends on PCI || (OF_IRQ && GENERIC_PCI_IOMAP) 22 22 depends on PCI || ARCH_VT8500 || COMPILE_TEST 23 + depends on HAS_IOPORT 23 24 depends on HAS_DMA 24 25 select CRC32 25 26 select MII
+1 -1
drivers/net/ethernet/xircom/Kconfig
··· 19 19 20 20 config PCMCIA_XIRC2PS 21 21 tristate "Xircom 16-bit PCMCIA support" 22 - depends on PCMCIA 22 + depends on PCMCIA && HAS_IOPORT 23 23 help 24 24 Say Y here if you intend to attach a Xircom 16-bit PCMCIA (PC-card) 25 25 Ethernet or Fast Ethernet card to your computer.
+1 -1
drivers/net/fddi/defxx.c
··· 254 254 #define DFX_BUS_TC(dev) 0 255 255 #endif 256 256 257 - #if defined(CONFIG_EISA) || defined(CONFIG_PCI) 257 + #ifdef CONFIG_HAS_IOPORT 258 258 #define dfx_use_mmio bp->mmio 259 259 #else 260 260 #define dfx_use_mmio true
+3 -3
drivers/net/hamradio/Kconfig
··· 83 83 84 84 config BAYCOM_SER_FDX 85 85 tristate "BAYCOM ser12 fullduplex driver for AX.25" 86 - depends on AX25 && !S390 86 + depends on AX25 && HAS_IOPORT 87 87 select CRC_CCITT 88 88 help 89 89 This is one of two drivers for Baycom style simple amateur radio ··· 103 103 104 104 config BAYCOM_SER_HDX 105 105 tristate "BAYCOM ser12 halfduplex driver for AX.25" 106 - depends on AX25 && !S390 106 + depends on AX25 && HAS_IOPORT 107 107 select CRC_CCITT 108 108 help 109 109 This is one of two drivers for Baycom style simple amateur radio ··· 150 150 151 151 config YAM 152 152 tristate "YAM driver for AX.25" 153 - depends on AX25 && !S390 153 + depends on AX25 && HAS_IOPORT 154 154 help 155 155 The YAM is a modem for packet radio which connects to the serial 156 156 port and includes some of the functions of a Terminal Node
+1 -1
drivers/net/wan/Kconfig
··· 180 180 181 181 config FARSYNC 182 182 tristate "FarSync T-Series support" 183 - depends on HDLC && PCI 183 + depends on HDLC && PCI && HAS_IOPORT 184 184 help 185 185 Support for the FarSync T-Series X.21 (and V.35/V.24) cards by 186 186 FarSite Communications Ltd.
+1 -1
net/ax25/Kconfig
··· 4 4 # 5 5 6 6 menuconfig HAMRADIO 7 - depends on NET && !S390 7 + depends on NET 8 8 bool "Amateur Radio support" 9 9 help 10 10 If you want to connect your Linux box to an amateur radio, answer Y