提交 5c89e17e 编写于 作者: G Greg Kroah-Hartman

kobject: convert fuse 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.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 43968d2f
......@@ -744,9 +744,6 @@ static inline void unregister_fuseblk(void)
}
#endif
static decl_subsys(fuse, NULL);
static decl_subsys(connections, NULL);
static void fuse_inode_init_once(struct kmem_cache *cachep, void *foo)
{
struct inode * inode = foo;
......@@ -791,32 +788,37 @@ static void fuse_fs_cleanup(void)
kmem_cache_destroy(fuse_inode_cachep);
}
static struct kobject *fuse_kobj;
static struct kobject *connections_kobj;
static int fuse_sysfs_init(void)
{
int err;
fuse_subsys.kobj.kset = &fs_subsys;
err = subsystem_register(&fuse_subsys);
if (err)
fuse_kobj = kobject_create_and_add("fuse", &fs_subsys.kobj);
if (!fuse_kobj) {
err = -ENOMEM;
goto out_err;
}
connections_subsys.kobj.kset = &fuse_subsys;
err = subsystem_register(&connections_subsys);
if (err)
connections_kobj = kobject_create_and_add("connections", fuse_kobj);
if (!connections_kobj) {
err = -ENOMEM;
goto out_fuse_unregister;
}
return 0;
out_fuse_unregister:
subsystem_unregister(&fuse_subsys);
kobject_unregister(fuse_kobj);
out_err:
return err;
}
static void fuse_sysfs_cleanup(void)
{
subsystem_unregister(&connections_subsys);
subsystem_unregister(&fuse_subsys);
kobject_unregister(connections_kobj);
kobject_unregister(fuse_kobj);
}
static int __init fuse_init(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册