diff options
Diffstat (limited to 'drivers/acpi/dispatcher/dsutils.c')
-rw-r--r-- | drivers/acpi/dispatcher/dsutils.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/drivers/acpi/dispatcher/dsutils.c b/drivers/acpi/dispatcher/dsutils.c index 53356a591ac1..05230baf5de8 100644 --- a/drivers/acpi/dispatcher/dsutils.c +++ b/drivers/acpi/dispatcher/dsutils.c | |||
@@ -68,7 +68,7 @@ ACPI_MODULE_NAME("dsutils") | |||
68 | ******************************************************************************/ | 68 | ******************************************************************************/ |
69 | void acpi_ds_clear_implicit_return(struct acpi_walk_state *walk_state) | 69 | void acpi_ds_clear_implicit_return(struct acpi_walk_state *walk_state) |
70 | { | 70 | { |
71 | ACPI_FUNCTION_NAME("ds_clear_implicit_return"); | 71 | ACPI_FUNCTION_NAME(ds_clear_implicit_return); |
72 | 72 | ||
73 | /* | 73 | /* |
74 | * Slack must be enabled for this feature | 74 | * Slack must be enabled for this feature |
@@ -115,7 +115,7 @@ u8 | |||
115 | acpi_ds_do_implicit_return(union acpi_operand_object *return_desc, | 115 | acpi_ds_do_implicit_return(union acpi_operand_object *return_desc, |
116 | struct acpi_walk_state *walk_state, u8 add_reference) | 116 | struct acpi_walk_state *walk_state, u8 add_reference) |
117 | { | 117 | { |
118 | ACPI_FUNCTION_NAME("ds_do_implicit_return"); | 118 | ACPI_FUNCTION_NAME(ds_do_implicit_return); |
119 | 119 | ||
120 | /* | 120 | /* |
121 | * Slack must be enabled for this feature, and we must | 121 | * Slack must be enabled for this feature, and we must |
@@ -171,7 +171,7 @@ acpi_ds_is_result_used(union acpi_parse_object * op, | |||
171 | { | 171 | { |
172 | const struct acpi_opcode_info *parent_info; | 172 | const struct acpi_opcode_info *parent_info; |
173 | 173 | ||
174 | ACPI_FUNCTION_TRACE_PTR("ds_is_result_used", op); | 174 | ACPI_FUNCTION_TRACE_PTR(ds_is_result_used, op); |
175 | 175 | ||
176 | /* Must have both an Op and a Result Object */ | 176 | /* Must have both an Op and a Result Object */ |
177 | 177 | ||
@@ -202,6 +202,7 @@ acpi_ds_is_result_used(union acpi_parse_object * op, | |||
202 | */ | 202 | */ |
203 | if ((!op->common.parent) || | 203 | if ((!op->common.parent) || |
204 | (op->common.parent->common.aml_opcode == AML_SCOPE_OP)) { | 204 | (op->common.parent->common.aml_opcode == AML_SCOPE_OP)) { |
205 | |||
205 | /* No parent, the return value cannot possibly be used */ | 206 | /* No parent, the return value cannot possibly be used */ |
206 | 207 | ||
207 | ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, | 208 | ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, |
@@ -340,7 +341,7 @@ acpi_ds_delete_result_if_not_used(union acpi_parse_object *op, | |||
340 | union acpi_operand_object *obj_desc; | 341 | union acpi_operand_object *obj_desc; |
341 | acpi_status status; | 342 | acpi_status status; |
342 | 343 | ||
343 | ACPI_FUNCTION_TRACE_PTR("ds_delete_result_if_not_used", result_obj); | 344 | ACPI_FUNCTION_TRACE_PTR(ds_delete_result_if_not_used, result_obj); |
344 | 345 | ||
345 | if (!op) { | 346 | if (!op) { |
346 | ACPI_ERROR((AE_INFO, "Null Op")); | 347 | ACPI_ERROR((AE_INFO, "Null Op")); |
@@ -352,6 +353,7 @@ acpi_ds_delete_result_if_not_used(union acpi_parse_object *op, | |||
352 | } | 353 | } |
353 | 354 | ||
354 | if (!acpi_ds_is_result_used(op, walk_state)) { | 355 | if (!acpi_ds_is_result_used(op, walk_state)) { |
356 | |||
355 | /* Must pop the result stack (obj_desc should be equal to result_obj) */ | 357 | /* Must pop the result stack (obj_desc should be equal to result_obj) */ |
356 | 358 | ||
357 | status = acpi_ds_result_pop(&obj_desc, walk_state); | 359 | status = acpi_ds_result_pop(&obj_desc, walk_state); |
@@ -382,7 +384,7 @@ acpi_status acpi_ds_resolve_operands(struct acpi_walk_state *walk_state) | |||
382 | u32 i; | 384 | u32 i; |
383 | acpi_status status = AE_OK; | 385 | acpi_status status = AE_OK; |
384 | 386 | ||
385 | ACPI_FUNCTION_TRACE_PTR("ds_resolve_operands", walk_state); | 387 | ACPI_FUNCTION_TRACE_PTR(ds_resolve_operands, walk_state); |
386 | 388 | ||
387 | /* | 389 | /* |
388 | * Attempt to resolve each of the valid operands | 390 | * Attempt to resolve each of the valid operands |
@@ -417,7 +419,7 @@ void acpi_ds_clear_operands(struct acpi_walk_state *walk_state) | |||
417 | { | 419 | { |
418 | u32 i; | 420 | u32 i; |
419 | 421 | ||
420 | ACPI_FUNCTION_TRACE_PTR("ds_clear_operands", walk_state); | 422 | ACPI_FUNCTION_TRACE_PTR(ds_clear_operands, walk_state); |
421 | 423 | ||
422 | /* Remove a reference on each operand on the stack */ | 424 | /* Remove a reference on each operand on the stack */ |
423 | 425 | ||
@@ -465,7 +467,7 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state, | |||
465 | acpi_interpreter_mode interpreter_mode; | 467 | acpi_interpreter_mode interpreter_mode; |
466 | const struct acpi_opcode_info *op_info; | 468 | const struct acpi_opcode_info *op_info; |
467 | 469 | ||
468 | ACPI_FUNCTION_TRACE_PTR("ds_create_operand", arg); | 470 | ACPI_FUNCTION_TRACE_PTR(ds_create_operand, arg); |
469 | 471 | ||
470 | /* A valid name must be looked up in the namespace */ | 472 | /* A valid name must be looked up in the namespace */ |
471 | 473 | ||
@@ -498,7 +500,9 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state, | |||
498 | */ | 500 | */ |
499 | if ((walk_state->deferred_node) && | 501 | if ((walk_state->deferred_node) && |
500 | (walk_state->deferred_node->type == ACPI_TYPE_BUFFER_FIELD) | 502 | (walk_state->deferred_node->type == ACPI_TYPE_BUFFER_FIELD) |
501 | && (arg_index != 0)) { | 503 | && (arg_index == |
504 | (u32) ((walk_state->opcode == | ||
505 | AML_CREATE_FIELD_OP) ? 3 : 2))) { | ||
502 | obj_desc = | 506 | obj_desc = |
503 | ACPI_CAST_PTR(union acpi_operand_object, | 507 | ACPI_CAST_PTR(union acpi_operand_object, |
504 | walk_state->deferred_node); | 508 | walk_state->deferred_node); |
@@ -521,6 +525,7 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state, | |||
521 | && (parent_op->common.aml_opcode != AML_REGION_OP) | 525 | && (parent_op->common.aml_opcode != AML_REGION_OP) |
522 | && (parent_op->common.aml_opcode != | 526 | && (parent_op->common.aml_opcode != |
523 | AML_INT_NAMEPATH_OP)) { | 527 | AML_INT_NAMEPATH_OP)) { |
528 | |||
524 | /* Enter name into namespace if not found */ | 529 | /* Enter name into namespace if not found */ |
525 | 530 | ||
526 | interpreter_mode = ACPI_IMODE_LOAD_PASS2; | 531 | interpreter_mode = ACPI_IMODE_LOAD_PASS2; |
@@ -572,7 +577,7 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state, | |||
572 | 577 | ||
573 | /* Free the namestring created above */ | 578 | /* Free the namestring created above */ |
574 | 579 | ||
575 | ACPI_MEM_FREE(name_string); | 580 | ACPI_FREE(name_string); |
576 | 581 | ||
577 | /* Check status from the lookup */ | 582 | /* Check status from the lookup */ |
578 | 583 | ||
@@ -696,7 +701,7 @@ acpi_ds_create_operands(struct acpi_walk_state *walk_state, | |||
696 | union acpi_parse_object *arg; | 701 | union acpi_parse_object *arg; |
697 | u32 arg_count = 0; | 702 | u32 arg_count = 0; |
698 | 703 | ||
699 | ACPI_FUNCTION_TRACE_PTR("ds_create_operands", first_arg); | 704 | ACPI_FUNCTION_TRACE_PTR(ds_create_operands, first_arg); |
700 | 705 | ||
701 | /* For all arguments in the list... */ | 706 | /* For all arguments in the list... */ |
702 | 707 | ||