mbox series

[v2,00/14,net-next] drivers/net/Space.c cleanup

Message ID 20210803114051.2112986-1-arnd@kernel.org (mailing list archive)
Headers show
Series drivers/net/Space.c cleanup | expand

Message

Arnd Bergmann Aug. 3, 2021, 11:40 a.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

I discovered that there are still a couple of drivers that rely on
beiong statically initialized from drivers/net/Space.c the way
we did in the last century. As it turns out, there are a couple
of simplifications that can be made here, as well as some minor
bugfixes.

There are four classes of drivers that use this:

- most 10mbit ISA bus ethernet drivers (and one 100mbit one)
- both ISA localtalk drivers
- several m68k ethernet drivers
- one obsolete WAN driver

I found that the drivers using in arch/m68k/ don't actually benefit
from being probed this way as they do not rely on the netdev= command
line arguments, they have simply never been changed to work like a
modern driver.

I had previously sent a patch to remove the sbni/granch driver, and
there were no objections to this patch but forgot to resend it after
some discussion about another patch in the same series.

For the ISA drivers, there is usually no way to probe multiple devices
at boot time other than the netdev= arguments, so all that logic is left
in place for the moment, but centralized in a single file that only gets
included in the kernel build if one or more of the drivers are built-in.

I'm also changing the old-style init_module() functions in these drivers
to static functions with a module_init() annotation, to more closely
resemble modern drivers. These are the last drivers in the kernel to
still use init_module/cleanup_module, removing those may enable future
cleanups to the module loading process.

       Arnd

Changes in v2:

- replace xsurf100 change with Michael's version
- make it PATCH instead of RFC
- rebase to net-next as of August 3

Arnd Bergmann (12):
  [net-next] bcmgenet: remove call to netdev_boot_setup_check
  [net-next] natsemi: sonic: stop calling netdev_boot_setup_check
  [net-next] appletalk: ltpc: remove static probing
  [net-next] 3c509: stop calling netdev_boot_setup_check
  [net-next] cs89x0: rework driver configuration
  [net-next] m68k: remove legacy probing
  [net-next] move netdev_boot_setup into Space.c
  [net-next] make legacy ISA probe optional
  [net-next] wan: remove stale Kconfig entries
  [net-next] wan: remove sbni/granch driver
  [net-next] wan: hostess_sv11: use module_init/module_exit helpers
  [net-next] ethernet: isa: convert to module_init/module_exit

