Message ID | 20210803114051.2112986-11-arnd@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 4228c3942821a67b8e313f7c35fdc5832cb67081 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | drivers/net/Space.c cleanup | expand |
Hi Arnd, On Tue, Aug 3, 2021 at 1:41 PM Arnd Bergmann <arnd@kernel.org> wrote: > From: Arnd Bergmann <arnd@arndb.de> > > 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> > --- a/drivers/net/ethernet/8390/ne.c > +++ b/drivers/net/ethernet/8390/ne.c > @@ -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 */ My rbtx4927 build log says: drivers/net/ethernet/8390/ne.c:909:20: warning: ‘ne_add_devices’ defined but not used [-Wunused-function] The network still works fine (nfsroot). CONFIG_MACH_TX49XX=y CONFIG_NE2000=y CONFIG_NETDEV_LEGACY_INIT is not set Gr{oetje,eeting}s, Geert
Hi Arnd, On Wed, Aug 11, 2021 at 4:50 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Tue, Aug 3, 2021 at 1:41 PM Arnd Bergmann <arnd@kernel.org> wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > > > 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> > > > --- a/drivers/net/ethernet/8390/ne.c > > +++ b/drivers/net/ethernet/8390/ne.c > > @@ -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 */ > > My rbtx4927 build log says: > > drivers/net/ethernet/8390/ne.c:909:20: warning: ‘ne_add_devices’ > defined but not used [-Wunused-function] Same for atari_defconfig. Gr{oetje,eeting}s, Geert
On Tue, Sep 7, 2021 at 10:24 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Wed, Aug 11, 2021 at 4:50 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > On Tue, Aug 3, 2021 at 1:41 PM Arnd Bergmann <arnd@kernel.org> wrote: > > > From: Arnd Bergmann <arnd@arndb.de> > > > > > > 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> > > > > > --- a/drivers/net/ethernet/8390/ne.c > > > +++ b/drivers/net/ethernet/8390/ne.c > > > @@ -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 */ > > > > My rbtx4927 build log says: > > > > drivers/net/ethernet/8390/ne.c:909:20: warning: ‘ne_add_devices’ > > defined but not used [-Wunused-function] > > Same for atari_defconfig. Sorry about that. I made the patch when you first reported it, and I was sure I had sent it, but apparently not. Sent it now. Arnd
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 56213a8a1ec5..c8b4eea14374 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -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 diff --git a/drivers/net/Makefile b/drivers/net/Makefile index a48a664605a3..6701211118c5 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -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/ diff --git a/drivers/net/appletalk/Kconfig b/drivers/net/appletalk/Kconfig index 43918398f0d3..90b9f1d6eda9 100644 --- a/drivers/net/appletalk/Kconfig +++ b/drivers/net/appletalk/Kconfig @@ -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 diff --git a/drivers/net/ethernet/3com/Kconfig b/drivers/net/ethernet/3com/Kconfig index a52a3740f0c9..706bd59bf645 100644 --- a/drivers/net/ethernet/3com/Kconfig +++ b/drivers/net/ethernet/3com/Kconfig @@ -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. diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig index 9f4b302fd2ce..a4130e643342 100644 --- a/drivers/net/ethernet/8390/Kconfig +++ b/drivers/net/ethernet/8390/Kconfig @@ -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. diff --git a/drivers/net/ethernet/8390/ne.c b/drivers/net/ethernet/8390/ne.c index e9756d0ea5b8..d0bbe2180b9e 100644 --- a/drivers/net/ethernet/8390/ne.c +++ b/drivers/net/ethernet/8390/ne.c @@ -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) diff --git a/drivers/net/ethernet/amd/Kconfig b/drivers/net/ethernet/amd/Kconfig index d0b0609bbe23..c6a3abec86f5 100644 --- a/drivers/net/ethernet/amd/Kconfig +++ b/drivers/net/ethernet/amd/Kconfig @@ -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. diff --git a/drivers/net/ethernet/cirrus/Kconfig b/drivers/net/ethernet/cirrus/Kconfig index 7141340a8b0e..dac1764ba740 100644 --- a/drivers/net/ethernet/cirrus/Kconfig +++ b/drivers/net/ethernet/cirrus/Kconfig @@ -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 diff --git a/drivers/net/ethernet/smsc/Kconfig b/drivers/net/ethernet/smsc/Kconfig index c52a38df0e0d..72e42a868346 100644 --- a/drivers/net/ethernet/smsc/Kconfig +++ b/drivers/net/ethernet/smsc/Kconfig @@ -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