kset: convert dlm to use kset_create

Dynamically create the kset instead of declaring it statically.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Greg Kroah-Hartman 2007-10-29 20:13:17 +01:00
parent 136a27507f
commit d405936b32

View file

@ -166,7 +166,7 @@ static struct kobj_type dlm_ktype = {
.release = lockspace_kobj_release, .release = lockspace_kobj_release,
}; };
static struct kset dlm_kset; static struct kset *dlm_kset;
static int kobject_setup(struct dlm_ls *ls) static int kobject_setup(struct dlm_ls *ls)
{ {
@ -180,7 +180,7 @@ static int kobject_setup(struct dlm_ls *ls)
if (error) if (error)
return error; return error;
ls->ls_kobj.kset = &dlm_kset; ls->ls_kobj.kset = dlm_kset;
ls->ls_kobj.ktype = &dlm_ktype; ls->ls_kobj.ktype = &dlm_ktype;
return 0; return 0;
} }
@ -218,24 +218,22 @@ static int do_uevent(struct dlm_ls *ls, int in)
int dlm_lockspace_init(void) int dlm_lockspace_init(void)
{ {
int error;
ls_count = 0; ls_count = 0;
mutex_init(&ls_lock); mutex_init(&ls_lock);
INIT_LIST_HEAD(&lslist); INIT_LIST_HEAD(&lslist);
spin_lock_init(&lslist_lock); spin_lock_init(&lslist_lock);
kobject_set_name(&dlm_kset.kobj, "dlm"); dlm_kset = kset_create_and_add("dlm", NULL, &kernel_subsys.kobj);
dlm_kset.kobj.kset = &kernel_subsys; if (!dlm_kset) {
error = kset_register(&dlm_kset); printk(KERN_WARNING "%s: can not create kset\n", __FUNCTION__);
if (error) return -ENOMEM;
printk("dlm_lockspace_init: cannot register kset %d\n", error); }
return error; return 0;
} }
void dlm_lockspace_exit(void) void dlm_lockspace_exit(void)
{ {
kset_unregister(&dlm_kset); kset_unregister(dlm_kset);
} }
static int dlm_scand(void *data) static int dlm_scand(void *data)