Kobject: change drivers/parisc/pdc_stable.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000 (15:54 -0400)]
Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Kyle McMartin <kyle@parisc-linux.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Grant Grundler <grundler@parisc-linux.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

drivers/parisc/pdc_stable.c

index 880b10b..87bc6b7 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;