diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-24 08:41:41 -0400 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-24 13:07:53 -0400 |
| commit | 816724e65c72a90a44fbad0ef0b59b186c85fa90 (patch) | |
| tree | 421fa29aedff988e392f92780637553e275d37a0 /drivers/acpi/dispatcher/dswstate.c | |
| parent | 70ac4385a13f78bc478f26d317511893741b05bd (diff) | |
| parent | d384ea691fe4ea8c2dd5b9b8d9042eb181776f18 (diff) | |
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Conflicts:
fs/nfs/inode.c
fs/super.c
Fix conflicts between patch 'NFS: Split fs/nfs/inode.c' and patch
'VFS: Permit filesystem to override root dentry on mount'
Diffstat (limited to 'drivers/acpi/dispatcher/dswstate.c')
| -rw-r--r-- | drivers/acpi/dispatcher/dswstate.c | 72 |
1 files changed, 39 insertions, 33 deletions
diff --git a/drivers/acpi/dispatcher/dswstate.c b/drivers/acpi/dispatcher/dswstate.c index fa78cb74ee36..7817e5522679 100644 --- a/drivers/acpi/dispatcher/dswstate.c +++ b/drivers/acpi/dispatcher/dswstate.c | |||
| @@ -66,7 +66,6 @@ void *acpi_ds_obj_stack_get_value(u32 index, | |||
| 66 | #endif | 66 | #endif |
| 67 | 67 | ||
| 68 | #ifdef ACPI_FUTURE_USAGE | 68 | #ifdef ACPI_FUTURE_USAGE |
| 69 | |||
| 70 | /******************************************************************************* | 69 | /******************************************************************************* |
| 71 | * | 70 | * |
| 72 | * FUNCTION: acpi_ds_result_remove | 71 | * FUNCTION: acpi_ds_result_remove |
| @@ -88,7 +87,7 @@ acpi_ds_result_remove(union acpi_operand_object **object, | |||
| 88 | { | 87 | { |
| 89 | union acpi_generic_state *state; | 88 | union acpi_generic_state *state; |
| 90 | 89 | ||
| 91 | ACPI_FUNCTION_NAME("ds_result_remove"); | 90 | ACPI_FUNCTION_NAME(ds_result_remove); |
| 92 | 91 | ||
| 93 | state = walk_state->results; | 92 | state = walk_state->results; |
| 94 | if (!state) { | 93 | if (!state) { |
| @@ -128,7 +127,6 @@ acpi_ds_result_remove(union acpi_operand_object **object, | |||
| 128 | 127 | ||
| 129 | return (AE_OK); | 128 | return (AE_OK); |
| 130 | } | 129 | } |
| 131 | |||
| 132 | #endif /* ACPI_FUTURE_USAGE */ | 130 | #endif /* ACPI_FUTURE_USAGE */ |
| 133 | 131 | ||
| 134 | /******************************************************************************* | 132 | /******************************************************************************* |
| @@ -152,7 +150,7 @@ acpi_ds_result_pop(union acpi_operand_object ** object, | |||
| 152 | acpi_native_uint index; | 150 | acpi_native_uint index; |
| 153 | union acpi_generic_state *state; | 151 | union acpi_generic_state *state; |
| 154 | 152 | ||
| 155 | ACPI_FUNCTION_NAME("ds_result_pop"); | 153 | ACPI_FUNCTION_NAME(ds_result_pop); |
| 156 | 154 | ||
| 157 | state = walk_state->results; | 155 | state = walk_state->results; |
| 158 | if (!state) { | 156 | if (!state) { |
| @@ -170,6 +168,7 @@ acpi_ds_result_pop(union acpi_operand_object ** object, | |||
| 170 | state->results.num_results--; | 168 | state->results.num_results--; |
| 171 | 169 | ||
| 172 | for (index = ACPI_OBJ_NUM_OPERANDS; index; index--) { | 170 | for (index = ACPI_OBJ_NUM_OPERANDS; index; index--) { |
| 171 | |||
| 173 | /* Check for a valid result object */ | 172 | /* Check for a valid result object */ |
| 174 | 173 | ||
| 175 | if (state->results.obj_desc[index - 1]) { | 174 | if (state->results.obj_desc[index - 1]) { |
| @@ -213,7 +212,7 @@ acpi_ds_result_pop_from_bottom(union acpi_operand_object ** object, | |||
| 213 | acpi_native_uint index; | 212 | acpi_native_uint index; |
| 214 | union acpi_generic_state *state; | 213 | union acpi_generic_state *state; |
| 215 | 214 | ||
| 216 | ACPI_FUNCTION_NAME("ds_result_pop_from_bottom"); | 215 | ACPI_FUNCTION_NAME(ds_result_pop_from_bottom); |
| 217 | 216 | ||
| 218 | state = walk_state->results; | 217 | state = walk_state->results; |
| 219 | if (!state) { | 218 | if (!state) { |
| @@ -278,7 +277,7 @@ acpi_ds_result_push(union acpi_operand_object * object, | |||
| 278 | { | 277 | { |
| 279 | union acpi_generic_state *state; | 278 | union acpi_generic_state *state; |
| 280 | 279 | ||
| 281 | ACPI_FUNCTION_NAME("ds_result_push"); | 280 | ACPI_FUNCTION_NAME(ds_result_push); |
| 282 | 281 | ||
| 283 | state = walk_state->results; | 282 | state = walk_state->results; |
| 284 | if (!state) { | 283 | if (!state) { |
| @@ -331,14 +330,14 @@ acpi_status acpi_ds_result_stack_push(struct acpi_walk_state * walk_state) | |||
| 331 | { | 330 | { |
| 332 | union acpi_generic_state *state; | 331 | union acpi_generic_state *state; |
| 333 | 332 | ||
| 334 | ACPI_FUNCTION_NAME("ds_result_stack_push"); | 333 | ACPI_FUNCTION_NAME(ds_result_stack_push); |
| 335 | 334 | ||
| 336 | state = acpi_ut_create_generic_state(); | 335 | state = acpi_ut_create_generic_state(); |
| 337 | if (!state) { | 336 | if (!state) { |
| 338 | return (AE_NO_MEMORY); | 337 | return (AE_NO_MEMORY); |
| 339 | } | 338 | } |
| 340 | 339 | ||
| 341 | state->common.data_type = ACPI_DESC_TYPE_STATE_RESULT; | 340 | state->common.descriptor_type = ACPI_DESC_TYPE_STATE_RESULT; |
| 342 | acpi_ut_push_generic_state(&walk_state->results, state); | 341 | acpi_ut_push_generic_state(&walk_state->results, state); |
| 343 | 342 | ||
| 344 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Results=%p State=%p\n", | 343 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Results=%p State=%p\n", |
| @@ -363,7 +362,7 @@ acpi_status acpi_ds_result_stack_pop(struct acpi_walk_state * walk_state) | |||
| 363 | { | 362 | { |
| 364 | union acpi_generic_state *state; | 363 | union acpi_generic_state *state; |
| 365 | 364 | ||
| 366 | ACPI_FUNCTION_NAME("ds_result_stack_pop"); | 365 | ACPI_FUNCTION_NAME(ds_result_stack_pop); |
| 367 | 366 | ||
| 368 | /* Check for stack underflow */ | 367 | /* Check for stack underflow */ |
| 369 | 368 | ||
| @@ -376,7 +375,7 @@ acpi_status acpi_ds_result_stack_pop(struct acpi_walk_state * walk_state) | |||
| 376 | state = acpi_ut_pop_generic_state(&walk_state->results); | 375 | state = acpi_ut_pop_generic_state(&walk_state->results); |
| 377 | 376 | ||
| 378 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, | 377 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, |
| 379 | "Result=%p remaining_results=%X State=%p\n", | 378 | "Result=%p RemainingResults=%X State=%p\n", |
| 380 | state, state->results.num_results, walk_state)); | 379 | state, state->results.num_results, walk_state)); |
| 381 | 380 | ||
| 382 | acpi_ut_delete_generic_state(state); | 381 | acpi_ut_delete_generic_state(state); |
| @@ -400,7 +399,7 @@ acpi_status acpi_ds_result_stack_pop(struct acpi_walk_state * walk_state) | |||
| 400 | acpi_status | 399 | acpi_status |
| 401 | acpi_ds_obj_stack_push(void *object, struct acpi_walk_state * walk_state) | 400 | acpi_ds_obj_stack_push(void *object, struct acpi_walk_state * walk_state) |
| 402 | { | 401 | { |
| 403 | ACPI_FUNCTION_NAME("ds_obj_stack_push"); | 402 | ACPI_FUNCTION_NAME(ds_obj_stack_push); |
| 404 | 403 | ||
| 405 | /* Check for stack overflow */ | 404 | /* Check for stack overflow */ |
| 406 | 405 | ||
| @@ -445,9 +444,10 @@ acpi_ds_obj_stack_pop(u32 pop_count, struct acpi_walk_state * walk_state) | |||
| 445 | { | 444 | { |
| 446 | u32 i; | 445 | u32 i; |
| 447 | 446 | ||
| 448 | ACPI_FUNCTION_NAME("ds_obj_stack_pop"); | 447 | ACPI_FUNCTION_NAME(ds_obj_stack_pop); |
| 449 | 448 | ||
| 450 | for (i = 0; i < pop_count; i++) { | 449 | for (i = 0; i < pop_count; i++) { |
| 450 | |||
| 451 | /* Check for stack underflow */ | 451 | /* Check for stack underflow */ |
| 452 | 452 | ||
| 453 | if (walk_state->num_operands == 0) { | 453 | if (walk_state->num_operands == 0) { |
| @@ -491,9 +491,10 @@ acpi_ds_obj_stack_pop_and_delete(u32 pop_count, | |||
| 491 | u32 i; | 491 | u32 i; |
| 492 | union acpi_operand_object *obj_desc; | 492 | union acpi_operand_object *obj_desc; |
| 493 | 493 | ||
| 494 | ACPI_FUNCTION_NAME("ds_obj_stack_pop_and_delete"); | 494 | ACPI_FUNCTION_NAME(ds_obj_stack_pop_and_delete); |
| 495 | 495 | ||
| 496 | for (i = 0; i < pop_count; i++) { | 496 | for (i = 0; i < pop_count; i++) { |
| 497 | |||
| 497 | /* Check for stack underflow */ | 498 | /* Check for stack underflow */ |
| 498 | 499 | ||
| 499 | if (walk_state->num_operands == 0) { | 500 | if (walk_state->num_operands == 0) { |
| @@ -538,13 +539,13 @@ acpi_ds_obj_stack_pop_and_delete(u32 pop_count, | |||
| 538 | struct acpi_walk_state *acpi_ds_get_current_walk_state(struct acpi_thread_state | 539 | struct acpi_walk_state *acpi_ds_get_current_walk_state(struct acpi_thread_state |
| 539 | *thread) | 540 | *thread) |
| 540 | { | 541 | { |
| 541 | ACPI_FUNCTION_NAME("ds_get_current_walk_state"); | 542 | ACPI_FUNCTION_NAME(ds_get_current_walk_state); |
| 542 | 543 | ||
| 543 | if (!thread) { | 544 | if (!thread) { |
| 544 | return (NULL); | 545 | return (NULL); |
| 545 | } | 546 | } |
| 546 | 547 | ||
| 547 | ACPI_DEBUG_PRINT((ACPI_DB_PARSE, "Current walk_state %p\n", | 548 | ACPI_DEBUG_PRINT((ACPI_DB_PARSE, "Current WalkState %p\n", |
| 548 | thread->walk_state_list)); | 549 | thread->walk_state_list)); |
| 549 | 550 | ||
| 550 | return (thread->walk_state_list); | 551 | return (thread->walk_state_list); |
| @@ -567,7 +568,7 @@ void | |||
| 567 | acpi_ds_push_walk_state(struct acpi_walk_state *walk_state, | 568 | acpi_ds_push_walk_state(struct acpi_walk_state *walk_state, |
| 568 | struct acpi_thread_state *thread) | 569 | struct acpi_thread_state *thread) |
| 569 | { | 570 | { |
| 570 | ACPI_FUNCTION_TRACE("ds_push_walk_state"); | 571 | ACPI_FUNCTION_TRACE(ds_push_walk_state); |
| 571 | 572 | ||
| 572 | walk_state->next = thread->walk_state_list; | 573 | walk_state->next = thread->walk_state_list; |
| 573 | thread->walk_state_list = walk_state; | 574 | thread->walk_state_list = walk_state; |
| @@ -593,11 +594,12 @@ struct acpi_walk_state *acpi_ds_pop_walk_state(struct acpi_thread_state *thread) | |||
| 593 | { | 594 | { |
| 594 | struct acpi_walk_state *walk_state; | 595 | struct acpi_walk_state *walk_state; |
| 595 | 596 | ||
| 596 | ACPI_FUNCTION_TRACE("ds_pop_walk_state"); | 597 | ACPI_FUNCTION_TRACE(ds_pop_walk_state); |
| 597 | 598 | ||
| 598 | walk_state = thread->walk_state_list; | 599 | walk_state = thread->walk_state_list; |
| 599 | 600 | ||
| 600 | if (walk_state) { | 601 | if (walk_state) { |
| 602 | |||
| 601 | /* Next walk state becomes the current walk state */ | 603 | /* Next walk state becomes the current walk state */ |
| 602 | 604 | ||
| 603 | thread->walk_state_list = walk_state->next; | 605 | thread->walk_state_list = walk_state->next; |
| @@ -618,7 +620,7 @@ struct acpi_walk_state *acpi_ds_pop_walk_state(struct acpi_thread_state *thread) | |||
| 618 | * | 620 | * |
| 619 | * PARAMETERS: owner_id - ID for object creation | 621 | * PARAMETERS: owner_id - ID for object creation |
| 620 | * Origin - Starting point for this walk | 622 | * Origin - Starting point for this walk |
| 621 | * mth_desc - Method object | 623 | * method_desc - Method object |
| 622 | * Thread - Current thread state | 624 | * Thread - Current thread state |
| 623 | * | 625 | * |
| 624 | * RETURN: Pointer to the new walk state. | 626 | * RETURN: Pointer to the new walk state. |
| @@ -632,24 +634,24 @@ struct acpi_walk_state *acpi_ds_create_walk_state(acpi_owner_id owner_id, | |||
| 632 | union acpi_parse_object | 634 | union acpi_parse_object |
| 633 | *origin, | 635 | *origin, |
| 634 | union acpi_operand_object | 636 | union acpi_operand_object |
| 635 | *mth_desc, | 637 | *method_desc, |
| 636 | struct acpi_thread_state | 638 | struct acpi_thread_state |
| 637 | *thread) | 639 | *thread) |
| 638 | { | 640 | { |
| 639 | struct acpi_walk_state *walk_state; | 641 | struct acpi_walk_state *walk_state; |
| 640 | acpi_status status; | 642 | acpi_status status; |
| 641 | 643 | ||
| 642 | ACPI_FUNCTION_TRACE("ds_create_walk_state"); | 644 | ACPI_FUNCTION_TRACE(ds_create_walk_state); |
| 643 | 645 | ||
| 644 | walk_state = ACPI_MEM_CALLOCATE(sizeof(struct acpi_walk_state)); | 646 | walk_state = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_walk_state)); |
| 645 | if (!walk_state) { | 647 | if (!walk_state) { |
| 646 | return_PTR(NULL); | 648 | return_PTR(NULL); |
| 647 | } | 649 | } |
| 648 | 650 | ||
| 649 | walk_state->data_type = ACPI_DESC_TYPE_WALK; | 651 | walk_state->descriptor_type = ACPI_DESC_TYPE_WALK; |
| 652 | walk_state->method_desc = method_desc; | ||
| 650 | walk_state->owner_id = owner_id; | 653 | walk_state->owner_id = owner_id; |
| 651 | walk_state->origin = origin; | 654 | walk_state->origin = origin; |
| 652 | walk_state->method_desc = mth_desc; | ||
| 653 | walk_state->thread = thread; | 655 | walk_state->thread = thread; |
| 654 | 656 | ||
| 655 | walk_state->parser_state.start_op = origin; | 657 | walk_state->parser_state.start_op = origin; |
| @@ -664,7 +666,7 @@ struct acpi_walk_state *acpi_ds_create_walk_state(acpi_owner_id owner_id, | |||
| 664 | 666 | ||
| 665 | status = acpi_ds_result_stack_push(walk_state); | 667 | status = acpi_ds_result_stack_push(walk_state); |
| 666 | if (ACPI_FAILURE(status)) { | 668 | if (ACPI_FAILURE(status)) { |
| 667 | ACPI_MEM_FREE(walk_state); | 669 | ACPI_FREE(walk_state); |
| 668 | return_PTR(NULL); | 670 | return_PTR(NULL); |
| 669 | } | 671 | } |
| 670 | 672 | ||
| @@ -701,13 +703,13 @@ acpi_ds_init_aml_walk(struct acpi_walk_state *walk_state, | |||
| 701 | struct acpi_namespace_node *method_node, | 703 | struct acpi_namespace_node *method_node, |
| 702 | u8 * aml_start, | 704 | u8 * aml_start, |
| 703 | u32 aml_length, | 705 | u32 aml_length, |
| 704 | struct acpi_parameter_info *info, u8 pass_number) | 706 | struct acpi_evaluate_info *info, u8 pass_number) |
| 705 | { | 707 | { |
| 706 | acpi_status status; | 708 | acpi_status status; |
| 707 | struct acpi_parse_state *parser_state = &walk_state->parser_state; | 709 | struct acpi_parse_state *parser_state = &walk_state->parser_state; |
| 708 | union acpi_parse_object *extra_op; | 710 | union acpi_parse_object *extra_op; |
| 709 | 711 | ||
| 710 | ACPI_FUNCTION_TRACE("ds_init_aml_walk"); | 712 | ACPI_FUNCTION_TRACE(ds_init_aml_walk); |
| 711 | 713 | ||
| 712 | walk_state->parser_state.aml = | 714 | walk_state->parser_state.aml = |
| 713 | walk_state->parser_state.aml_start = aml_start; | 715 | walk_state->parser_state.aml_start = aml_start; |
| @@ -778,6 +780,7 @@ acpi_ds_init_aml_walk(struct acpi_walk_state *walk_state, | |||
| 778 | } | 780 | } |
| 779 | 781 | ||
| 780 | if (parser_state->start_node) { | 782 | if (parser_state->start_node) { |
| 783 | |||
| 781 | /* Push start scope on scope stack and make it current */ | 784 | /* Push start scope on scope stack and make it current */ |
| 782 | 785 | ||
| 783 | status = | 786 | status = |
| @@ -810,21 +813,24 @@ void acpi_ds_delete_walk_state(struct acpi_walk_state *walk_state) | |||
| 810 | { | 813 | { |
| 811 | union acpi_generic_state *state; | 814 | union acpi_generic_state *state; |
| 812 | 815 | ||
| 813 | ACPI_FUNCTION_TRACE_PTR("ds_delete_walk_state", walk_state); | 816 | ACPI_FUNCTION_TRACE_PTR(ds_delete_walk_state, walk_state); |
| 814 | 817 | ||
| 815 | if (!walk_state) { | 818 | if (!walk_state) { |
| 816 | return; | 819 | return; |
| 817 | } | 820 | } |
| 818 | 821 | ||
| 819 | if (walk_state->data_type != ACPI_DESC_TYPE_WALK) { | 822 | if (walk_state->descriptor_type != ACPI_DESC_TYPE_WALK) { |
| 820 | ACPI_ERROR((AE_INFO, "%p is not a valid walk state", | 823 | ACPI_ERROR((AE_INFO, "%p is not a valid walk state", |
| 821 | walk_state)); | 824 | walk_state)); |
| 822 | return; | 825 | return; |
| 823 | } | 826 | } |
| 824 | 827 | ||
| 828 | /* There should not be any open scopes */ | ||
| 829 | |||
| 825 | if (walk_state->parser_state.scope) { | 830 | if (walk_state->parser_state.scope) { |
| 826 | ACPI_ERROR((AE_INFO, "%p walk still has a scope list", | 831 | ACPI_ERROR((AE_INFO, "%p walk still has a scope list", |
| 827 | walk_state)); | 832 | walk_state)); |
| 833 | acpi_ps_cleanup_scope(&walk_state->parser_state); | ||
| 828 | } | 834 | } |
| 829 | 835 | ||
| 830 | /* Always must free any linked control states */ | 836 | /* Always must free any linked control states */ |
| @@ -854,7 +860,7 @@ void acpi_ds_delete_walk_state(struct acpi_walk_state *walk_state) | |||
| 854 | acpi_ut_delete_generic_state(state); | 860 | acpi_ut_delete_generic_state(state); |
| 855 | } | 861 | } |
| 856 | 862 | ||
| 857 | ACPI_MEM_FREE(walk_state); | 863 | ACPI_FREE(walk_state); |
| 858 | return_VOID; | 864 | return_VOID; |
| 859 | } | 865 | } |
| 860 | 866 | ||
| @@ -879,7 +885,7 @@ acpi_ds_result_insert(void *object, | |||
| 879 | { | 885 | { |
| 880 | union acpi_generic_state *state; | 886 | union acpi_generic_state *state; |
| 881 | 887 | ||
| 882 | ACPI_FUNCTION_NAME("ds_result_insert"); | 888 | ACPI_FUNCTION_NAME(ds_result_insert); |
| 883 | 889 | ||
| 884 | state = walk_state->results; | 890 | state = walk_state->results; |
| 885 | if (!state) { | 891 | if (!state) { |
| @@ -937,7 +943,7 @@ acpi_status acpi_ds_obj_stack_delete_all(struct acpi_walk_state * walk_state) | |||
| 937 | { | 943 | { |
| 938 | u32 i; | 944 | u32 i; |
| 939 | 945 | ||
| 940 | ACPI_FUNCTION_TRACE_PTR("ds_obj_stack_delete_all", walk_state); | 946 | ACPI_FUNCTION_TRACE_PTR(ds_obj_stack_delete_all, walk_state); |
| 941 | 947 | ||
| 942 | /* The stack size is configurable, but fixed */ | 948 | /* The stack size is configurable, but fixed */ |
| 943 | 949 | ||
| @@ -969,7 +975,7 @@ acpi_status | |||
| 969 | acpi_ds_obj_stack_pop_object(union acpi_operand_object **object, | 975 | acpi_ds_obj_stack_pop_object(union acpi_operand_object **object, |
| 970 | struct acpi_walk_state *walk_state) | 976 | struct acpi_walk_state *walk_state) |
| 971 | { | 977 | { |
| 972 | ACPI_FUNCTION_NAME("ds_obj_stack_pop_object"); | 978 | ACPI_FUNCTION_NAME(ds_obj_stack_pop_object); |
| 973 | 979 | ||
| 974 | /* Check for stack underflow */ | 980 | /* Check for stack underflow */ |
| 975 | 981 | ||
| @@ -1025,7 +1031,7 @@ acpi_ds_obj_stack_pop_object(union acpi_operand_object **object, | |||
| 1025 | void *acpi_ds_obj_stack_get_value(u32 index, struct acpi_walk_state *walk_state) | 1031 | void *acpi_ds_obj_stack_get_value(u32 index, struct acpi_walk_state *walk_state) |
| 1026 | { | 1032 | { |
| 1027 | 1033 | ||
| 1028 | ACPI_FUNCTION_TRACE_PTR("ds_obj_stack_get_value", walk_state); | 1034 | ACPI_FUNCTION_TRACE_PTR(ds_obj_stack_get_value, walk_state); |
| 1029 | 1035 | ||
| 1030 | /* Can't do it if the stack is empty */ | 1036 | /* Can't do it if the stack is empty */ |
| 1031 | 1037 | ||
