]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/parisc/pdc_stable.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen...
[linux-2.6-omap-h63xx.git] / drivers / parisc / pdc_stable.c
index 880b10b8a3112815ec1ae4a97957ef726d2fe8ee..de34aa9d3136055566204767cd2f5b9cbb28bfb6 100644 (file)
@@ -991,13 +991,12 @@ pdcs_register_pathentries(void)
                if (err < 0)
                        continue;
 
-               if ((err = kobject_set_name(&entry->kobj, "%s", entry->name)))
-                       return err;
                entry->kobj.kset = paths_kset;
-               entry->kobj.ktype = &ktype_pdcspath;
-               if ((err = kobject_register(&entry->kobj)))
+               err = kobject_init_and_add(&entry->kobj, &ktype_pdcspath, NULL,
+                                          "%s", entry->name);
+               if (err)
                        return err;
-               
+
                /* kobject is now registered */
                write_lock(&entry->rw_lock);
                entry->ready = 2;
@@ -1009,6 +1008,7 @@ pdcs_register_pathentries(void)
                }
 
                write_unlock(&entry->rw_lock);
+               kobject_uevent(&entry->kobj, KOBJ_ADD);
        }
        
        return 0;
@@ -1026,7 +1026,7 @@ pdcs_unregister_pathentries(void)
        for (i = 0; (entry = pdcspath_entries[i]); i++) {
                read_lock(&entry->rw_lock);
                if (entry->ready >= 2)
-                       kobject_unregister(&entry->kobj);
+                       kobject_put(&entry->kobj);
                read_unlock(&entry->rw_lock);
        }
 }
@@ -1086,7 +1086,7 @@ fail_pdcsreg:
        kset_unregister(paths_kset);
        
 fail_ksetreg:
-       kobject_unregister(stable_kobj);
+       kobject_put(stable_kobj);
        
 fail_firmreg:
        printk(KERN_INFO PDCS_PREFIX " bailing out\n");
@@ -1098,7 +1098,7 @@ pdc_stable_exit(void)
 {
        pdcs_unregister_pathentries();
        kset_unregister(paths_kset);
-       kobject_unregister(stable_kobj);
+       kobject_put(stable_kobj);
 }