Michael Schmitz (2):
  [net-next] ax88796: export ax_NS8390_init() hook
  [net-next] xsurf100: drop include of lib8390.c

 .../admin-guide/kernel-parameters.txt         |    2 -
 drivers/net/Kconfig                           |    7 +
 drivers/net/Makefile                          |    3 +-
 drivers/net/Space.c                           |  178 +-
 drivers/net/appletalk/Kconfig                 |    4 +-
 drivers/net/appletalk/ltpc.c                  |    7 +-
 drivers/net/ethernet/3com/3c509.c             |    3 -
 drivers/net/ethernet/3com/3c515.c             |    3 +-
 drivers/net/ethernet/3com/Kconfig             |    1 +
 drivers/net/ethernet/8390/Kconfig             |    3 +
 drivers/net/ethernet/8390/apne.c              |   11 +-
 drivers/net/ethernet/8390/ax88796.c           |    7 +
 drivers/net/ethernet/8390/ne.c                |    5 +-
 drivers/net/ethernet/8390/smc-ultra.c         |    9 +-
 drivers/net/ethernet/8390/wd.c                |    7 +-
 drivers/net/ethernet/8390/xsurf100.c          |    9 +-
 drivers/net/ethernet/amd/Kconfig              |    2 +
 drivers/net/ethernet/amd/atarilance.c         |   11 +-
 drivers/net/ethernet/amd/lance.c              |    6 +-
 drivers/net/ethernet/amd/mvme147.c            |   16 +-
 drivers/net/ethernet/amd/ni65.c               |    6 +-
 drivers/net/ethernet/amd/sun3lance.c          |   19 +-
 .../net/ethernet/broadcom/genet/bcmgenet.c    |    2 -
 drivers/net/ethernet/cirrus/Kconfig           |   27 +-
 drivers/net/ethernet/cirrus/cs89x0.c          |   31 +-
 drivers/net/ethernet/i825xx/82596.c           |   24 +-
 drivers/net/ethernet/i825xx/sun3_82586.c      |   17 +-
 drivers/net/ethernet/natsemi/jazzsonic.c      |    2 -
 drivers/net/ethernet/natsemi/xtsonic.c        |    1 -
 drivers/net/ethernet/smsc/Kconfig             |    1 +
 drivers/net/ethernet/smsc/smc9194.c           |    6 +-
 drivers/net/wan/Kconfig                       |   51 -
 drivers/net/wan/Makefile                      |    1 -
 drivers/net/wan/hostess_sv11.c                |    6 +-
 drivers/net/wan/sbni.c                        | 1639 -----------------
 drivers/net/wan/sbni.h                        |  147 --
 include/linux/netdevice.h                     |   13 -
 include/net/Space.h                           |   10 -
 include/net/ax88796.h                         |    3 +
 init/main.c                                   |    6 +-
 net/core/dev.c                                |  125 --
 net/ethernet/eth.c                            |    2 -
 42 files changed, 271 insertions(+), 2162 deletions(-)
 delete mode 100644 drivers/net/wan/sbni.c
 delete mode 100644 drivers/net/wan/sbni.h

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 3, 2021, 12:30 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Tue,  3 Aug 2021 13:40:37 +0200 you wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> I discovered that there are still a couple of drivers that rely on
> beiong statically initialized from drivers/net/Space.c the way
> we did in the last century. As it turns out, there are a couple
> of simplifications that can be made here, as well as some minor
> bugfixes.
> 
> [...]

Here is the summary with links:
  - [v2,01/14,net-next] bcmgenet: remove call to netdev_boot_setup_check
    https://git.kernel.org/netdev/net-next/c/0852aeb9c350
  - [v2,02/14,net-next] natsemi: sonic: stop calling netdev_boot_setup_check
    https://git.kernel.org/netdev/net-next/c/19a11bf06c57
  - [v2,03/14,net-next] appletalk: ltpc: remove static probing
    https://git.kernel.org/netdev/net-next/c/81dd3ee5962d
  - [v2,04/14,net-next] 3c509: stop calling netdev_boot_setup_check
    https://git.kernel.org/netdev/net-next/c/8bbdf1bdf22c
  - [v2,05/14,net-next] cs89x0: rework driver configuration
    https://git.kernel.org/netdev/net-next/c/47fd22f2b847
  - [v2,06/14,net-next] m68k: remove legacy probing
    https://git.kernel.org/netdev/net-next/c/e179d78ee11a
  - [v2,07/14,net-next] ax88796: export ax_NS8390_init() hook
    https://git.kernel.org/netdev/net-next/c/375df5f8c181
  - [v2,08/14,net-next] xsurf100: drop include of lib8390.c
    https://git.kernel.org/netdev/net-next/c/f8ade8dddb16
  - [v2,09/14,net-next] move netdev_boot_setup into Space.c
    https://git.kernel.org/netdev/net-next/c/5ea2f5ffde39
  - [v2,10/14,net-next] make legacy ISA probe optional
    https://git.kernel.org/netdev/net-next/c/4228c3942821
  - [v2,11/14,net-next] wan: remove stale Kconfig entries
    https://git.kernel.org/netdev/net-next/c/db3db1f41754
  - [v2,12/14,net-next] wan: remove sbni/granch driver
    https://git.kernel.org/netdev/net-next/c/72bcad5393a7
  - [v2,13/14,net-next] wan: hostess_sv11: use module_init/module_exit helpers
    https://git.kernel.org/netdev/net-next/c/d52c1069d658
  - [v2,14/14,net-next] ethernet: isa: convert to module_init/module_exit
    https://git.kernel.org/netdev/net-next/c/a07d8ecf6b39

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html