Lines Matching refs:target
196 struct pwrseq_target *target; in pwrseq_target_new() local
198 target = kzalloc(sizeof(*target), GFP_KERNEL); in pwrseq_target_new()
199 if (!target) in pwrseq_target_new()
202 target->name = kstrdup_const(data->name, GFP_KERNEL); in pwrseq_target_new()
203 if (!target->name) { in pwrseq_target_new()
204 kfree(target); in pwrseq_target_new()
208 target->post_enable = data->post_enable; in pwrseq_target_new()
210 return target; in pwrseq_target_new()
213 static void pwrseq_target_free(struct pwrseq_target *target) in pwrseq_target_free() argument
215 if (!IS_ERR_OR_NULL(target->unit)) in pwrseq_target_free()
216 pwrseq_unit_put(target->unit); in pwrseq_target_free()
217 kfree_const(target->name); in pwrseq_target_free()
218 kfree(target); in pwrseq_target_free()
271 struct pwrseq_target *target; member
282 struct pwrseq_target *target, *pos; in pwrseq_release() local
284 list_for_each_entry_safe(target, pos, &pwrseq->targets, list) { in pwrseq_release()
285 list_del(&target->list); in pwrseq_release()
286 pwrseq_target_free(target); in pwrseq_release()
418 struct pwrseq_target *target; in pwrseq_do_setup_targets() local
428 target = pwrseq_target_new(pos); in pwrseq_do_setup_targets()
429 if (!target) in pwrseq_do_setup_targets()
432 target->unit = pwrseq_unit_setup(pos->unit, &pwrseq->units, in pwrseq_do_setup_targets()
434 if (IS_ERR(target->unit)) { in pwrseq_do_setup_targets()
435 ret = PTR_ERR(target->unit); in pwrseq_do_setup_targets()
436 pwrseq_target_free(target); in pwrseq_do_setup_targets()
440 list_add_tail(&target->list, &pwrseq->targets); in pwrseq_do_setup_targets()
544 struct pwrseq_target *target; in pwrseq_device_unregister() local
549 list_for_each_entry(target, &pwrseq->targets, list) in pwrseq_device_unregister()
550 WARN(target->unit->enable_count, in pwrseq_device_unregister()
614 const char *target; member
621 struct pwrseq_target *target; in pwrseq_match_device() local
635 list_for_each_entry(target, &pwrseq->targets, list) { in pwrseq_match_device()
636 if (strcmp(target->name, match_data->target)) in pwrseq_match_device()
639 match_data->desc->target = target; in pwrseq_match_device()
646 if (!match_data->desc->target) in pwrseq_match_device()
667 struct pwrseq_desc *pwrseq_get(struct device *dev, const char *target) in pwrseq_get() argument
679 match_data.target = target; in pwrseq_get()
735 struct pwrseq_desc *devm_pwrseq_get(struct device *dev, const char *target) in devm_pwrseq_get() argument
740 desc = pwrseq_get(dev, target); in devm_pwrseq_get()
753 struct pwrseq_unit *target);
755 struct pwrseq_unit *target);
891 struct pwrseq_target *target; in pwrseq_power_on() local
901 target = desc->target; in pwrseq_power_on()
902 unit = target->unit; in pwrseq_power_on()
914 if (target->post_enable) { in pwrseq_power_on()
915 ret = target->post_enable(pwrseq); in pwrseq_power_on()
951 unit = desc->target->unit; in pwrseq_power_off()
1016 struct pwrseq_target *target) in pwrseq_debugfs_seq_show_target() argument
1019 target->name, target->unit->name); in pwrseq_debugfs_seq_show_target()
1042 struct pwrseq_target *target; in pwrseq_debugfs_seq_show() local
1048 list_for_each_entry(target, &pwrseq->targets, list) in pwrseq_debugfs_seq_show()
1049 pwrseq_debugfs_seq_show_target(seq, target); in pwrseq_debugfs_seq_show()