Commit 27c3a314 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

kset: convert slub to use kset_create

Dynamically create the kset instead of declaring it statically.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Christoph Lameter <clameter@sgi.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent aade4041
...@@ -3962,7 +3962,7 @@ static struct kset_uevent_ops slab_uevent_ops = { ...@@ -3962,7 +3962,7 @@ static struct kset_uevent_ops slab_uevent_ops = {
.filter = uevent_filter, .filter = uevent_filter,
}; };
static decl_subsys(slab, &slab_uevent_ops); static struct kset *slab_kset;
#define ID_STR_LENGTH 64 #define ID_STR_LENGTH 64
...@@ -4015,7 +4015,7 @@ static int sysfs_slab_add(struct kmem_cache *s) ...@@ -4015,7 +4015,7 @@ static int sysfs_slab_add(struct kmem_cache *s)
* This is typically the case for debug situations. In that * This is typically the case for debug situations. In that
* case we can catch duplicate names easily. * case we can catch duplicate names easily.
*/ */
sysfs_remove_link(&slab_subsys.kobj, s->name); sysfs_remove_link(&slab_kset->kobj, s->name);
name = s->name; name = s->name;
} else { } else {
/* /*
...@@ -4026,7 +4026,7 @@ static int sysfs_slab_add(struct kmem_cache *s) ...@@ -4026,7 +4026,7 @@ static int sysfs_slab_add(struct kmem_cache *s)
} }
kobject_set_name(&s->kobj, name); kobject_set_name(&s->kobj, name);
s->kobj.kset = &slab_subsys; s->kobj.kset = slab_kset;
s->kobj.ktype = &slab_ktype; s->kobj.ktype = &slab_ktype;
kobject_init(&s->kobj); kobject_init(&s->kobj);
err = kobject_add(&s->kobj); err = kobject_add(&s->kobj);
...@@ -4071,9 +4071,8 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name) ...@@ -4071,9 +4071,8 @@ static int sysfs_slab_alias(struct kmem_cache *s, const char *name)
/* /*
* If we have a leftover link then remove it. * If we have a leftover link then remove it.
*/ */
sysfs_remove_link(&slab_subsys.kobj, name); sysfs_remove_link(&slab_kset->kobj, name);
return sysfs_create_link(&slab_subsys.kobj, return sysfs_create_link(&slab_kset->kobj, &s->kobj, name);
&s->kobj, name);
} }
al = kmalloc(sizeof(struct saved_alias), GFP_KERNEL); al = kmalloc(sizeof(struct saved_alias), GFP_KERNEL);
...@@ -4092,8 +4091,8 @@ static int __init slab_sysfs_init(void) ...@@ -4092,8 +4091,8 @@ static int __init slab_sysfs_init(void)
struct kmem_cache *s; struct kmem_cache *s;
int err; int err;
err = subsystem_register(&slab_subsys); slab_kset = kset_create_and_add("slab", &slab_uevent_ops, NULL);
if (err) { if (!slab_kset) {
printk(KERN_ERR "Cannot register slab subsystem.\n"); printk(KERN_ERR "Cannot register slab subsystem.\n");
return -ENOSYS; return -ENOSYS;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment