]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: dsa: rtl8366: Drop custom VLAN set-up
authorLinus Walleij <linus.walleij@linaro.org>
Sat, 25 Sep 2021 22:59:25 +0000 (00:59 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Sep 2021 15:33:46 +0000 (16:33 +0100)
This hacky default VLAN setup was done in order to direct
packets to the right ports and provide port isolation, both
which we now support properly using custom tags and proper
bridge port isolation.

We can drop the custom VLAN code and leave all VLAN handling
alone, as users expect things to be. We can also drop
ds->configure_vlan_while_not_filtering = false; and let
the core deal with any VLANs it wants.

Cc: Mauri Sandberg <sandberg@mailfence.com>
Cc: DENG Qingfang <dqfext@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/realtek-smi-core.h
drivers/net/dsa/rtl8366.c
drivers/net/dsa/rtl8366rb.c

index fcf465f7f92266a63b87e710a7cd8f360b313fde..c8fbd7b9fd0b1754d6f9eca52944ed519c741f6f 100644 (file)
@@ -129,7 +129,6 @@ int rtl8366_set_pvid(struct realtek_smi *smi, unsigned int port,
 int rtl8366_enable_vlan4k(struct realtek_smi *smi, bool enable);
 int rtl8366_enable_vlan(struct realtek_smi *smi, bool enable);
 int rtl8366_reset_vlan(struct realtek_smi *smi);
-int rtl8366_init_vlan(struct realtek_smi *smi);
 int rtl8366_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering,
                           struct netlink_ext_ack *extack);
 int rtl8366_vlan_add(struct dsa_switch *ds, int port,
index 75897a3690969fdc5f4e5fcb2dd523d2900530a6..59c5bc4f7b719b7dcda6f086552ebb65dc26e214 100644 (file)
@@ -292,54 +292,6 @@ int rtl8366_reset_vlan(struct realtek_smi *smi)
 }
 EXPORT_SYMBOL_GPL(rtl8366_reset_vlan);
 
-int rtl8366_init_vlan(struct realtek_smi *smi)
-{
-       int port;
-       int ret;
-
-       ret = rtl8366_reset_vlan(smi);
-       if (ret)
-               return ret;
-
-       /* Loop over the available ports, for each port, associate
-        * it with the VLAN (port+1)
-        */
-       for (port = 0; port < smi->num_ports; port++) {
-               u32 mask;
-
-               if (port == smi->cpu_port)
-                       /* For the CPU port, make all ports members of this
-                        * VLAN.
-                        */
-                       mask = GENMASK((int)smi->num_ports - 1, 0);
-               else
-                       /* For all other ports, enable itself plus the
-                        * CPU port.
-                        */
-                       mask = BIT(port) | BIT(smi->cpu_port);
-
-               /* For each port, set the port as member of VLAN (port+1)
-                * and untagged, except for the CPU port: the CPU port (5) is
-                * member of VLAN 6 and so are ALL the other ports as well.
-                * Use filter 0 (no filter).
-                */
-               dev_info(smi->dev, "VLAN%d port mask for port %d, %08x\n",
-                        (port + 1), port, mask);
-               ret = rtl8366_set_vlan(smi, (port + 1), mask, mask, 0);
-               if (ret)
-                       return ret;
-
-               dev_info(smi->dev, "VLAN%d port %d, PVID set to %d\n",
-                        (port + 1), port, (port + 1));
-               ret = rtl8366_set_pvid(smi, port, (port + 1));
-               if (ret)
-                       return ret;
-       }
-
-       return rtl8366_enable_vlan(smi, true);
-}
-EXPORT_SYMBOL_GPL(rtl8366_init_vlan);
-
 int rtl8366_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering,
                           struct netlink_ext_ack *extack)
 {
index b930050cfd1b8b2c3f1ff2ac1d09f2e54c246da1..a5b7d7ff88847347805a08efd500663562d052b8 100644 (file)
@@ -985,7 +985,7 @@ static int rtl8366rb_setup(struct dsa_switch *ds)
                        return ret;
        }
 
-       ret = rtl8366_init_vlan(smi);
+       ret = rtl8366_reset_vlan(smi);
        if (ret)
                return ret;
 
@@ -999,8 +999,6 @@ static int rtl8366rb_setup(struct dsa_switch *ds)
                return -ENODEV;
        }
 
-       ds->configure_vlan_while_not_filtering = false;
-
        return 0;
 }