2
0
forked from Ivasoft/openwrt

swconfig: cleanup of kernel drivers and interface - add some comments to a few data structures - add a switch_dev_ops data structure for attributes and callback to replace the stupid template memcpy - get rid of the switch_dev.priv pointer - using container_of() is better

SVN-Revision: 22476
This commit is contained in:
Felix Fietkau
2010-08-04 00:43:40 +00:00
parent 86b209211e
commit bd6324190f
11 changed files with 223 additions and 304 deletions

View File

@@ -849,12 +849,7 @@ static struct switch_attr rtl8366rb_vlan[] = {
},
};
/* template */
static struct switch_dev rtl8366_switch_dev = {
.name = "RTL8366S",
.cpu_port = RTL8366RB_PORT_NUM_CPU,
.ports = RTL8366RB_NUM_PORTS,
.vlans = RTL8366RB_NUM_VLANS,
static const struct switch_dev_ops rtl8366_ops = {
.attr_global = {
.attr = rtl8366rb_globals,
.n_attr = ARRAY_SIZE(rtl8366rb_globals),
@@ -880,8 +875,11 @@ static int rtl8366rb_switch_init(struct rtl8366_smi *smi)
struct switch_dev *dev = &smi->sw_dev;
int err;
memcpy(dev, &rtl8366_switch_dev, sizeof(struct switch_dev));
dev->priv = smi;
dev->name = "RTL8366RB";
dev->cpu_port = RTL8366RB_PORT_NUM_CPU;
dev->ports = RTL8366RB_NUM_PORTS;
dev->vlans = RTL8366RB_NUM_VLANS;
dev->ops = &rtl8366_ops;
dev->devname = dev_name(smi->parent);
err = register_switch(dev, NULL);