Hi David, Jakub, This patch series addresses a long standing with no known impact today with the overloading of netdev_ops done by the DSA layer.
First we introduce a ndo_equal netdev_ops function pointer, then we have DSA utilize it, and finally all in tree users are converted to using either netdev_ops_equal() or __netdev_ops_equal() (for const struct net_device reference). I did my best to build test each driver being changed here. A coccinelle script will be submitted later on when it works with the coccicheck target integration. Florian Fainelli (3): net: Introduce netdev_ops_equal net: dsa: Implement ndo_equal for CPU port net_device net: treewide: Convert to netdev_ops_equal() drivers/net/ethernet/broadcom/bcmsysport.c | 4 +-- drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 2 +- .../net/ethernet/cavium/liquidio/lio_vf_rep.c | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +- .../net/ethernet/mellanox/mlx5/core/en_rep.c | 4 +-- .../net/ethernet/mellanox/mlx5/core/en_tc.c | 2 +- .../net/ethernet/mellanox/mlxsw/spectrum.c | 2 +- drivers/net/ethernet/mscc/ocelot_net.c | 2 +- drivers/net/ethernet/netronome/nfp/nfp_net.h | 2 +- .../net/ethernet/netronome/nfp/nfp_net_repr.h | 2 +- drivers/net/ethernet/rocker/rocker_main.c | 2 +- drivers/net/ethernet/sfc/efx.c | 2 +- drivers/net/ethernet/sfc/falcon/efx.c | 2 +- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +- drivers/net/ethernet/ti/cpsw_new.c | 2 +- drivers/net/ethernet/via/via-velocity.c | 2 +- drivers/net/gtp.c | 2 +- drivers/net/hyperv/netvsc_drv.c | 4 +-- drivers/net/ipvlan/ipvlan_main.c | 2 +- drivers/net/ppp/ppp_generic.c | 2 +- drivers/net/team/team.c | 2 +- drivers/net/tun.c | 4 +-- .../broadcom/brcm80211/brcmfmac/core.c | 4 +-- drivers/net/wireless/quantenna/qtnfmac/core.c | 2 +- drivers/s390/net/qeth_l3_main.c | 4 +-- drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 2 +- .../staging/unisys/visornic/visornic_main.c | 2 +- include/linux/netdevice.h | 26 +++++++++++++++++++ net/atm/clip.c | 2 +- net/dsa/master.c | 9 +++++++ net/dsa/slave.c | 2 +- net/openvswitch/vport-internal_dev.c | 4 +-- net/openvswitch/vport-internal_dev.h | 2 +- 33 files changed, 73 insertions(+), 38 deletions(-) -- 2.25.1