From a813a7405df628e53df58d2d00a7c3f38c033381 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 1 Nov 2007 13:31:26 -0700 Subject: [PATCH] --- yaml --- r: 75759 b: refs/heads/master c: 3d8995963dfec66ef6270e729bf75903e9043f9d h: refs/heads/master i: 75757: 70b81b9abe518785ea5153b0ad42a30a35c6fb7e 75755: c97c43698eb92aa5737de48aeae6cf31bc4884be 75751: aebd0de8a804b8b1ea710f4974a4d525b6176308 75743: df60b6e4f256ffda545850f76b7b5a18efdd92f2 v: v3 --- [refs] | 2 +- trunk/drivers/base/bus.c | 19 ++++++++++--------- trunk/include/linux/device.h | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 93a8f6cc3b6e..022451e9e8e1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 039a5dcd2fc45188a2d522df630db4f7ef903a0f +refs/heads/master: 3d8995963dfec66ef6270e729bf75903e9043f9d diff --git a/trunk/drivers/base/bus.c b/trunk/drivers/base/bus.c index e3b101077804..b23eeb2d4ead 100644 --- a/trunk/drivers/base/bus.c +++ b/trunk/drivers/base/bus.c @@ -449,7 +449,7 @@ int bus_add_device(struct device * dev) error = device_add_attrs(bus, dev); if (error) goto out_put; - error = sysfs_create_link(&bus->devices.kobj, + error = sysfs_create_link(&bus->devices_kset->kobj, &dev->kobj, dev->bus_id); if (error) goto out_id; @@ -466,7 +466,7 @@ int bus_add_device(struct device * dev) out_deprecated: sysfs_remove_link(&dev->kobj, "subsystem"); out_subsys: - sysfs_remove_link(&bus->devices.kobj, dev->bus_id); + sysfs_remove_link(&bus->devices_kset->kobj, dev->bus_id); out_id: device_remove_attrs(bus, dev); out_put: @@ -512,7 +512,7 @@ void bus_remove_device(struct device * dev) if (dev->bus) { sysfs_remove_link(&dev->kobj, "subsystem"); remove_deprecated_bus_links(dev); - sysfs_remove_link(&dev->bus->devices.kobj, dev->bus_id); + sysfs_remove_link(&dev->bus->devices_kset->kobj, dev->bus_id); device_remove_attrs(dev->bus, dev); if (dev->is_registered) { dev->is_registered = 0; @@ -862,11 +862,12 @@ int bus_register(struct bus_type * bus) if (retval) goto bus_uevent_fail; - kobject_set_name(&bus->devices.kobj, "devices"); - bus->devices.kobj.parent = &bus->subsys.kobj; - retval = kset_register(&bus->devices); - if (retval) + bus->devices_kset = kset_create_and_add("devices", NULL, + &bus->subsys.kobj); + if (!bus->devices_kset) { + retval = -ENOMEM; goto bus_devices_fail; + } kobject_set_name(&bus->drivers.kobj, "drivers"); bus->drivers.kobj.parent = &bus->subsys.kobj; @@ -894,7 +895,7 @@ int bus_register(struct bus_type * bus) bus_probe_files_fail: kset_unregister(&bus->drivers); bus_drivers_fail: - kset_unregister(&bus->devices); + kset_unregister(bus->devices_kset); bus_devices_fail: bus_remove_file(bus, &bus_attr_uevent); bus_uevent_fail: @@ -916,7 +917,7 @@ void bus_unregister(struct bus_type * bus) bus_remove_attrs(bus); remove_probe_files(bus); kset_unregister(&bus->drivers); - kset_unregister(&bus->devices); + kset_unregister(bus->devices_kset); bus_remove_file(bus, &bus_attr_uevent); subsystem_unregister(&bus->subsys); } diff --git a/trunk/include/linux/device.h b/trunk/include/linux/device.h index dbbbe89e7267..82c277771376 100644 --- a/trunk/include/linux/device.h +++ b/trunk/include/linux/device.h @@ -55,7 +55,7 @@ struct bus_type { struct kset subsys; struct kset drivers; - struct kset devices; + struct kset *devices_kset; struct klist klist_devices; struct klist klist_drivers;