Lines Matching refs:kobj
151 return sysfs_create_group(&dev->kobj, &cpuidle_attr_group); in cpuidle_add_interface()
159 sysfs_remove_group(&dev->kobj, &cpuidle_attr_group); in cpuidle_remove_interface()
178 struct kobject kobj; member
181 static inline struct cpuidle_device *to_cpuidle_device(struct kobject *kobj) in to_cpuidle_device() argument
184 container_of(kobj, struct cpuidle_device_kobj, kobj); in to_cpuidle_device()
189 static ssize_t cpuidle_show(struct kobject *kobj, struct attribute *attr, in cpuidle_show() argument
193 struct cpuidle_device *dev = to_cpuidle_device(kobj); in cpuidle_show()
204 static ssize_t cpuidle_store(struct kobject *kobj, struct attribute *attr, in cpuidle_store() argument
208 struct cpuidle_device *dev = to_cpuidle_device(kobj); in cpuidle_store()
224 static void cpuidle_sysfs_release(struct kobject *kobj) in cpuidle_sysfs_release() argument
227 container_of(kobj, struct cpuidle_device_kobj, kobj); in cpuidle_sysfs_release()
336 struct kobject kobj; member
370 static void cpuidle_add_s2idle_attr_group(struct cpuidle_state_kobj *kobj) in cpuidle_add_s2idle_attr_group() argument
374 if (!kobj->state->enter_s2idle) in cpuidle_add_s2idle_attr_group()
377 ret = sysfs_create_group(&kobj->kobj, &cpuidle_state_s2idle_group); in cpuidle_add_s2idle_attr_group()
382 static void cpuidle_remove_s2idle_attr_group(struct cpuidle_state_kobj *kobj) in cpuidle_remove_s2idle_attr_group() argument
384 if (kobj->state->enter_s2idle) in cpuidle_remove_s2idle_attr_group()
385 sysfs_remove_group(&kobj->kobj, &cpuidle_state_s2idle_group); in cpuidle_remove_s2idle_attr_group()
388 static inline void cpuidle_add_s2idle_attr_group(struct cpuidle_state_kobj *kobj) { } in cpuidle_add_s2idle_attr_group() argument
389 static inline void cpuidle_remove_s2idle_attr_group(struct cpuidle_state_kobj *kobj) { } in cpuidle_remove_s2idle_attr_group() argument
392 #define kobj_to_state_obj(k) container_of(k, struct cpuidle_state_kobj, kobj)
398 static ssize_t cpuidle_state_show(struct kobject *kobj, struct attribute *attr, in cpuidle_state_show() argument
402 struct cpuidle_state *state = kobj_to_state(kobj); in cpuidle_state_show()
403 struct cpuidle_state_usage *state_usage = kobj_to_state_usage(kobj); in cpuidle_state_show()
412 static ssize_t cpuidle_state_store(struct kobject *kobj, struct attribute *attr, in cpuidle_state_store() argument
416 struct cpuidle_state *state = kobj_to_state(kobj); in cpuidle_state_store()
417 struct cpuidle_state_usage *state_usage = kobj_to_state_usage(kobj); in cpuidle_state_store()
419 struct cpuidle_device *dev = kobj_to_device(kobj); in cpuidle_state_store()
435 static void cpuidle_state_sysfs_release(struct kobject *kobj) in cpuidle_state_sysfs_release() argument
437 struct cpuidle_state_kobj *state_obj = kobj_to_state_obj(kobj); in cpuidle_state_sysfs_release()
451 kobject_put(&device->kobjs[i]->kobj); in cpuidle_free_state_kobj()
464 struct cpuidle_state_kobj *kobj; in cpuidle_add_state_sysfs() local
470 kobj = kzalloc(sizeof(struct cpuidle_state_kobj), GFP_KERNEL); in cpuidle_add_state_sysfs()
471 if (!kobj) { in cpuidle_add_state_sysfs()
475 kobj->state = &drv->states[i]; in cpuidle_add_state_sysfs()
476 kobj->state_usage = &device->states_usage[i]; in cpuidle_add_state_sysfs()
477 kobj->device = device; in cpuidle_add_state_sysfs()
478 init_completion(&kobj->kobj_unregister); in cpuidle_add_state_sysfs()
480 ret = kobject_init_and_add(&kobj->kobj, &ktype_state_cpuidle, in cpuidle_add_state_sysfs()
481 &kdev->kobj, "state%d", i); in cpuidle_add_state_sysfs()
483 kfree(kobj); in cpuidle_add_state_sysfs()
486 cpuidle_add_s2idle_attr_group(kobj); in cpuidle_add_state_sysfs()
487 kobject_uevent(&kobj->kobj, KOBJ_ADD); in cpuidle_add_state_sysfs()
488 device->kobjs[i] = kobj; in cpuidle_add_state_sysfs()
513 #define kobj_to_driver_kobj(k) container_of(k, struct cpuidle_driver_kobj, kobj)
523 struct kobject kobj; member
543 static void cpuidle_driver_sysfs_release(struct kobject *kobj) in cpuidle_driver_sysfs_release() argument
545 struct cpuidle_driver_kobj *driver_kobj = kobj_to_driver_kobj(kobj); in cpuidle_driver_sysfs_release()
549 static ssize_t cpuidle_driver_show(struct kobject *kobj, struct attribute *attr, in cpuidle_driver_show() argument
553 struct cpuidle_driver_kobj *driver_kobj = kobj_to_driver_kobj(kobj); in cpuidle_driver_show()
562 static ssize_t cpuidle_driver_store(struct kobject *kobj, struct attribute *attr, in cpuidle_driver_store() argument
566 struct cpuidle_driver_kobj *driver_kobj = kobj_to_driver_kobj(kobj); in cpuidle_driver_store()
611 ret = kobject_init_and_add(&kdrv->kobj, &ktype_driver_cpuidle, in cpuidle_add_driver_sysfs()
612 &kdev->kobj, "driver"); in cpuidle_add_driver_sysfs()
618 kobject_uevent(&kdrv->kobj, KOBJ_ADD); in cpuidle_add_driver_sysfs()
631 kobject_put(&kdrv->kobj); in cpuidle_remove_driver_sysfs()
705 error = kobject_init_and_add(&kdev->kobj, &ktype_cpuidle, &cpu_dev->kobj, in cpuidle_add_sysfs()
712 kobject_uevent(&kdev->kobj, KOBJ_ADD); in cpuidle_add_sysfs()
725 kobject_put(&kdev->kobj); in cpuidle_remove_sysfs()