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 56213a8a1ec57e6a18cf40fc34c313da043aeff5..c8b4eea14374b07f14d48127da3babc0b15255d8 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.
 
          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
 endif # NETDEVICES
index a48a664605a3008dc5cf3009e0d4ece0a0a1c60b..6701211118c570830246e58480ea3aff3fa3e5fd 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_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/
 obj-$(CONFIG_NETCONSOLE) += netconsole.o
 obj-y += phy/
 obj-y += mdio/
index 43918398f0d34f84931a630e3e83d0a903e56ddb..90b9f1d6eda96b951d8231ee1da0acbf7063df39 100644 (file)
@@ -52,7 +52,9 @@ config LTPC
 
 config COPS
        tristate "COPS LocalTalk PC support"
 
 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
        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 a52a3740f0c970db62fec021b02893c8b313e795..706bd59bf645b947a9a4f2b8d290f8c5956f6ed4 100644 (file)
@@ -34,6 +34,7 @@ config EL3
 config 3C515
        tristate "3c515 ISA \"Fast EtherLink\""
        depends on ISA && ISA_DMA_API && !PPC32
 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.
        help
          If you have a 3Com ISA EtherLink XL "Corkscrew" 3c515 Fast Ethernet
          network card, say Y here.
index 9f4b302fd2ce35db28128bb8200a5953be461388..a4130e643342f2a592f10448f6ad98432dcf1033 100644 (file)
@@ -102,6 +102,7 @@ config MCF8390
 config NE2000
        tristate "NE2000/NE1000 support"
        depends on (ISA || (Q40 && m) || MACH_TX49XX || ATARI_ETHERNEC)
 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.
        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
 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.
        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
 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.
        select CRC32
        help
          If you have a network (Ethernet) card of this type, say Y here.
index e9756d0ea5b8dc2491df52a4457770a4e7540a1e..d0bbe2180b9e61a0c089c9ad43295da9051726af 100644 (file)
@@ -951,6 +951,7 @@ static int __init ne_init(void)
 }
 module_init(ne_init);
 
 }
 module_init(ne_init);
 
+#ifdef CONFIG_NETDEV_LEGACY_INIT
 struct net_device * __init ne_probe(int unit)
 {
        int this_dev;
 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);
 }
 
        return ERR_PTR(-ENODEV);
 }
+#endif
 #endif /* MODULE */
 
 static void __exit ne_exit(void)
 #endif /* MODULE */
 
 static void __exit ne_exit(void)
index d0b0609bbe234c68c5f3b0472316596fbbb23258..c6a3abec86f5140e8c411cad03ac3de8a6995d9b 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
 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.
        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
 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.
 
        help
          If you have a network (Ethernet) card of this type, say Y here.
 
index 7141340a8b0e6da67f093fc1757910eb1aaf237b..dac1764ba74018a72722099ae5cbfd2e264b4d70 100644 (file)
@@ -26,6 +26,7 @@ config CS89x0_ISA
        depends on ISA
        depends on !PPC32
        depends on CS89x0_PLATFORM=n
        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
        select CS89x0
        help
          Support for CS89x0 chipset based Ethernet cards. If you have a
index c52a38df0e0d8eac628bbc97460ef86ac4f7b972..72e42a868346bbb04126c69384ce4bf3081983b1 100644 (file)
@@ -23,6 +23,7 @@ config SMC9194
        tristate "SMC 9194 support"
        depends on ISA
        select CRC32
        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
        help
          This is support for the SMC9xxx based Ethernet cards. Choose this
          option if you have a DELL laptop with the docking station, or