]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/kobject.h
Kobject: auto-cleanup on final unref
[linux-2.6-omap-h63xx.git] / include / linux / kobject.h
index 8b0aa715fa2f7981f7e1fe8e2b2d8d2ac3b8d4bf..be03ce83f9cca5ceca5d027daa7259c05538791c 100644 (file)
@@ -68,6 +68,11 @@ struct kobject {
        struct kset             * kset;
        struct kobj_type        * ktype;
        struct sysfs_dirent     * sd;
+       unsigned int state_initialized:1;
+       unsigned int state_name_set:1;
+       unsigned int state_in_sysfs:1;
+       unsigned int state_add_uevent_sent:1;
+       unsigned int state_remove_uevent_sent:1;
 };
 
 extern int kobject_set_name(struct kobject *, const char *, ...)
@@ -78,11 +83,10 @@ static inline const char * kobject_name(const struct kobject * kobj)
        return kobj->k_name;
 }
 
-extern void kobject_init(struct kobject *);
-extern void kobject_init_ng(struct kobject *kobj, struct kobj_type *ktype);
-extern int __must_check kobject_add_ng(struct kobject *kobj,
-                                      struct kobject *parent,
-                                      const char *fmt, ...);
+extern void kobject_init(struct kobject *kobj, struct kobj_type *ktype);
+extern int __must_check kobject_add(struct kobject *kobj,
+                                   struct kobject *parent,
+                                   const char *fmt, ...);
 extern int __must_check kobject_init_and_add(struct kobject *kobj,
                                             struct kobj_type *ktype,
                                             struct kobject *parent,
@@ -97,7 +101,6 @@ extern struct kobject * __must_check kobject_create_and_add(const char *name,
 extern int __must_check kobject_rename(struct kobject *, const char *new_name);
 extern int __must_check kobject_move(struct kobject *, struct kobject *);
 
-extern int __must_check kobject_register(struct kobject *);
 extern void kobject_unregister(struct kobject *);
 
 extern struct kobject * kobject_get(struct kobject *);
@@ -160,7 +163,6 @@ struct kset {
 };
 
 extern void kset_init(struct kset * k);
-extern int __must_check kset_add(struct kset * k);
 extern int __must_check kset_register(struct kset * k);
 extern void kset_unregister(struct kset * k);
 extern struct kset * __must_check kset_create_and_add(const char *name,