]> www.infradead.org Git - users/jedix/linux-maple.git/commit
net: dsa: qca8k: factor out bridge join/leave logic
authorMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 20 Jun 2024 17:25:49 +0000 (19:25 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 21 Jun 2024 11:22:59 +0000 (12:22 +0100)
commit412e1775f413c944b8c51bdadb675be957d83dc8
tree40b8ac8c68c1b76bd1d94ae2ca56bf3110ca68a4
parente85d3e6fea05c8ae21a40809a3c6b7adc97411c7
net: dsa: qca8k: factor out bridge join/leave logic

Most of the logic in qca8k_port_bridge_join() and qca8k_port_bridge_leave()
is the same. Refactor to reduce duplication and prepare for reusing the
code for implementing bridge port isolation.

dsa_port_offloads_bridge_dev() is used instead of
dsa_port_offloads_bridge(), passing the bridge in as a struct netdevice *,
as we won't have a struct dsa_bridge in qca8k_port_bridge_flags().

The error handling is changed slightly in the bridge leave case,
returning early and emitting an error message when a regmap access fails.
This shouldn't matter in practice, as there isn't much we can do if
communication with the switch breaks down in the middle of reconfiguration.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/qca/qca8k-common.c