]> Pileus Git - ~andy/linux/blobdiff - drivers/base/bus.c
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial
[~andy/linux] / drivers / base / bus.c
index 64ba9011d1a8dff5f649b33af5f93f4500b747c6..050d86d0b872880c11807e9ece9bfd8f6b793377 100644 (file)
@@ -374,6 +374,7 @@ int bus_add_device(struct device * dev)
                error = device_add_attrs(bus, dev);
                if (!error) {
                        sysfs_create_link(&bus->devices.kobj, &dev->kobj, dev->bus_id);
+                       sysfs_create_link(&dev->kobj, &dev->bus->subsys.kset.kobj, "subsystem");
                        sysfs_create_link(&dev->kobj, &dev->bus->subsys.kset.kobj, "bus");
                }
        }
@@ -408,6 +409,7 @@ void bus_attach_device(struct device * dev)
 void bus_remove_device(struct device * dev)
 {
        if (dev->bus) {
+               sysfs_remove_link(&dev->kobj, "subsystem");
                sysfs_remove_link(&dev->kobj, "bus");
                sysfs_remove_link(&dev->bus->devices.kobj, dev->bus_id);
                device_remove_attrs(dev->bus, dev);