]> err.no Git - linux-2.6/blobdiff - lib/kobject.c
[PATCH] lib/radix-tree: Fix "nocast type" warnings
[linux-2.6] / lib / kobject.c
index ff9491986b381ccb1515a4b3a5dab8e28878d22c..dd0917dd9fa9df9274b24e6acbe3abddaa3b17ed 100644 (file)
@@ -184,8 +184,6 @@ int kobject_add(struct kobject * kobj)
                unlink(kobj);
                if (parent)
                        kobject_put(parent);
-       } else {
-               kobject_hotplug(kobj, KOBJ_ADD);
        }
 
        return error;
@@ -207,7 +205,8 @@ int kobject_register(struct kobject * kobj)
                        printk("kobject_register failed for %s (%d)\n",
                               kobject_name(kobj),error);
                        dump_stack();
-               }
+               } else
+                       kobject_hotplug(kobj, KOBJ_ADD);
        } else
                error = -EINVAL;
        return error;
@@ -217,13 +216,12 @@ int kobject_register(struct kobject * kobj)
 /**
  *     kobject_set_name - Set the name of an object
  *     @kobj:  object.
- *     @name:  name. 
+ *     @fmt:   format string used to build the name
  *
  *     If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated
  *     string that @kobj->k_name points to. Otherwise, use the static 
  *     @kobj->name array.
  */
-
 int kobject_set_name(struct kobject * kobj, const char * fmt, ...)
 {
        int error = 0;
@@ -281,7 +279,7 @@ EXPORT_SYMBOL(kobject_set_name);
  *     @new_name: object's new name
  */
 
-int kobject_rename(struct kobject * kobj, char *new_name)
+int kobject_rename(struct kobject * kobj, const char *new_name)
 {
        int error = 0;
 
@@ -301,7 +299,6 @@ int kobject_rename(struct kobject * kobj, char *new_name)
 
 void kobject_del(struct kobject * kobj)
 {
-       kobject_hotplug(kobj, KOBJ_REMOVE);
        sysfs_remove_dir(kobj);
        unlink(kobj);
 }
@@ -314,6 +311,7 @@ void kobject_del(struct kobject * kobj)
 void kobject_unregister(struct kobject * kobj)
 {
        pr_debug("kobject %s: unregistering\n",kobject_name(kobj));
+       kobject_hotplug(kobj, KOBJ_REMOVE);
        kobject_del(kobj);
        kobject_put(kobj);
 }