1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22476 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd
2010-08-04 00:43:40 +00:00
parent fa5411e7e4
commit f093fbf8a3
11 changed files with 223 additions and 304 deletions

View File

@@ -876,12 +876,7 @@ static struct switch_attr rtl8366s_vlan[] = {
},
};
/* template */
static struct switch_dev rtl8366_switch_dev = {
.name = "RTL8366S",
.cpu_port = RTL8366S_PORT_NUM_CPU,
.ports = RTL8366S_NUM_PORTS,
.vlans = RTL8366S_NUM_VLANS,
static const struct switch_dev_ops rtl8366_ops = {
.attr_global = {
.attr = rtl8366s_globals,
.n_attr = ARRAY_SIZE(rtl8366s_globals),
@@ -907,8 +902,11 @@ static int rtl8366s_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 = "RTL8366S";
dev->cpu_port = RTL8366S_PORT_NUM_CPU;
dev->ports = RTL8366S_NUM_PORTS;
dev->vlans = RTL8366S_NUM_VLANS;
dev->ops = &rtl8366_ops;
dev->devname = dev_name(smi->parent);
err = register_switch(dev, NULL);