Skip to content

Commit

Permalink
make legacy ISA probe optional
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Arnd Bergmann authored and David S. Miller committed Aug 3, 2021
1 parent 5ea2f5f commit 4228c39
Show file tree
Hide file tree
Showing 9 changed files with 22 additions and 2 deletions.
7 changes: 7 additions & 0 deletions drivers/net/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
3 changes: 2 additions & 1 deletion drivers/net/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand Down
4 changes: 3 additions & 1 deletion drivers/net/appletalk/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/3com/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
3 changes: 3 additions & 0 deletions drivers/net/ethernet/8390/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand All @@ -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.
Expand Down
2 changes: 2 additions & 0 deletions drivers/net/ethernet/8390/ne.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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)
Expand Down
2 changes: 2 additions & 0 deletions drivers/net/ethernet/amd/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.

Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/cirrus/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions drivers/net/ethernet/smsc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 4228c39

Please sign in to comment.