提交 2d72fc00 编写于 作者: G Greg Kroah-Hartman

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: NGreg Kroah-Hartman <gregkh@suse.de>
上级 881c6cfd
...@@ -506,7 +506,7 @@ static int __init hypfs_init(void) ...@@ -506,7 +506,7 @@ static int __init hypfs_init(void)
goto fail_diag; goto fail_diag;
} }
} }
s390_subsys.kobj.kset = &hypervisor_subsys; s390_subsys.kobj.parent = hypervisor_kobj;
rc = subsystem_register(&s390_subsys); rc = subsystem_register(&s390_subsys);
if (rc) if (rc)
goto fail_sysfs; goto fail_sysfs;
......
...@@ -2,19 +2,23 @@ ...@@ -2,19 +2,23 @@
* hypervisor.c - /sys/hypervisor subsystem. * hypervisor.c - /sys/hypervisor subsystem.
* *
* Copyright (C) IBM Corp. 2006 * 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 * This file is released under the GPLv2
*/ */
#include <linux/kobject.h> #include <linux/kobject.h>
#include <linux/device.h> #include <linux/device.h>
#include "base.h" #include "base.h"
decl_subsys(hypervisor, NULL); struct kobject *hypervisor_kobj;
EXPORT_SYMBOL_GPL(hypervisor_subsys); EXPORT_SYMBOL_GPL(hypervisor_kobj);
int __init hypervisor_init(void) 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;
} }
...@@ -196,8 +196,8 @@ struct kset _name##_subsys = { \ ...@@ -196,8 +196,8 @@ struct kset _name##_subsys = { \
/* The global /sys/kernel/ kset for people to chain off of */ /* The global /sys/kernel/ kset for people to chain off of */
extern struct kset *kernel_kset; extern struct kset *kernel_kset;
/* The global /sys/hypervisor/ subsystem */ /* The global /sys/hypervisor/ kobject for people to chain off of */
extern struct kset hypervisor_subsys; extern struct kobject *hypervisor_kobj;
extern int __must_check subsystem_register(struct kset *); extern int __must_check subsystem_register(struct kset *);
extern void subsystem_unregister(struct kset *); extern void subsystem_unregister(struct kset *);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册