Upon a quick inspection, it seems that there is some code in the generic DSA layer that is somehow specific to the Broadcom SYSTEMPORT driver. The challenge there is that the hardware integration is very tight between the switch and the DSA master interface. However this does not mean that the drivers must also be as integrated as the hardware is. We can avoid creating a DSA notifier just for the Broadcom SYSTEMPORT, and we can move some Broadcom-specific queue mapping helpers outside of the common include/net/dsa.h.
Vladimir Oltean (4): net: dsa: move the Broadcom tag information in a separate header file net: dsa: export dsa_slave_dev_check net: systemport: use standard netdevice notifier to detect DSA presence net: dsa: remove the DSA specific notifiers MAINTAINERS | 1 + drivers/net/ethernet/broadcom/bcmsysport.c | 77 +++++++++------------- drivers/net/ethernet/broadcom/bcmsysport.h | 2 +- include/linux/dsa/brcm.h | 16 +++++ include/net/dsa.h | 48 +------------- net/dsa/dsa.c | 22 ------- net/dsa/dsa_priv.h | 1 - net/dsa/slave.c | 18 +---- net/dsa/tag_brcm.c | 1 + 9 files changed, 55 insertions(+), 131 deletions(-) create mode 100644 include/linux/dsa/brcm.h -- 2.25.1