summaryrefslogtreecommitdiffstats
path: root/drivers/base/class.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2007-10-30 05:22:26 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2008-01-25 05:40:15 +0100
commit443dbf9007854ef2892226615e23b60a35b89697 (patch)
tree337b47ff4f8e2e1c1171e898c20df65c7f38f9fc /drivers/base/class.c
parentkset: convert drivers/base/bus.c to use kset_create (diff)
downloadlinux-443dbf9007854ef2892226615e23b60a35b89697.tar.xz
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.c12
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... */