make legacy ISA probe optional
authorArnd Bergmann <arnd@arndb.de>
Tue, 3 Aug 2021 11:40:47 +0000 (13:40 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Aug 2021 12:05:26 +0000 (13:05 +0100)
There are very few ISA drivers left that rely on the static probing from
drivers/net/Space.o. Make them all select a new CONFIG_NETDEV_LEGACY_INIT
symbol, and drop the entire probe logic when that is disabled.

The 9 drivers that are called from Space.c are the same set that
calls netdev_boot_setup_check().

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/appletalk/Kconfig
drivers/net/ethernet/3com/Kconfig
drivers/net/ethernet/8390/Kconfig
drivers/net/ethernet/8390/ne.c
drivers/net/ethernet/amd/Kconfig
drivers/net/ethernet/cirrus/Kconfig
drivers/net/ethernet/smsc/Kconfig

index 56213a8..c8b4eea 100644 (file)
@@ -606,4 +606,11 @@ config NET_FAILOVER
          a VM with direct attached VF by failing over to the paravirtual
          datapath when the VF is unplugged.
 
+config NETDEV_LEGACY_INIT
+       bool
+       depends on ISA
+       help
+         Drivers that call netdev_boot_setup_check() should select this
+         symbol, everything else no longer needs it.
+
 endif # NETDEVICES
index a48a664..6701211 100644 (file)
@@ -18,7 +18,8 @@ obj-$(CONFIG_MACVLAN) += macvlan.o
 obj-$(CONFIG_MACVTAP) += macvtap.o
 obj-$(CONFIG_MII) += mii.o
 obj-$(CONFIG_MDIO) += mdio.o
-obj-$(CONFIG_NET) += Space.o loopback.o
+obj-$(CONFIG_NET) += loopback.o
+obj-$(CONFIG_NETDEV_LEGACY_INIT) += Space.o
 obj-$(CONFIG_NETCONSOLE) += netconsole.o
 obj-y += phy/
 obj-y += mdio/
index 4391839..90b9f1d 100644 (file)
@@ -52,7 +52,9 @@ config LTPC
 
 config COPS
        tristate "COPS LocalTalk PC support"
-       depends on DEV_APPLETALK && (ISA || EISA)
+       depends on DEV_APPLETALK && ISA
+       depends on NETDEVICES
+       select NETDEV_LEGACY_INIT
        help
          This allows you to use COPS AppleTalk cards to connect to LocalTalk
          networks. You also need version 1.3.3 or later of the netatalk
index a52a374..706bd59 100644 (file)
@@ -34,6 +34,7 @@ config EL3
 config 3C515
        tristate "3c515 ISA \"Fast EtherLink\""
        depends on ISA && ISA_DMA_API && !PPC32
+       select NETDEV_LEGACY_INIT
        help
          If you have a 3Com ISA EtherLink XL "Corkscrew" 3c515 Fast Ethernet
          network card, say Y here.
index 9f4b302..a4130e6 100644 (file)
@@ -102,6 +102,7 @@ config MCF8390
 config NE2000
        tristate "NE2000/NE1000 support"
        depends on (ISA || (Q40 && m) || MACH_TX49XX || ATARI_ETHERNEC)
+       select NETDEV_LEGACY_INIT if ISA
        select CRC32
        help
          If you have a network (Ethernet) card of this type, say Y here.
@@ -169,6 +170,7 @@ config STNIC
 config ULTRA
        tristate "SMC Ultra support"
        depends on ISA
+       select NETDEV_LEGACY_INIT
        select CRC32
        help
          If you have a network (Ethernet) card of this type, say Y here.
@@ -186,6 +188,7 @@ config ULTRA
 config WD80x3
        tristate "WD80*3 support"
        depends on ISA
+       select NETDEV_LEGACY_INIT
        select CRC32
        help
          If you have a network (Ethernet) card of this type, say Y here.
index e9756d0..d0bbe21 100644 (file)
@@ -951,6 +951,7 @@ static int __init ne_init(void)
 }
 module_init(ne_init);
 
+#ifdef CONFIG_NETDEV_LEGACY_INIT
 struct net_device * __init ne_probe(int unit)
 {
        int this_dev;
@@ -991,6 +992,7 @@ struct net_device * __init ne_probe(int unit)
 
        return ERR_PTR(-ENODEV);
 }
+#endif
 #endif /* MODULE */
 
 static void __exit ne_exit(void)
index d0b0609..c6a3abe 100644 (file)
@@ -46,6 +46,7 @@ config AMD8111_ETH
 config LANCE
        tristate "AMD LANCE and PCnet (AT1500 and NE2100) support"
        depends on ISA && ISA_DMA_API && !ARM && !PPC32
+       select NETDEV_LEGACY_INIT
        help
          If you have a network (Ethernet) card of this type, say Y here.
          Some LinkSys cards are of this type.
@@ -132,6 +133,7 @@ config PCMCIA_NMCLAN
 config NI65
        tristate "NI6510 support"
        depends on ISA && ISA_DMA_API && !ARM && !PPC32
+       select NETDEV_LEGACY_INIT
        help
          If you have a network (Ethernet) card of this type, say Y here.
 
index 7141340..dac1764 100644 (file)
@@ -26,6 +26,7 @@ config CS89x0_ISA
        depends on ISA
        depends on !PPC32
        depends on CS89x0_PLATFORM=n
+       select NETDEV_LEGACY_INIT
        select CS89x0
        help
          Support for CS89x0 chipset based Ethernet cards. If you have a
index c52a38d..72e42a8 100644 (file)
@@ -23,6 +23,7 @@ config SMC9194
        tristate "SMC 9194 support"
        depends on ISA
        select CRC32
+       select NETDEV_LEGACY_INIT
        help
          This is support for the SMC9xxx based Ethernet cards. Choose this
          option if you have a DELL laptop with the docking station, or