neighbour.o rtnetlink.o utils.o link_watch.o filter.o
 
 obj-$(CONFIG_XFRM) += flow.o
-obj-$(CONFIG_SYSFS) += net-sysfs.o
+obj-y += net-sysfs.o
 obj-$(CONFIG_NET_PKTGEN) += pktgen.o
 obj-$(CONFIG_NETPOLL) += netpoll.o
 obj-$(CONFIG_NET_DMA) += user_dma.o
 
 
 DEFINE_PER_CPU(struct softnet_data, softnet_data);
 
-#ifdef CONFIG_SYSFS
-extern int netdev_sysfs_init(void);
-extern int netdev_register_sysfs(struct net_device *);
-extern void netdev_unregister_sysfs(struct net_device *);
-#else
-#define netdev_sysfs_init()            (0)
-#define netdev_register_sysfs(dev)     (0)
-#define        netdev_unregister_sysfs(dev)    do { } while(0)
-#endif
+extern int netdev_kobject_init(void);
+extern int netdev_register_kobject(struct net_device *);
+extern void netdev_unregister_kobject(struct net_device *);
 
 #ifdef CONFIG_DEBUG_LOCK_ALLOC
 /*
        if (!dev->rebuild_header)
                dev->rebuild_header = default_rebuild_header;
 
-       ret = netdev_register_sysfs(dev);
+       ret = netdev_register_kobject(dev);
        if (ret)
                goto err_uninit;
        dev->reg_state = NETREG_REGISTERED;
  */
 void free_netdev(struct net_device *dev)
 {
-#ifdef CONFIG_SYSFS
        /*  Compatibility with error handling in drivers */
        if (dev->reg_state == NETREG_UNINITIALIZED) {
                kfree((char *)dev - dev->padded);
 
        /* will free via device release */
        put_device(&dev->dev);
-#else
-       kfree((char *)dev - dev->padded);
-#endif
 }
 
 /* Synchronize with packet receive processing. */
        /* Notifier chain MUST detach us from master device. */
        BUG_TRAP(!dev->master);
 
-       /* Remove entries from sysfs */
-       netdev_unregister_sysfs(dev);
+       /* Remove entries from kobject tree */
+       netdev_unregister_kobject(dev);
 
        /* Finish processing unregister after unlock */
        net_set_todo(dev);
                        dev->iflink = dev->ifindex;
        }
 
-       /* Fixup sysfs */
+       /* Fixup kobjects */
        err = device_rename(&dev->dev, dev->name);
-       BUG_ON(err);
+       WARN_ON(err);
 
        /* Add the device back in the hashes */
        list_netdevice(dev);
        if (dev_proc_init())
                goto out;
 
-       if (netdev_sysfs_init())
+       if (netdev_kobject_init())
                goto out;
 
        INIT_LIST_HEAD(&ptype_all);
 
 #include <linux/wireless.h>
 #include <net/iw_handler.h>
 
+#ifdef CONFIG_SYSFS
 static const char fmt_hex[] = "%#x\n";
 static const char fmt_long_hex[] = "%#lx\n";
 static const char fmt_dec[] = "%d\n";
 };
 #endif
 
+#endif /* CONFIG_SYSFS */
+
 #ifdef CONFIG_HOTPLUG
 static int netdev_uevent(struct device *d, char **envp,
                         int num_envp, char *buf, int size)
 static struct class net_class = {
        .name = "net",
        .dev_release = netdev_release,
+#ifdef CONFIG_SYSFS
        .dev_attrs = net_class_attributes,
+#endif /* CONFIG_SYSFS */
 #ifdef CONFIG_HOTPLUG
        .dev_uevent = netdev_uevent,
 #endif
 /* Delete sysfs entries but hold kobject reference until after all
  * netdev references are gone.
  */
-void netdev_unregister_sysfs(struct net_device * net)
+void netdev_unregister_kobject(struct net_device * net)
 {
        struct device *dev = &(net->dev);
 
 }
 
 /* Create sysfs entries for network device. */
-int netdev_register_sysfs(struct net_device *net)
+int netdev_register_kobject(struct net_device *net)
 {
        struct device *dev = &(net->dev);
        struct attribute_group **groups = net->sysfs_groups;
        BUILD_BUG_ON(BUS_ID_SIZE < IFNAMSIZ);
        strlcpy(dev->bus_id, net->name, BUS_ID_SIZE);
 
+#ifdef CONFIG_SYSFS
        if (net->get_stats)
                *groups++ = &netstat_group;
 
        if (net->wireless_handlers && net->wireless_handlers->get_wireless_stats)
                *groups++ = &wireless_group;
 #endif
+#endif /* CONFIG_SYSFS */
 
        return device_add(dev);
 }
 
-int netdev_sysfs_init(void)
+int netdev_kobject_init(void)
 {
        return class_register(&net_class);
 }