aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/executer/exoparg1.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2006-06-08 16:29:00 -0400
committerLen Brown <len.brown@intel.com>2006-06-14 02:45:47 -0400
commit4c90ece249992c7a2e3fc921e5cdb8eb92193067 (patch)
treee145ffe472802ef870ba1eaea150b688c19e45ca /drivers/acpi/executer/exoparg1.c
parent4119532c95547821dbe72d6916dfa1b2148475b3 (diff)
ACPI: ACPICA 20060608
Converted the locking mutex used for the ACPI hardware to a spinlock. This change should eliminate all problems caused by attempting to acquire a semaphore at interrupt level, and it means that all ACPICA external interfaces that directly access the ACPI hardware can be safely called from interrupt level. Fixed a regression introduced in 20060526 where the ACPI device initialization could be prematurely aborted with an AE_NOT_FOUND if a device did not have an optional _INI method. Fixed an IndexField issue where a write to the Data Register should be limited in size to the AccessSize (width) of the IndexField itself. (BZ 433, Fiodor Suietov) Fixed problem reports (Valery Podrezov) integrated: - Allow store of ThermalZone objects to Debug object. http://bugzilla.kernel.org/show_bug.cgi?id=5369 http://bugzilla.kernel.org/show_bug.cgi?id=5370 Fixed problem reports (Fiodor Suietov) integrated: - acpi_get_table_header() doesn't handle multiple instances correctly (BZ 364) Removed four global mutexes that were obsolete and were no longer being used. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/executer/exoparg1.c')
-rw-r--r--drivers/acpi/executer/exoparg1.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/acpi/executer/exoparg1.c b/drivers/acpi/executer/exoparg1.c
index 8284c52875be..6374d8be88e0 100644
--- a/drivers/acpi/executer/exoparg1.c
+++ b/drivers/acpi/executer/exoparg1.c
@@ -322,8 +322,9 @@ acpi_status acpi_ex_opcode_1A_1T_1R(struct acpi_walk_state *walk_state)
322 322
323 /* Since the bit position is one-based, subtract from 33 (65) */ 323 /* Since the bit position is one-based, subtract from 33 (65) */
324 324
325 return_desc->integer.value = temp32 == 0 ? 0 : 325 return_desc->integer.value =
326 (ACPI_INTEGER_BIT_SIZE + 1) - temp32; 326 temp32 ==
327 0 ? 0 : (ACPI_INTEGER_BIT_SIZE + 1) - temp32;
327 break; 328 break;
328 329
329 case AML_FROM_BCD_OP: /* from_bcd (BCDValue, Result) */ 330 case AML_FROM_BCD_OP: /* from_bcd (BCDValue, Result) */
@@ -698,6 +699,7 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
698 if (ACPI_FAILURE(status)) { 699 if (ACPI_FAILURE(status)) {
699 goto cleanup; 700 goto cleanup;
700 } 701 }
702
701 /* Allocate a descriptor to hold the type. */ 703 /* Allocate a descriptor to hold the type. */
702 704
703 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 705 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER);
@@ -967,7 +969,6 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
967 acpi_ut_add_reference 969 acpi_ut_add_reference
968 (return_desc); 970 (return_desc);
969 } 971 }
970
971 break; 972 break;
972 973
973 default: 974 default:
@@ -987,7 +988,6 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
987 988
988 if (ACPI_GET_DESCRIPTOR_TYPE(return_desc) == 989 if (ACPI_GET_DESCRIPTOR_TYPE(return_desc) ==
989 ACPI_DESC_TYPE_NAMED) { 990 ACPI_DESC_TYPE_NAMED) {
990
991 return_desc = 991 return_desc =
992 acpi_ns_get_attached_object((struct 992 acpi_ns_get_attached_object((struct
993 acpi_namespace_node 993 acpi_namespace_node
@@ -1002,7 +1002,7 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
1002 1002
1003 default: 1003 default:
1004 ACPI_ERROR((AE_INFO, 1004 ACPI_ERROR((AE_INFO,
1005 "Unknown opcode in ref(%p) - %X", 1005 "Unknown opcode in reference(%p) - %X",
1006 operand[0], 1006 operand[0],
1007 operand[0]->reference.opcode)); 1007 operand[0]->reference.opcode));
1008 1008