diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2007-11-01 09:29:06 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-01-24 20:40:15 -0800 |
commit | 2d72fc00a1fb055e6127ccd30cac3f0eafaa98d0 (patch) | |
tree | 2a6850d91f28f1adf9223d14fc3bdee8f793b3e3 | |
parent | 881c6cfd7c5edfe6129006e2404654bfe5911050 (diff) | |
download | linux-2d72fc00a1fb055e6127ccd30cac3f0eafaa98d0.tar.bz2 |
kobject: convert /sys/hypervisor to use kobject_create
We don't need a kset here, a simple kobject will do just fine, so
dynamically create the kobject and use it.
We also rename hypervisor_subsys to hypervisor_kset to catch all users
of the variable.
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | arch/s390/hypfs/inode.c | 2 | ||||
-rw-r--r-- | drivers/base/hypervisor.c | 12 | ||||
-rw-r--r-- | include/linux/kobject.h | 4 |
3 files changed, 11 insertions, 7 deletions
diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c index c022ccc04d41..b0ad479e7487 100644 --- a/arch/s390/hypfs/inode.c +++ b/arch/s390/hypfs/inode.c @@ -506,7 +506,7 @@ static int __init hypfs_init(void) goto fail_diag; } } - s390_subsys.kobj.kset = &hypervisor_subsys; + s390_subsys.kobj.parent = hypervisor_kobj; rc = subsystem_register(&s390_subsys); if (rc) goto fail_sysfs; diff --git a/drivers/base/hypervisor.c b/drivers/base/hypervisor.c index 14e75e9ec783..6428cba3aadd 100644 --- a/drivers/base/hypervisor.c +++ b/drivers/base/hypervisor.c @@ -2,19 +2,23 @@ * hypervisor.c - /sys/hypervisor subsystem. * * Copyright (C) IBM Corp. 2006 + * Copyright (C) 2007 Greg Kroah-Hartman <gregkh@suse.de> + * Copyright (C) 2007 Novell Inc. * * This file is released under the GPLv2 */ #include <linux/kobject.h> #include <linux/device.h> - #include "base.h" -decl_subsys(hypervisor, NULL); -EXPORT_SYMBOL_GPL(hypervisor_subsys); +struct kobject *hypervisor_kobj; +EXPORT_SYMBOL_GPL(hypervisor_kobj); int __init hypervisor_init(void) { - return subsystem_register(&hypervisor_subsys); + hypervisor_kobj = kobject_create_and_add("hypervisor", NULL); + if (!hypervisor_kobj) + return -ENOMEM; + return 0; } diff --git a/include/linux/kobject.h b/include/linux/kobject.h index bd741e86c11e..f2483f6fd639 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -196,8 +196,8 @@ struct kset _name##_subsys = { \ /* The global /sys/kernel/ kset for people to chain off of */ extern struct kset *kernel_kset; -/* The global /sys/hypervisor/ subsystem */ -extern struct kset hypervisor_subsys; +/* The global /sys/hypervisor/ kobject for people to chain off of */ +extern struct kobject *hypervisor_kobj; extern int __must_check subsystem_register(struct kset *); extern void subsystem_unregister(struct kset *); |