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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user