]> err.no Git - linux-2.6/blobdiff - drivers/base/class.c
[PATCH] lockdep: annotate pktcdvd natural device hierarchy
[linux-2.6] / drivers / base / class.c
index 50e841a33af0310e74fb243461d00930a0859eb7..de8908320f235f0d92b9a21b7cea4b9ea96375c7 100644 (file)
@@ -10,7 +10,6 @@
  *
  */
 
-#include <linux/config.h>
 #include <linux/device.h>
 #include <linux/module.h>
 #include <linux/init.h>
@@ -561,6 +560,7 @@ int class_device_add(struct class_device *class_dev)
                goto out2;
 
        /* add the needed attributes to this device */
+       sysfs_create_link(&class_dev->kobj, &parent_class->subsys.kset.kobj, "subsystem");
        class_dev->uevent_attr.attr.name = "uevent";
        class_dev->uevent_attr.attr.mode = S_IWUSR;
        class_dev->uevent_attr.attr.owner = parent_class->owner;
@@ -737,6 +737,7 @@ void class_device_del(struct class_device *class_dev)
                sysfs_remove_link(&class_dev->kobj, "device");
                sysfs_remove_link(&class_dev->dev->kobj, class_name);
        }
+       sysfs_remove_link(&class_dev->kobj, "subsystem");
        class_device_remove_file(class_dev, &class_dev->uevent_attr);
        if (class_dev->devt_attr)
                class_device_remove_file(class_dev, class_dev->devt_attr);