linux_dsm_epyc7002/net/dsa
Vivien Didelot e65d45cc35 net: dsa: remove bitmap operations
The bitmap operations were introduced to simplify the switch drivers
in the future, since most of them could implement the common VLAN and
MDB operations (add, del, dump) with simple functions taking all target
ports at once, and thus limiting the number of hardware accesses.

Programming an MDB or VLAN this way in a single operation would clearly
simplify the drivers a lot but would require a new get-set interface
in DSA. The usage of such bitmap from the stack also raised concerned
in the past, leading to the dynamic allocation of a new ds->_bitmap
member in the dsa_switch structure. So let's get rid of them for now.

This commit nicely wraps the ds->ops->port_{mdb,vlan}_{prepare,add}
switch operations into new dsa_switch_{mdb,vlan}_{prepare,add}
variants not using any bitmap argument anymore.

New dsa_switch_{mdb,vlan}_match helpers have been introduced to make
clear which local port of a switch must be programmed with the target
object. While the targeted user port is an obvious candidate, the
DSA links must also be programmed, as well as the CPU port for VLANs.

While at it, also remove local variables that are only used once.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-27 20:17:27 -07:00
..
dsa2.c net: dsa: remove bitmap operations 2019-08-27 20:17:27 -07:00
dsa_priv.h net: dsa: add support for BRIDGE_MROUTER attribute 2019-07-09 14:49:34 -07:00
dsa.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
Kconfig net: dsa: ksz: Drop NET_DSA_TAG_KSZ9477 2019-08-06 11:59:17 -07:00
Makefile net: dsa: sja1105: Add support for traffic through standalone ports 2019-05-05 21:52:42 -07:00
master.c net: dsa: dump CPU port regs through master 2019-08-06 14:08:32 -07:00
port.c net: dsa: remove calls to genphy_config_init 2019-08-17 12:34:50 -07:00
slave.c net: flow_offload: add flow_block structure and use it 2019-07-19 21:27:45 -07:00
switch.c net: dsa: remove bitmap operations 2019-08-27 20:17:27 -07:00
tag_8021q.c net: dsa: tag_8021q: Create helper function for removing VLAN header 2019-06-08 15:20:39 -07:00
tag_brcm.c dsa: tag_brcm: Fix build error without CONFIG_NET_DSA_TAG_BRCM_PREPEND 2019-05-10 15:06:45 -07:00
tag_dsa.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_edsa.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_gswip.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_ksz.c net: dsa: ksz: Add KSZ8795 tag code 2019-07-30 15:12:50 -07:00
tag_lan9303.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_mtk.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_qca.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00
tag_sja1105.c net: dsa: sja1105: Fix memory leak on meta state machine error path 2019-08-06 14:37:02 -07:00
tag_trailer.c dsa: Cleanup unneeded table and make tag structures static 2019-04-28 19:41:01 -04:00