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>
This commit is contained in:
Greg Kroah-Hartman 2007-11-01 09:29:06 -06:00
parent 881c6cfd7c
commit 2d72fc00a1
3 changed files with 11 additions and 7 deletions

View File

@ -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;

View File

@ -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;
}

View File

@ -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 *);