X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fdp_sysfs_dp.c;h=503f22e96983425735fdbb6492588e0bd6c64936;hb=a4fbb689b03ad18651ee119ba5ce0ff8cf8d95b5;hp=714a4b2efa193df2f252a1ef1b9437ee0cab17c0;hpb=2ba9026e2fc114fa50ae923312340e9f08a1f513;p=openvswitch diff --git a/datapath/dp_sysfs_dp.c b/datapath/dp_sysfs_dp.c index 714a4b2e..503f22e9 100644 --- a/datapath/dp_sysfs_dp.c +++ b/datapath/dp_sysfs_dp.c @@ -460,7 +460,7 @@ static struct attribute *bridge_attrs[] = { }; static struct attribute_group bridge_group = { - .name = SYSFS_BRIDGE_ATTR, + .name = SYSFS_BRIDGE_ATTR, /* "bridge" */ .attrs = bridge_attrs, }; @@ -479,6 +479,7 @@ int dp_sysfs_add_dp(struct datapath *dp) struct kobject *kobj = to_kobj(dp->ports[ODPP_LOCAL]->dev); int err; + /* Create /sys/class/net//bridge directory. */ err = sysfs_create_group(kobj, &bridge_group); if (err) { pr_info("%s: can't create group %s/%s\n", @@ -486,27 +487,15 @@ int dp_sysfs_add_dp(struct datapath *dp) goto out1; } - /* Create /sys/class/net//bridge directory. */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) - kobject_set_name(&dp->ifobj, SYSFS_BRIDGE_PORT_SUBDIR); /* "bridge" */ - dp->ifobj.ktype = NULL; - dp->ifobj.kset = NULL; + /* Create /sys/class/net//brif directory. */ dp->ifobj.parent = kobj; - - err = kobject_register(&dp->ifobj); + err = kobject_add(&dp->ifobj); if (err) { pr_info("%s: can't add kobject (directory) %s/%s\n", __FUNCTION__, dp_name(dp), dp->ifobj.name); goto out2; } -#else - br->ifobj = kobject_create_and_add(SYSFS_BRIDGE_PORT_SUBDIR, kobj); - if (!br->ifobj) { - pr_info("%s: can't add kobject (directory) %s/%s\n", - __func__, dp_name(dp), SYSFS_BRIDGE_PORT_SUBDIR); - goto out2; - } -#endif + kobject_uevent(&dp->ifobj, KOBJ_ADD); return 0; out2: @@ -519,11 +508,7 @@ int dp_sysfs_del_dp(struct datapath *dp) { struct kobject *kobj = to_kobj(dp->ports[ODPP_LOCAL]->dev); -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) - kobject_unregister(&dp->ifobj); -#else - kobject_put(dp->ifobj); -#endif + kobject_del(&dp->ifobj); sysfs_remove_group(kobj, &bridge_group); return 0;