Lines Matching refs:info
42 acpi_status acpi_ns_evaluate(struct acpi_evaluate_info *info) in acpi_ns_evaluate() argument
48 if (!info) { in acpi_ns_evaluate()
52 if (!info->node) { in acpi_ns_evaluate()
62 acpi_ns_get_node(info->prefix_node, info->relative_pathname, in acpi_ns_evaluate()
63 ACPI_NS_NO_UPSEARCH, &info->node); in acpi_ns_evaluate()
73 if (acpi_ns_get_type(info->node) == ACPI_TYPE_LOCAL_METHOD_ALIAS) { in acpi_ns_evaluate()
74 info->node = in acpi_ns_evaluate()
76 info->node->object); in acpi_ns_evaluate()
81 info->return_object = NULL; in acpi_ns_evaluate()
82 info->node_flags = info->node->flags; in acpi_ns_evaluate()
83 info->obj_desc = acpi_ns_get_attached_object(info->node); in acpi_ns_evaluate()
86 info->relative_pathname, info->node, in acpi_ns_evaluate()
87 acpi_ns_get_attached_object(info->node))); in acpi_ns_evaluate()
91 info->predefined = in acpi_ns_evaluate()
92 acpi_ut_match_predefined_method(info->node->name.ascii); in acpi_ns_evaluate()
96 info->full_pathname = acpi_ns_get_normalized_pathname(info->node, TRUE); in acpi_ns_evaluate()
97 if (!info->full_pathname) { in acpi_ns_evaluate()
105 &info->full_pathname[1], in acpi_ns_evaluate()
106 acpi_ut_get_type_name(info->node->type))); in acpi_ns_evaluate()
110 info->param_count = 0; in acpi_ns_evaluate()
111 if (info->parameters) { in acpi_ns_evaluate()
112 while (info->parameters[info->param_count]) { in acpi_ns_evaluate()
113 info->param_count++; in acpi_ns_evaluate()
118 if (info->param_count > ACPI_METHOD_NUM_ARGS) { in acpi_ns_evaluate()
119 ACPI_WARN_PREDEFINED((AE_INFO, info->full_pathname, in acpi_ns_evaluate()
122 info->param_count, in acpi_ns_evaluate()
125 info->param_count = ACPI_METHOD_NUM_ARGS; in acpi_ns_evaluate()
133 acpi_ns_check_acpi_compliance(info->full_pathname, info->node, in acpi_ns_evaluate()
134 info->predefined); in acpi_ns_evaluate()
140 acpi_ns_check_argument_count(info->full_pathname, info->node, in acpi_ns_evaluate()
141 info->param_count, info->predefined); in acpi_ns_evaluate()
145 acpi_ns_check_argument_types(info); in acpi_ns_evaluate()
154 switch (acpi_ns_get_type(info->node)) { in acpi_ns_evaluate()
169 info->full_pathname, in acpi_ns_evaluate()
170 acpi_ut_get_type_name(info->node->type))); in acpi_ns_evaluate()
182 if (!info->obj_desc) { in acpi_ns_evaluate()
185 info->full_pathname)); in acpi_ns_evaluate()
192 info->full_pathname, in acpi_ns_evaluate()
193 info->obj_desc->method.aml_start + 1, in acpi_ns_evaluate()
194 info->obj_desc->method.aml_length - 1)); in acpi_ns_evaluate()
205 status = acpi_ps_execute_method(info); in acpi_ns_evaluate()
234 info->return_object = in acpi_ns_evaluate()
235 ACPI_CAST_PTR(union acpi_operand_object, info->node); in acpi_ns_evaluate()
240 &info->return_object), NULL); in acpi_ns_evaluate()
244 info->return_object = NULL; in acpi_ns_evaluate()
249 info->return_object, in acpi_ns_evaluate()
250 acpi_ut_get_object_type_name(info-> in acpi_ns_evaluate()
261 (void)acpi_ns_check_return_value(info->node, info, info->param_count, in acpi_ns_evaluate()
262 status, &info->return_object); in acpi_ns_evaluate()
270 if (info->flags & ACPI_IGNORE_RETURN_VALUE) { in acpi_ns_evaluate()
271 acpi_ut_remove_reference(info->return_object); in acpi_ns_evaluate()
272 info->return_object = NULL; in acpi_ns_evaluate()
282 if (info->return_object) { in acpi_ns_evaluate()
283 acpi_ut_remove_reference(info->return_object); in acpi_ns_evaluate()
284 info->return_object = NULL; in acpi_ns_evaluate()
290 info->relative_pathname)); in acpi_ns_evaluate()
297 &info->full_pathname[1])); in acpi_ns_evaluate()
303 ACPI_FREE(info->full_pathname); in acpi_ns_evaluate()
304 info->full_pathname = NULL; in acpi_ns_evaluate()