X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fbrc_sysfs_if.c;h=7a9b8b8956013e1e2a274185d49484dfdf0775a6;hb=887fd0ba6422374c1529718cbd6810114e95e898;hp=ceda1297e8899238302adf1ec8505d7b00d432c3;hpb=a14bc59fb8f27db193d74662dc9c5cb8237177ef;p=openvswitch diff --git a/datapath/brc_sysfs_if.c b/datapath/brc_sysfs_if.c index ceda1297..7a9b8b89 100644 --- a/datapath/brc_sysfs_if.c +++ b/datapath/brc_sysfs_if.c @@ -21,7 +21,7 @@ #include "brc_sysfs.h" #include "datapath.h" -#ifdef SUPPORT_SYSFS +#ifdef CONFIG_SYSFS struct brport_attribute { struct attribute attr; @@ -289,18 +289,14 @@ int brc_sysfs_add_if(struct net_bridge_port *p) struct brport_attribute **a; int err; - kobject_init(&p->kobj); - kobject_set_name(&p->kobj, SYSFS_BRIDGE_PORT_ATTR); - p->kobj.ktype = &brport_ktype; - p->kobj.kset = NULL; - p->kobj.parent = &(p->dev->class_dev.kobj); - - err = kobject_add(&p->kobj); + err = kobject_init_and_add(&p->kobj, &brport_ktype, + &(p->dev->NETDEV_DEV_MEMBER.kobj), + SYSFS_BRIDGE_PORT_ATTR); if (err) - goto err_put; + goto err; err = sysfs_create_link(&p->kobj, - &dp->ports[ODPP_LOCAL]->dev->class_dev.kobj, + &dp->ports[ODPP_LOCAL]->dev->NETDEV_DEV_MEMBER.kobj, SYSFS_BRIDGE_PORT_LINK); if (err) goto err_del; @@ -311,7 +307,11 @@ int brc_sysfs_add_if(struct net_bridge_port *p) goto err_del; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) err = sysfs_create_link(&dp->ifobj, &p->kobj, p->dev->name); +#else + err = sysfs_create_link(dp->ifobj, &p->kobj, p->dev->name); +#endif if (err) goto err_del; @@ -321,8 +321,8 @@ int brc_sysfs_add_if(struct net_bridge_port *p) err_del: kobject_del(&p->kobj); -err_put: kobject_put(&p->kobj); +err: return err; } @@ -339,4 +339,4 @@ int brc_sysfs_del_if(struct net_bridge_port *p) return 0; } -#endif /* SUPPORT_SYSFS */ +#endif /* CONFIG_SYSFS */