• Matthias Schiffer's avatar
    net: dsa: qca8k: factor out bridge join/leave logic · 412e1775
    Matthias Schiffer authored
    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: default avatarMatthias Schiffer <mschiffer@universe-factory.net>
    Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    412e1775
qca8k-common.c 30 KB