forked from luck/tmp_suning_uos_patched
net: dsa: mt7530: Use the DSA vlan_filtering helper function
This was recently introduced, so keeping state inside the driver is no longer necessary. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Suggested-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cf2d45f5ba
commit
2a1305515b
|
@ -828,11 +828,9 @@ mt7530_port_set_vlan_unaware(struct dsa_switch *ds, int port)
|
|||
mt7530_rmw(priv, MT7530_PVC_P(port), VLAN_ATTR_MASK,
|
||||
VLAN_ATTR(MT7530_VLAN_TRANSPARENT));
|
||||
|
||||
priv->ports[port].vlan_filtering = false;
|
||||
|
||||
for (i = 0; i < MT7530_NUM_PORTS; i++) {
|
||||
if (dsa_is_user_port(ds, i) &&
|
||||
priv->ports[i].vlan_filtering) {
|
||||
dsa_port_is_vlan_filtering(&ds->ports[i])) {
|
||||
all_user_ports_removed = false;
|
||||
break;
|
||||
}
|
||||
|
@ -891,8 +889,8 @@ mt7530_port_bridge_leave(struct dsa_switch *ds, int port,
|
|||
* And the other port's port matrix cannot be broken when the
|
||||
* other port is still a VLAN-aware port.
|
||||
*/
|
||||
if (!priv->ports[i].vlan_filtering &&
|
||||
dsa_is_user_port(ds, i) && i != port) {
|
||||
if (dsa_is_user_port(ds, i) && i != port &&
|
||||
!dsa_port_is_vlan_filtering(&ds->ports[i])) {
|
||||
if (dsa_to_port(ds, i)->bridge_dev != bridge)
|
||||
continue;
|
||||
if (priv->ports[i].enable)
|
||||
|
@ -1011,10 +1009,6 @@ static int
|
|||
mt7530_port_vlan_filtering(struct dsa_switch *ds, int port,
|
||||
bool vlan_filtering)
|
||||
{
|
||||
struct mt7530_priv *priv = ds->priv;
|
||||
|
||||
priv->ports[port].vlan_filtering = vlan_filtering;
|
||||
|
||||
if (vlan_filtering) {
|
||||
/* The port is being kept as VLAN-unaware port when bridge is
|
||||
* set up with vlan_filtering not being set, Otherwise, the
|
||||
|
@ -1139,7 +1133,7 @@ mt7530_port_vlan_add(struct dsa_switch *ds, int port,
|
|||
/* The port is kept as VLAN-unaware if bridge with vlan_filtering not
|
||||
* being set.
|
||||
*/
|
||||
if (!priv->ports[port].vlan_filtering)
|
||||
if (!dsa_port_is_vlan_filtering(&ds->ports[port]))
|
||||
return;
|
||||
|
||||
mutex_lock(&priv->reg_mutex);
|
||||
|
@ -1170,7 +1164,7 @@ mt7530_port_vlan_del(struct dsa_switch *ds, int port,
|
|||
/* The port is kept as VLAN-unaware if bridge with vlan_filtering not
|
||||
* being set.
|
||||
*/
|
||||
if (!priv->ports[port].vlan_filtering)
|
||||
if (!dsa_port_is_vlan_filtering(&ds->ports[port]))
|
||||
return 0;
|
||||
|
||||
mutex_lock(&priv->reg_mutex);
|
||||
|
|
|
@ -410,7 +410,6 @@ struct mt7530_port {
|
|||
bool enable;
|
||||
u32 pm;
|
||||
u16 pvid;
|
||||
bool vlan_filtering;
|
||||
};
|
||||
|
||||
/* struct mt7530_priv - This is the main data structure for holding the state
|
||||
|
|
Loading…
Reference in New Issue
Block a user