V4L/DVB (6573): unexport flexcop_reset_block_300
[deliverable/linux.git] / fs / dlm / lockspace.c
index 0828beb2d35d34894ba3acee2115379c9b86f8dd..5c108c49cb8cd30128d533630cdd3ac72810839d 100644 (file)
@@ -168,23 +168,6 @@ static struct kobj_type dlm_ktype = {
 
 static struct kset *dlm_kset;
 
-static int kobject_setup(struct dlm_ls *ls)
-{
-       char lsname[DLM_LOCKSPACE_LEN];
-       int error;
-
-       memset(lsname, 0, DLM_LOCKSPACE_LEN);
-       snprintf(lsname, DLM_LOCKSPACE_LEN, "%s", ls->ls_name);
-
-       error = kobject_set_name(&ls->ls_kobj, "%s", lsname);
-       if (error)
-               return error;
-
-       ls->ls_kobj.kset = dlm_kset;
-       ls->ls_kobj.ktype = &dlm_ktype;
-       return 0;
-}
-
 static int do_uevent(struct dlm_ls *ls, int in)
 {
        int error;
@@ -223,7 +206,7 @@ int dlm_lockspace_init(void)
        INIT_LIST_HEAD(&lslist);
        spin_lock_init(&lslist_lock);
 
-       dlm_kset = kset_create_and_add("dlm", NULL, &kernel_kset->kobj);
+       dlm_kset = kset_create_and_add("dlm", NULL, kernel_kobj);
        if (!dlm_kset) {
                printk(KERN_WARNING "%s: can not create kset\n", __FUNCTION__);
                return -ENOMEM;
@@ -545,13 +528,12 @@ static int new_lockspace(char *name, int namelen, void **lockspace,
                goto out_delist;
        }
 
-       error = kobject_setup(ls);
-       if (error)
-               goto out_stop;
-
-       error = kobject_register(&ls->ls_kobj);
+       ls->ls_kobj.kset = dlm_kset;
+       error = kobject_init_and_add(&ls->ls_kobj, &dlm_ktype, NULL,
+                                    "%s", ls->ls_name);
        if (error)
                goto out_stop;
+       kobject_uevent(&ls->ls_kobj, KOBJ_ADD);
 
        /* let kobject handle freeing of ls if there's an error */
        do_unreg = 1;
@@ -597,7 +579,7 @@ static int new_lockspace(char *name, int namelen, void **lockspace,
        kfree(ls->ls_rsbtbl);
  out_lsfree:
        if (do_unreg)
-               kobject_unregister(&ls->ls_kobj);
+               kobject_put(&ls->ls_kobj);
        else
                kfree(ls);
  out:
@@ -746,7 +728,7 @@ static int release_lockspace(struct dlm_ls *ls, int force)
        dlm_clear_members(ls);
        dlm_clear_members_gone(ls);
        kfree(ls->ls_node_array);
-       kobject_unregister(&ls->ls_kobj);
+       kobject_put(&ls->ls_kobj);
        /* The ls structure will be freed when the kobject is done with */
 
        mutex_lock(&ls_lock);
This page took 0.039897 seconds and 5 git commands to generate.