diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-29 23:22:26 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-01-24 20:40:15 -0800 |
commit | 443dbf9007854ef2892226615e23b60a35b89697 (patch) | |
tree | 337b47ff4f8e2e1c1171e898c20df65c7f38f9fc /drivers/base/class.c | |
parent | 59a548338ac6c9d7549c54278d0f724088585928 (diff) | |
download | linux-443dbf9007854ef2892226615e23b60a35b89697.tar.gz linux-443dbf9007854ef2892226615e23b60a35b89697.tar.bz2 linux-443dbf9007854ef2892226615e23b60a35b89697.zip |
kset: convert drivers/base/class.c to use kset_create
Dynamically create the kset instead of declaring it statically.
The class_obj subsystem is not yet converted as it is more complex and
should be going away soon with the removal of class_device from the
kernel tree.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base/class.c')
-rw-r--r-- | drivers/base/class.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/base/class.c b/drivers/base/class.c index 8ad98924cddb..d8a92c650b43 100644 --- a/drivers/base/class.c +++ b/drivers/base/class.c @@ -71,7 +71,7 @@ static struct kobj_type class_ktype = { }; /* Hotplug events for classes go to the class_obj subsys */ -static decl_subsys(class, NULL); +static struct kset *class_kset; int class_create_file(struct class * cls, const struct class_attribute * attr) @@ -149,7 +149,7 @@ int class_register(struct class * cls) if (error) return error; - cls->subsys.kobj.kset = &class_subsys; + cls->subsys.kobj.kset = class_kset; cls->subsys.kobj.ktype = &class_ktype; error = subsystem_register(&cls->subsys); @@ -855,11 +855,9 @@ void class_interface_unregister(struct class_interface *class_intf) int __init classes_init(void) { - int retval; - - retval = subsystem_register(&class_subsys); - if (retval) - return retval; + class_kset = kset_create_and_add("class", NULL, NULL); + if (!class_kset) + return -ENOMEM; /* ick, this is ugly, the things we go through to keep from showing up * in sysfs... */ |