[PATCH net-next v3 0/8] net: Remove switchdev_ops

From: Florian Fainelli
Date: Wed Feb 27 2019 - 14:45:26 EST


Hi all,

This patch series completes the removal of the switchdev_ops by
converting switchdev_port_attr_set() to use either the blocking
(process) or non-blocking (atomic) notifier since we typically need to
deal with both depending on where in the bridge code we get called from.

This was tested with the forwarding selftests and DSA hardware.

Ido, hopefully this captures your comments done on v1, if not, can you
illustrate with some pseudo-code what you had in mind if that's okay?

Changes in v3:

- added Reviewed-by tags from Ido where relevant
- added missing notifier_to_errno() in net/bridge/br_switchdev.c when
calling the atomic notifier for PRE_BRIDGE_FLAGS
- kept mlxsw_sp_switchdev_init() in mlxsw/

Changes in v2:

- do not check for SWITCHDEV_F_DEFER when calling the blocking notifier
and instead directly call the atomic notifier from the single location
where this is required

Florian Fainelli (8):
switchdev: Add SWITCHDEV_PORT_ATTR_SET
rocker: Handle SWITCHDEV_PORT_ATTR_SET
net: dsa: Handle SWITCHDEV_PORT_ATTR_SET
mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_ATTR_SET
net: mscc: ocelot: Handle SWITCHDEV_PORT_ATTR_SET
staging: fsl-dpaa2: ethsw: Handle SWITCHDEV_PORT_ATTR_SET
net: switchdev: Replace port attr set SDO with a notification
net: Remove switchdev_ops

.../net/ethernet/mellanox/mlxsw/spectrum.c | 3 -
.../net/ethernet/mellanox/mlxsw/spectrum.h | 2 -
.../mellanox/mlxsw/spectrum_switchdev.c | 24 ++--
drivers/net/ethernet/mscc/ocelot.c | 32 +++++-
drivers/net/ethernet/mscc/ocelot.h | 1 +
drivers/net/ethernet/mscc/ocelot_board.c | 2 +
drivers/net/ethernet/rocker/rocker_main.c | 23 +++-
drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 24 +++-
include/linux/netdevice.h | 3 -
include/net/switchdev.h | 38 ++++---
net/bridge/br_switchdev.c | 8 +-
net/dsa/slave.c | 23 +++-
net/switchdev/switchdev.c | 104 +++++++++++++-----
13 files changed, 204 insertions(+), 83 deletions(-)

--
2.17.1