• Vladimir Oltean's avatar
    net: dsa: mv88e6xxx: iterate using dsa_switch_for_each_user_port in mv88e6xxx_port_check_hw_vlan · 0493fa79
    Vladimir Oltean authored
    Avoid a plethora of dsa_to_port() calls (some hidden behind
    dsa_is_*_port and some in plain sight) by keeping two struct dsa_port
    references: one to the port passed as argument, and another to the other
    ports of the switch that we're iterating over.
    
    This isn't called from the DSA initialization path, so there is no risk
    that we have user ports without a dp->slave populated. So the combined
    checks that a port isn't a DSA port, a CPU port, or doesn't have a slave
    net device (therefore is unused), are strictly equivalent to the simple
    check that the port is a user port. This is already handled by the DSA
    iterator.
    
    i gets replaced by other_dp->index, dsa_is_*_port calls get replaced by
    dsa_port_is_*, and dsa_to_port gets replaced by the respective pointer
    directly.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    0493fa79
chip.c 187 KB