• V
    net: dsa: mv88e6xxx: compute port vlan membership based on dp->bridge_dev comparison · 65144067
    Vladimir Oltean 提交于
    The goal of this change is to reduce mv88e6xxx_port_vlan() to a form
    where dsa_port_bridge_same() can be used, since the dp->bridge_dev
    pointer will be hidden in a future change.
    
    To do that, we observe that the "br" pointer is deduced from a
    dp->bridge_dev in both cases (of a physical switch port as well as a
    virtual bridge). So instead of keeping the "br" pointer, we can just
    keep the "dp" pointer from which "br" gets derived.
    
    In the last iteration over switch ports, we must use another iterator
    variable, "other_dp"since now we use the "dp" variable to keep an
    indirect reference to the bridge. While at it, the old code used to
    filter only the ports which were part of the same switch as "ds".
    There exists a dedicated DSA port iterator for that:
    dsa_switch_for_each_port (which skips the ports in the tree that belong
    to non-local switches), so we can just use that.
    Signed-off-by: NVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: NJakub Kicinski <kuba@kernel.org>
    65144067
chip.c 187.4 KB