Re: [PATCH][2.6] fix bridge sysfs improperly initialised knobject

From: Stephen Hemminger
Date: Thu Jun 17 2004 - 16:47:31 EST


The whole effort to avoid hotplug was misguided. If it is really a problem
(which it doesn't appear to be) then it can more easily be addressed by smarter
hotplug scripts in user space.

This patch gets rid of the whole subsystem hack for bridge kobjects.

Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxx>

diff -Nru a/net/bridge/br.c b/net/bridge/br.c
--- a/net/bridge/br.c 2004-06-17 14:14:16 -07:00
+++ b/net/bridge/br.c 2004-06-17 14:14:16 -07:00
@@ -33,8 +33,6 @@
{
br_fdb_init();

- br_sysfs_init();
-
#ifdef CONFIG_BRIDGE_NETFILTER
if (br_netfilter_init())
return 1;
@@ -69,7 +67,6 @@
#endif

br_handle_frame_hook = NULL;
- br_sysfs_fini();
br_fdb_fini();
}

diff -Nru a/net/bridge/br_private.h b/net/bridge/br_private.h
--- a/net/bridge/br_private.h 2004-06-17 14:14:16 -07:00
+++ b/net/bridge/br_private.h 2004-06-17 14:14:16 -07:00
@@ -217,9 +217,6 @@
extern void br_sysfs_freeif(struct net_bridge_port *p);

/* br_sysfs_br.c */
-extern struct subsystem bridge_subsys;
-extern void br_sysfs_init(void);
-extern void br_sysfs_fini(void);
extern int br_sysfs_addbr(struct net_device *dev);
extern void br_sysfs_delbr(struct net_device *dev);

@@ -228,8 +225,6 @@
#define br_sysfs_addif(p) (0)
#define br_sysfs_removeif(p) do { } while(0)
#define br_sysfs_freeif(p) kfree(p)
-#define br_sysfs_init() do { } while(0)
-#define br_sysfs_fini() do { } while(0)
#define br_sysfs_addbr(dev) (0)
#define br_sysfs_delbr(dev) do { } while(0)
#endif /* CONFIG_SYSFS */
diff -Nru a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c
--- a/net/bridge/br_sysfs_br.c 2004-06-17 14:14:16 -07:00
+++ b/net/bridge/br_sysfs_br.c 2004-06-17 14:14:16 -07:00
@@ -300,25 +300,6 @@
.read = brforward_read,
};

-
-/*
- * This is a dummy kset so bridge objects don't cause
- * hotplug events
- */
-struct subsystem bridge_subsys = {
- .kset = { .hotplug_ops = NULL },
-};
-
-void br_sysfs_init(void)
-{
- subsystem_register(&bridge_subsys);
-}
-
-void br_sysfs_fini(void)
-{
- subsystem_unregister(&bridge_subsys);
-}
-
/*
* Add entries in sysfs onto the existing network class device
* for the bridge.
@@ -353,7 +334,7 @@

kobject_set_name(&br->ifobj, SYSFS_BRIDGE_PORT_SUBDIR);
br->ifobj.ktype = NULL;
- br->ifobj.kset = &bridge_subsys.kset;
+ br->ifobj.kset = NULL;
br->ifobj.parent = brobj;

err = kobject_register(&br->ifobj);
diff -Nru a/net/bridge/br_sysfs_if.c b/net/bridge/br_sysfs_if.c
--- a/net/bridge/br_sysfs_if.c 2004-06-17 14:14:16 -07:00
+++ b/net/bridge/br_sysfs_if.c 2004-06-17 14:14:16 -07:00
@@ -227,7 +227,7 @@
kobject_set_name(&p->kobj, SYSFS_BRIDGE_PORT_ATTR);
p->kobj.ktype = &brport_ktype;
p->kobj.parent = &(p->dev->class_dev.kobj);
- p->kobj.kset = &bridge_subsys.kset;
+ p->kobj.kset = NULL;

err = kobject_add(&p->kobj);
if(err)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/