]> err.no Git - linux-2.6/blobdiff - drivers/base/bus.c
[PATCH] md: Set/get state of array via sysfs
[linux-2.6] / drivers / base / bus.c
index b27a6067e5a42aaa30e35727bed4df5f2b585895..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);
@@ -745,15 +747,9 @@ EXPORT_SYMBOL_GPL(bus_for_each_dev);
 EXPORT_SYMBOL_GPL(bus_find_device);
 EXPORT_SYMBOL_GPL(bus_for_each_drv);
 
-EXPORT_SYMBOL_GPL(bus_add_device);
-EXPORT_SYMBOL_GPL(bus_attach_device);
-EXPORT_SYMBOL_GPL(bus_remove_device);
 EXPORT_SYMBOL_GPL(bus_register);
 EXPORT_SYMBOL_GPL(bus_unregister);
 EXPORT_SYMBOL_GPL(bus_rescan_devices);
-EXPORT_SYMBOL_GPL(get_bus);
-EXPORT_SYMBOL_GPL(put_bus);
-EXPORT_SYMBOL_GPL(find_bus);
 
 EXPORT_SYMBOL_GPL(bus_create_file);
 EXPORT_SYMBOL_GPL(bus_remove_file);