Lines Matching refs:walk_state

70 void acpi_ds_clear_implicit_return(struct acpi_walk_state *walk_state)  in acpi_ds_clear_implicit_return()  argument
81 if (walk_state->implicit_return_obj) { in acpi_ds_clear_implicit_return()
89 walk_state->implicit_return_obj)); in acpi_ds_clear_implicit_return()
91 acpi_ut_remove_reference(walk_state->implicit_return_obj); in acpi_ds_clear_implicit_return()
92 walk_state->implicit_return_obj = NULL; in acpi_ds_clear_implicit_return()
117 struct acpi_walk_state *walk_state, u8 add_reference) in acpi_ds_do_implicit_return() argument
131 return_desc, walk_state->implicit_return_obj)); in acpi_ds_do_implicit_return()
139 if (walk_state->implicit_return_obj) { in acpi_ds_do_implicit_return()
140 if (walk_state->implicit_return_obj == return_desc) { in acpi_ds_do_implicit_return()
143 acpi_ds_clear_implicit_return(walk_state); in acpi_ds_do_implicit_return()
148 walk_state->implicit_return_obj = return_desc; in acpi_ds_do_implicit_return()
171 struct acpi_walk_state * walk_state) in acpi_ds_is_result_used() argument
193 (void)acpi_ds_do_implicit_return(walk_state->result_obj, walk_state, in acpi_ds_is_result_used()
247 if ((walk_state->control_state->common.state == in acpi_ds_is_result_used()
249 && (walk_state->control_state->control. in acpi_ds_is_result_used()
341 struct acpi_walk_state *walk_state) in acpi_ds_delete_result_if_not_used() argument
357 if (!acpi_ds_is_result_used(op, walk_state)) { in acpi_ds_delete_result_if_not_used()
361 status = acpi_ds_result_pop(&obj_desc, walk_state); in acpi_ds_delete_result_if_not_used()
384 acpi_status acpi_ds_resolve_operands(struct acpi_walk_state *walk_state) in acpi_ds_resolve_operands() argument
389 ACPI_FUNCTION_TRACE_PTR(ds_resolve_operands, walk_state); in acpi_ds_resolve_operands()
396 for (i = 0; i < walk_state->num_operands; i++) { in acpi_ds_resolve_operands()
398 acpi_ex_resolve_to_value(&walk_state->operands[i], in acpi_ds_resolve_operands()
399 walk_state); in acpi_ds_resolve_operands()
420 void acpi_ds_clear_operands(struct acpi_walk_state *walk_state) in acpi_ds_clear_operands() argument
424 ACPI_FUNCTION_TRACE_PTR(ds_clear_operands, walk_state); in acpi_ds_clear_operands()
428 for (i = 0; i < walk_state->num_operands; i++) { in acpi_ds_clear_operands()
433 acpi_ut_remove_reference(walk_state->operands[i]); in acpi_ds_clear_operands()
434 walk_state->operands[i] = NULL; in acpi_ds_clear_operands()
437 walk_state->num_operands = 0; in acpi_ds_clear_operands()
460 acpi_ds_create_operand(struct acpi_walk_state *walk_state, in acpi_ds_create_operand() argument
504 if ((walk_state->deferred_node) && in acpi_ds_create_operand()
505 (walk_state->deferred_node->type == ACPI_TYPE_BUFFER_FIELD) in acpi_ds_create_operand()
507 (u32) ((walk_state->opcode == in acpi_ds_create_operand()
511 walk_state->deferred_node); in acpi_ds_create_operand()
542 acpi_ns_lookup(walk_state->scope_info, name_string, in acpi_ds_create_operand()
545 ACPI_NS_DONT_OPEN_SCOPE, walk_state, in acpi_ds_create_operand()
604 status = acpi_ds_obj_stack_push(obj_desc, walk_state); in acpi_ds_create_operand()
609 (obj_desc, walk_state)); in acpi_ds_create_operand()
642 (walk_state-> in acpi_ds_create_operand()
643 operands[walk_state->num_operands - in acpi_ds_create_operand()
644 1], walk_state)); in acpi_ds_create_operand()
650 status = acpi_ds_result_pop(&obj_desc, walk_state); in acpi_ds_create_operand()
673 acpi_ds_init_object_from_op(walk_state, arg, opcode, in acpi_ds_create_operand()
683 status = acpi_ds_obj_stack_push(obj_desc, walk_state); in acpi_ds_create_operand()
689 (obj_desc, walk_state)); in acpi_ds_create_operand()
711 acpi_ds_create_operands(struct acpi_walk_state *walk_state, in acpi_ds_create_operands() argument
718 u32 index = walk_state->num_operands; in acpi_ds_create_operands()
732 walk_state->operands[index] = NULL; in acpi_ds_create_operands()
743 walk_state->num_operands, arg_count, index)); in acpi_ds_create_operands()
750 walk_state->operand_index = (u8)index; in acpi_ds_create_operands()
752 status = acpi_ds_create_operand(walk_state, arg, index); in acpi_ds_create_operands()
771 acpi_ds_obj_stack_pop_and_delete(arg_count, walk_state); in acpi_ds_create_operands()
793 acpi_status acpi_ds_evaluate_name_path(struct acpi_walk_state *walk_state) in acpi_ds_evaluate_name_path() argument
796 union acpi_parse_object *op = walk_state->op; in acpi_ds_evaluate_name_path()
797 union acpi_operand_object **operand = &walk_state->operands[0]; in acpi_ds_evaluate_name_path()
801 ACPI_FUNCTION_TRACE_PTR(ds_evaluate_name_path, walk_state); in acpi_ds_evaluate_name_path()
819 status = acpi_ds_create_operand(walk_state, op, 0); in acpi_ds_evaluate_name_path()
831 status = acpi_ex_resolve_to_value(operand, walk_state); in acpi_ds_evaluate_name_path()
844 walk_state); in acpi_ds_evaluate_name_path()
858 status = acpi_ds_obj_stack_pop(1, walk_state); in acpi_ds_evaluate_name_path()
860 walk_state->result_obj = new_obj_desc; in acpi_ds_evaluate_name_path()
866 walk_state->result_obj = new_obj_desc; in acpi_ds_evaluate_name_path()
868 status = acpi_ds_result_push(walk_state->result_obj, walk_state); in acpi_ds_evaluate_name_path()