This was recently introduced, so keeping state inside the driver is no
longer necessary.

Signed-off-by: Vladimir Oltean <olte...@gmail.com>
Suggested-by: Andrew Lunn <and...@lunn.ch>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Reviewed-by: Florian Fainelli <f.faine...@gmail.com>
---
 drivers/net/dsa/mt7530.c | 16 +++++-----------
 drivers/net/dsa/mt7530.h |  1 -
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
index 3530b6f38428..8d531c5f21f3 100644
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -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);
diff --git a/drivers/net/dsa/mt7530.h b/drivers/net/dsa/mt7530.h
index a95ed958df5b..1eec7bdc283a 100644
--- a/drivers/net/dsa/mt7530.h
+++ b/drivers/net/dsa/mt7530.h
@@ -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
-- 
2.17.1

Reply via email to