generic: rtl8366: add generic code to enable VLANs
[openwrt.git] / target / linux / generic / files / drivers / net / phy / rtl8366rb.c
index 27ceda1..a0a7df7 100644 (file)
@@ -583,32 +583,6 @@ static int rtl8366rb_sw_reset_mibs(struct switch_dev *dev,
                                RTL8366RB_MIB_CTRL_GLOBAL_RESET);
 }
 
-static int rtl8366rb_sw_get_vlan_enable(struct switch_dev *dev,
-                                      const struct switch_attr *attr,
-                                      struct switch_val *val)
-{
-       struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev);
-       u32 data;
-
-       if (attr->ofs == 1) {
-               rtl8366_smi_read_reg(smi, RTL8366RB_SGCR, &data);
-
-               if (data & RTL8366RB_SGCR_EN_VLAN)
-                       val->value.i = 1;
-               else
-                       val->value.i = 0;
-       } else if (attr->ofs == 2) {
-               rtl8366_smi_read_reg(smi, RTL8366RB_SGCR, &data);
-
-               if (data & RTL8366RB_SGCR_EN_VLAN_4KTB)
-                       val->value.i = 1;
-               else
-                       val->value.i = 0;
-       }
-
-       return 0;
-}
-
 static int rtl8366rb_sw_get_blinkrate(struct switch_dev *dev,
                                     const struct switch_attr *attr,
                                     struct switch_val *val)
@@ -637,18 +611,6 @@ static int rtl8366rb_sw_set_blinkrate(struct switch_dev *dev,
                                val->value.i);
 }
 
-static int rtl8366rb_sw_set_vlan_enable(struct switch_dev *dev,
-                                      const struct switch_attr *attr,
-                                      struct switch_val *val)
-{
-       struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev);
-
-       if (attr->ofs == 1)
-               return rtl8366rb_enable_vlan(smi, val->value.i);
-       else
-               return rtl8366rb_enable_vlan4k(smi, val->value.i);
-}
-
 static int rtl8366rb_sw_get_learning_enable(struct switch_dev *dev,
                                       const struct switch_attr *attr,
                                       struct switch_val *val)
@@ -822,16 +784,16 @@ static struct switch_attr rtl8366rb_globals[] = {
                .type = SWITCH_TYPE_INT,
                .name = "enable_vlan",
                .description = "Enable VLAN mode",
-               .set = rtl8366rb_sw_set_vlan_enable,
-               .get = rtl8366rb_sw_get_vlan_enable,
+               .set = rtl8366_sw_set_vlan_enable,
+               .get = rtl8366_sw_get_vlan_enable,
                .max = 1,
                .ofs = 1
        }, {
                .type = SWITCH_TYPE_INT,
                .name = "enable_vlan4k",
                .description = "Enable VLAN 4K mode",
-               .set = rtl8366rb_sw_set_vlan_enable,
-               .get = rtl8366rb_sw_get_vlan_enable,
+               .set = rtl8366_sw_set_vlan_enable,
+               .get = rtl8366_sw_get_vlan_enable,
                .max = 1,
                .ofs = 2
        }, {