Commit 43b98c4a authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 81e7c6a6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);

+1 −1
Original line number Diff line number Diff line
@@ -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;
+4 −10
Original line number Diff line number Diff line
@@ -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);
}
+1 −1
Original line number Diff line number Diff line
@@ -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;
}