Lines Matching refs:kobj
33 static void kset_join(struct kobject *kobj);
34 static void kset_leave(struct kobject *kobj);
35 static void kset_kfree(struct kobject *kobj);
40 struct kobject *kobj; in kobject_create() local
42 kobj = kzalloc(sizeof(*kobj), GFP_KERNEL); in kobject_create()
43 if (kobj == NULL) in kobject_create()
45 kobject_init(kobj, &linux_kfree_type); in kobject_create()
47 return (kobj); in kobject_create()
52 kobject_set_name_vargs(struct kobject *kobj, const char *fmt, va_list args) in kobject_set_name_vargs() argument
60 old = kobj->name; in kobject_set_name_vargs()
82 kobj->name = name; in kobject_set_name_vargs()
95 kobject_set_name(struct kobject *kobj, const char *fmt, ...) in kobject_set_name() argument
101 error = kobject_set_name_vargs(kobj, fmt, args); in kobject_set_name()
108 kobject_add_complete(struct kobject *kobj) in kobject_add_complete() argument
113 if (kobj->kset != NULL) { in kobject_add_complete()
114 kset_join(kobj); in kobject_add_complete()
115 kobj->parent = &kobj->kset->kobj; in kobject_add_complete()
118 error = sysfs_create_dir(kobj); in kobject_add_complete()
119 if (error == 0 && kobj->ktype && kobj->ktype->default_attrs) { in kobject_add_complete()
121 t = kobj->ktype; in kobject_add_complete()
124 error = sysfs_create_file(kobj, *attr); in kobject_add_complete()
129 sysfs_remove_dir(kobj); in kobject_add_complete()
133 kset_leave(kobj); in kobject_add_complete()
139 kobject_add(struct kobject *kobj, struct kobject *parent, const char *fmt, ...) in kobject_add() argument
144 kobj->parent = parent; in kobject_add()
147 error = kobject_set_name_vargs(kobj, fmt, args); in kobject_add()
152 return kobject_add_complete(kobj); in kobject_add()
156 kobject_init_and_add(struct kobject *kobj, const struct kobj_type *ktype, in kobject_init_and_add() argument
162 kobject_init(kobj, ktype); in kobject_init_and_add()
163 kobj->ktype = ktype; in kobject_init_and_add()
164 kobj->parent = parent; in kobject_init_and_add()
165 kobj->name = NULL; in kobject_init_and_add()
168 error = kobject_set_name_vargs(kobj, fmt, args); in kobject_init_and_add()
172 return kobject_add_complete(kobj); in kobject_init_and_add()
178 struct kobject *kobj; in linux_kobject_release() local
181 kobj = container_of(kref, struct kobject, kref); in linux_kobject_release()
182 sysfs_remove_dir(kobj); in linux_kobject_release()
183 kset_leave(kobj); in linux_kobject_release()
184 name = kobj->name; in linux_kobject_release()
185 if (kobj->ktype && kobj->ktype->release) in linux_kobject_release()
186 kobj->ktype->release(kobj); in linux_kobject_release()
191 linux_kobject_kfree(struct kobject *kobj) in linux_kobject_kfree() argument
193 kfree(kobj); in linux_kobject_kfree()
201 linux_kobject_kfree_name(struct kobject *kobj) in linux_kobject_kfree_name() argument
203 if (kobj) { in linux_kobject_kfree_name()
204 kfree(kobj->name); in linux_kobject_kfree_name()
209 lkpi_kobj_attr_show(struct kobject *kobj, struct attribute *attr, char *buf) in lkpi_kobj_attr_show() argument
217 return (ka->show(kobj, ka, buf)); in lkpi_kobj_attr_show()
221 lkpi_kobj_attr_store(struct kobject *kobj, struct attribute *attr, in lkpi_kobj_attr_store() argument
230 return (ka->store(kobj, ka, buf, count)); in lkpi_kobj_attr_store()
255 kobject_set_name(&kset->kobj, "%s", name); in kset_create()
256 kset->kobj.parent = parent_kobj; in kset_create()
257 kset->kobj.kset = NULL; in kset_create()
265 kobject_init(&kset->kobj, &linux_kset_kfree_type); in kset_init()
271 kset_join(struct kobject *kobj) in kset_join() argument
275 kset = kobj->kset; in kset_join()
279 kset_get(kobj->kset); in kset_join()
282 list_add_tail(&kobj->entry, &kset->list); in kset_join()
287 kset_leave(struct kobject *kobj) in kset_leave() argument
291 kset = kobj->kset; in kset_leave()
296 list_del_init(&kobj->entry); in kset_leave()
299 kset_put(kobj->kset); in kset_leave()
315 linux_kobject_kfree_name(&kset->kobj); in kset_create_and_add()
332 ret = kobject_add_complete(&kset->kobj); in kset_register()
343 kobject_del(&kset->kobj); in kset_unregister()
344 kobject_put(&kset->kobj); in kset_unregister()
348 kset_kfree(struct kobject *kobj) in kset_kfree() argument
352 kset = to_kset(kobj); in kset_kfree()