generic: rtl8366: add enable_vlan{,4k} to smi_ops

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22702 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2010-08-18 16:00:34 +00:00
parent 8c2be2e3b5
commit 9b84518158
3 changed files with 14 additions and 8 deletions

View File

@ -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);

View File

@ -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)

View File

@ -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)