[PATCH] kobject/hotplug split - kobject add/remove

kobject_add() and kobject_del() don't emit hotplug events anymore.
The user should do it itself if it has finished populating the device
directory.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


authored by kay.sievers@vrfy.org and committed by Greg KH 18c3d527 7b558637

+3 -4
+3 -4
lib/kobject.c
··· 184 unlink(kobj); 185 if (parent) 186 kobject_put(parent); 187 - } else { 188 - kobject_hotplug(kobj, KOBJ_ADD); 189 } 190 191 return error; ··· 205 printk("kobject_register failed for %s (%d)\n", 206 kobject_name(kobj),error); 207 dump_stack(); 208 - } 209 } else 210 error = -EINVAL; 211 return error; ··· 300 301 void kobject_del(struct kobject * kobj) 302 { 303 - kobject_hotplug(kobj, KOBJ_REMOVE); 304 sysfs_remove_dir(kobj); 305 unlink(kobj); 306 } ··· 312 void kobject_unregister(struct kobject * kobj) 313 { 314 pr_debug("kobject %s: unregistering\n",kobject_name(kobj)); 315 kobject_del(kobj); 316 kobject_put(kobj); 317 }
··· 184 unlink(kobj); 185 if (parent) 186 kobject_put(parent); 187 } 188 189 return error; ··· 207 printk("kobject_register failed for %s (%d)\n", 208 kobject_name(kobj),error); 209 dump_stack(); 210 + } else 211 + kobject_hotplug(kobj, KOBJ_ADD); 212 } else 213 error = -EINVAL; 214 return error; ··· 301 302 void kobject_del(struct kobject * kobj) 303 { 304 sysfs_remove_dir(kobj); 305 unlink(kobj); 306 } ··· 314 void kobject_unregister(struct kobject * kobj) 315 { 316 pr_debug("kobject %s: unregistering\n",kobject_name(kobj)); 317 + kobject_hotplug(kobj, KOBJ_REMOVE); 318 kobject_del(kobj); 319 kobject_put(kobj); 320 }