[PATCH 17/54] kset: convert drivers/base/bus.c kset_create_and_register

Greg Kroah-Hartman
2007-11-03T00:05:51Z

Dynamically create the kset instead of declaring it statically.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/bus.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 6309560..8b65694 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -13,6 +13,7 @@
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/string.h>
+#include <linux/err.h>
#include "base.h"
#include "power/power.h"

@@ -166,7 +167,7 @@ static struct kset_uevent_ops bus_uevent_ops = {
.filter = bus_uevent_filter,
};

-static decl_subsys(bus, &bus_uevent_ops);
+static struct kset *bus_kset;

#ifdef CONFIG_HOTPLUG
@@ -767,7 +768,7 @@ EXPORT_SYMBOL_GPL(device_reprobe);
#if 0
struct bus_type * find_bus(char * name)
{
- struct kobject * k = kset_find_obj(&bus_subsys.kset, name);
+ struct kobject * k = kset_find_obj(bus_kset, name);
return k ? to_bus(k) : NULL;
}
#endif /* 0 */
@@ -851,7 +852,7 @@ int bus_register(struct bus_type * bus)
if (retval)
goto out;

- bus->subsys.kobj.kset = &bus_subsys;
+ bus->subsys.kobj.kset = bus_kset;
bus->subsys.kobj.ktype = &bus_ktype;

retval = subsystem_register(&bus->subsys);
@@ -935,7 +936,11 @@ EXPORT_SYMBOL_GPL(bus_unregister_notifier);

int __init buses_init(void)
{
- return subsystem_register(&bus_subsys);
+ bus_kset = kset_create_and_register("bus", &bus_uevent_ops,
+ NULL, NULL);
+ if (IS_ERR(bus_kset))
+ return PTR_ERR(bus_kset);
+ return 0;
}

--
1.5.3.4