]> 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 bb6868475edb319c76157c89e4bf94b38eb3381e..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,12 +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(struct kobject *);
-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,
@@ -98,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 *);
@@ -161,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,