mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-24 17:45:32 +02:00
generic: rtl8366: add enable_vlan{,4k} to smi_ops
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22702 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
59741b2ef6
commit
3b7b50fb89
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user