mbox series

[net-next,v2,00/10] net: WWAN link creation improvements

Message ID 20210621225100.21005-1-ryazanov.s.a@gmail.com
Headers show
Series net: WWAN link creation improvements | expand

Message

Sergey Ryazanov June 21, 2021, 10:50 p.m. UTC
This series is intended to make the WWAN network links management easier
for WWAN device drivers.

The series begins with adding support for network links creation to the
WWAN HW simulator to facilitate code testing. Then there are a couple of
changes that prepe the WWAN core code for further modifications. The
following patches (4-6) simplify driver unregistering procedures by
performing the created links cleanup in the WWAN core. 7th patch is to
avoid the odd hold of a driver module. Next patches (8th and 9th) make
it easier for drivers to create a network interface for a default data
channel. Finally, 10th patch adds support for reporting of data link
(aka channel aka context) id to make user aware which network
interface is bound to which WWAN device data channel.

All core changes have been tested with the HW simulator. The MHI and
IOSM drivers were only compile tested as I have no access to this
hardware. So the coresponding patches require ACK from the driver
authors.

Changelog:
  v1 -> v2:
    * rebased on top of latest net-next
    * patch that reworks the creation of mhi_net default netdev was
      dropped; as Loic explained, this network device has different
      purpose depending on a driver mode; Loic has a plan to rework the
      mhi_net driver, so we will defer the default netdev creation
      reworkings
    * add a new patch that creates a default network interface for IOSM
      modems
    * 7th, 8th, 10th patches have a minor updates (see the patches for
      details)

Sergey Ryazanov (10):
  wwan_hwsim: support network interface creation
  wwan: core: relocate ops registering code
  wwan: core: require WWAN netdev setup callback existence
  wwan: core: multiple netdevs deletion support
  wwan: core: remove all netdevs on ops unregistering
  net: iosm: drop custom netdev(s) removing
  wwan: core: no more hold netdev ops owning module
  wwan: core: support default netdev creation
  net: iosm: create default link via WWAN core
  wwan: core: add WWAN common private data for netdev

 drivers/net/mhi/net.c                     |  18 +-
 drivers/net/mhi/proto_mbim.c              |   5 +-
 drivers/net/wwan/iosm/iosm_ipc_imem_ops.h |   3 +
 drivers/net/wwan/iosm/iosm_ipc_wwan.c     |  31 +--
 drivers/net/wwan/wwan_core.c              | 258 ++++++++++++++++------
 drivers/net/wwan/wwan_hwsim.c             |  47 ++++
 include/linux/wwan.h                      |  28 ++-
 7 files changed, 282 insertions(+), 108 deletions(-)