Kobject: change net/bridge to use kobject_create_and_add
The kobject in the bridge code is only used for registering with sysfs, not for any lifespan rules. This patch changes it to be only a pointer and use the simpler api for this kind of thing. Cc: Stephen Hemminger <shemminger@linux-foundation.org> Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
81e7c6a636
commit
43b98c4a66
4 changed files with 7 additions and 13 deletions
|
@ -133,7 +133,7 @@ static void del_nbp(struct net_bridge_port *p)
|
|||
struct net_bridge *br = p->br;
|
||||
struct net_device *dev = p->dev;
|
||||
|
||||
sysfs_remove_link(&br->ifobj, dev->name);
|
||||
sysfs_remove_link(br->ifobj, dev->name);
|
||||
|
||||
dev_set_promiscuity(dev, -1);
|
||||
|
||||
|
|
|
@ -124,7 +124,7 @@ struct net_bridge
|
|||
struct timer_list tcn_timer;
|
||||
struct timer_list topology_change_timer;
|
||||
struct timer_list gc_timer;
|
||||
struct kobject ifobj;
|
||||
struct kobject *ifobj;
|
||||
};
|
||||
|
||||
extern struct notifier_block br_device_notifier;
|
||||
|
|
|
@ -426,16 +426,10 @@ int br_sysfs_addbr(struct net_device *dev)
|
|||
goto out2;
|
||||
}
|
||||
|
||||
|
||||
kobject_set_name(&br->ifobj, SYSFS_BRIDGE_PORT_SUBDIR);
|
||||
br->ifobj.ktype = NULL;
|
||||
br->ifobj.kset = NULL;
|
||||
br->ifobj.parent = brobj;
|
||||
|
||||
err = kobject_register(&br->ifobj);
|
||||
if (err) {
|
||||
br->ifobj = kobject_create_and_add(SYSFS_BRIDGE_PORT_SUBDIR, brobj);
|
||||
if (!br->ifobj) {
|
||||
pr_info("%s: can't add kobject (directory) %s/%s\n",
|
||||
__FUNCTION__, dev->name, kobject_name(&br->ifobj));
|
||||
__FUNCTION__, dev->name, SYSFS_BRIDGE_PORT_SUBDIR);
|
||||
goto out3;
|
||||
}
|
||||
return 0;
|
||||
|
@ -453,7 +447,7 @@ void br_sysfs_delbr(struct net_device *dev)
|
|||
struct kobject *kobj = &dev->dev.kobj;
|
||||
struct net_bridge *br = netdev_priv(dev);
|
||||
|
||||
kobject_unregister(&br->ifobj);
|
||||
kobject_unregister(br->ifobj);
|
||||
sysfs_remove_bin_file(kobj, &bridge_forward);
|
||||
sysfs_remove_group(kobj, &bridge_group);
|
||||
}
|
||||
|
|
|
@ -229,7 +229,7 @@ int br_sysfs_addif(struct net_bridge_port *p)
|
|||
goto out2;
|
||||
}
|
||||
|
||||
err= sysfs_create_link(&br->ifobj, &p->kobj, p->dev->name);
|
||||
err = sysfs_create_link(br->ifobj, &p->kobj, p->dev->name);
|
||||
out2:
|
||||
return err;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue