From: Gabor Juhos Date: Wed, 18 Aug 2010 16:00:34 +0000 (+0000) Subject: generic: rtl8366: add enable_vlan{,4k} to smi_ops X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=77d6cd0feb304888311bcab11215f82be7a13d67;p=openwrt%2Fstaging%2Fnbd.git generic: rtl8366: add enable_vlan{,4k} to smi_ops SVN-Revision: 22702 --- diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h index 2cd4a8ff44..1e2ebdaa0b 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h +++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.h @@ -87,6 +87,8 @@ struct rtl8366_smi_ops { int (*get_mib_counter)(struct rtl8366_smi *smi, int counter, int port, unsigned long long *val); int (*is_vlan_valid)(struct rtl8366_smi *smi, unsigned vlan); + int (*enable_vlan)(struct rtl8366_smi *smi, int enable); + int (*enable_vlan4k)(struct rtl8366_smi *smi, int enable); }; struct rtl8366_smi *rtl8366_smi_alloc(struct device *parent); diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c index d442d2feb8..27ceda142a 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366rb.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8366rb.c @@ -560,13 +560,13 @@ static int rtl8366rb_is_vlan_valid(struct rtl8366_smi *smi, unsigned vlan) return 1; } -static int rtl8366rb_vlan_set_vlan(struct rtl8366_smi *smi, int enable) +static int rtl8366rb_enable_vlan(struct rtl8366_smi *smi, int enable) { return rtl8366_smi_rmwr(smi, RTL8366RB_SGCR, RTL8366RB_SGCR_EN_VLAN, (enable) ? RTL8366RB_SGCR_EN_VLAN : 0); } -static int rtl8366rb_vlan_set_4ktable(struct rtl8366_smi *smi, int enable) +static int rtl8366rb_enable_vlan4k(struct rtl8366_smi *smi, int enable) { return rtl8366_smi_rmwr(smi, RTL8366RB_SGCR, RTL8366RB_SGCR_EN_VLAN_4KTB, @@ -644,9 +644,9 @@ static int rtl8366rb_sw_set_vlan_enable(struct switch_dev *dev, struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev); if (attr->ofs == 1) - return rtl8366rb_vlan_set_vlan(smi, val->value.i); + return rtl8366rb_enable_vlan(smi, val->value.i); else - return rtl8366rb_vlan_set_4ktable(smi, val->value.i); + return rtl8366rb_enable_vlan4k(smi, val->value.i); } static int rtl8366rb_sw_get_learning_enable(struct switch_dev *dev, @@ -1028,6 +1028,8 @@ static struct rtl8366_smi_ops rtl8366rb_smi_ops = { .set_mc_index = rtl8366rb_set_mc_index, .get_mib_counter = rtl8366rb_get_mib_counter, .is_vlan_valid = rtl8366rb_is_vlan_valid, + .enable_vlan = rtl8366rb_enable_vlan, + .enable_vlan4k = rtl8366rb_enable_vlan4k, }; static int __init rtl8366rb_probe(struct platform_device *pdev) diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366s.c b/target/linux/generic/files/drivers/net/phy/rtl8366s.c index ad631ef728..ab9bcc2559 100644 --- a/target/linux/generic/files/drivers/net/phy/rtl8366s.c +++ b/target/linux/generic/files/drivers/net/phy/rtl8366s.c @@ -579,13 +579,13 @@ static int rtl8366s_set_mc_index(struct rtl8366_smi *smi, int port, int index) RTL8366S_PORT_VLAN_CTRL_SHIFT(port)); } -static int rtl8366s_vlan_set_vlan(struct rtl8366_smi *smi, int enable) +static int rtl8366s_enable_vlan(struct rtl8366_smi *smi, int enable) { return rtl8366_smi_rmwr(smi, RTL8366S_SGCR, RTL8366S_SGCR_EN_VLAN, (enable) ? RTL8366S_SGCR_EN_VLAN : 0); } -static int rtl8366s_vlan_set_4ktable(struct rtl8366_smi *smi, int enable) +static int rtl8366s_enable_vlan4k(struct rtl8366_smi *smi, int enable) { return rtl8366_smi_rmwr(smi, RTL8366S_VLAN_TB_CTRL_REG, 1, (enable) ? 1 : 0); @@ -669,9 +669,9 @@ static int rtl8366s_sw_set_vlan_enable(struct switch_dev *dev, struct rtl8366_smi *smi = sw_to_rtl8366_smi(dev); if (attr->ofs == 1) - return rtl8366s_vlan_set_vlan(smi, val->value.i); + return rtl8366s_enable_vlan(smi, val->value.i); else - return rtl8366s_vlan_set_4ktable(smi, val->value.i); + return rtl8366s_enable_vlan4k(smi, val->value.i); } static int rtl8366s_sw_get_learning_enable(struct switch_dev *dev, @@ -1055,6 +1055,8 @@ static struct rtl8366_smi_ops rtl8366s_smi_ops = { .set_mc_index = rtl8366s_set_mc_index, .get_mib_counter = rtl8366_get_mib_counter, .is_vlan_valid = rtl8366s_is_vlan_valid, + .enable_vlan = rtl8366s_enable_vlan, + .enable_vlan4k = rtl8366s_enable_vlan4k, }; static int __init rtl8366s_probe(struct platform_device *pdev)