aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/namespace/nseval.c
diff options
context:
space:
mode:
authorRobert Moore <robert.moore@intel.com>2005-07-29 18:15:00 -0400
committerLen Brown <len.brown@intel.com>2005-07-30 00:51:39 -0400
commit0c9938cc75057c0fca1af55a55dcfc2842436695 (patch)
treed18e809bf9e3811f20c609b6515d4d1b8520cfbc /drivers/acpi/namespace/nseval.c
parentdd8f39bbf5154cdbfd698fc70c66faba33eafa44 (diff)
[ACPI] ACPICA 20050729 from Bob Moore
Implemented support to ignore an attempt to install/load a particular ACPI table more than once. Apparently there exists BIOS code that repeatedly attempts to load the same SSDT upon certain events. Thanks to Venkatesh Pallipadi. Restructured the main interface to the AML parser in order to correctly handle all exceptional conditions. This will prevent leakage of the OwnerId resource and should eliminate the AE_OWNER_ID_LIMIT exceptions seen on some machines. Thanks to Alexey Starikovskiy. Support for "module level code" has been disabled in this version due to a number of issues that have appeared on various machines. The support can be enabled by defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem compilation. When the issues are fully resolved, the code will be enabled by default again. Modified the internal functions for debug print support to define the FunctionName parameter as a (const char *) for compatibility with compiler built-in macros such as __FUNCTION__, etc. Linted the entire ACPICA source tree for both 32-bit and 64-bit. Signed-off-by: Robert Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/namespace/nseval.c')
-rw-r--r--drivers/acpi/namespace/nseval.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/acpi/namespace/nseval.c b/drivers/acpi/namespace/nseval.c
index 1ae89a1c8826..908cffd5e720 100644
--- a/drivers/acpi/namespace/nseval.c
+++ b/drivers/acpi/namespace/nseval.c
@@ -365,6 +365,7 @@ acpi_ns_evaluate_by_handle (
365 * 365 *
366 * PARAMETERS: Info - Method info block, contains: 366 * PARAMETERS: Info - Method info block, contains:
367 * Node - Method Node to execute 367 * Node - Method Node to execute
368 * obj_desc - Method object
368 * Parameters - List of parameters to pass to the method, 369 * Parameters - List of parameters to pass to the method,
369 * terminated by NULL. Params itself may be 370 * terminated by NULL. Params itself may be
370 * NULL if no parameters are being passed. 371 * NULL if no parameters are being passed.
@@ -387,7 +388,6 @@ acpi_ns_execute_control_method (
387 struct acpi_parameter_info *info) 388 struct acpi_parameter_info *info)
388{ 389{
389 acpi_status status; 390 acpi_status status;
390 union acpi_operand_object *obj_desc;
391 391
392 392
393 ACPI_FUNCTION_TRACE ("ns_execute_control_method"); 393 ACPI_FUNCTION_TRACE ("ns_execute_control_method");
@@ -395,8 +395,8 @@ acpi_ns_execute_control_method (
395 395
396 /* Verify that there is a method associated with this object */ 396 /* Verify that there is a method associated with this object */
397 397
398 obj_desc = acpi_ns_get_attached_object (info->node); 398 info->obj_desc = acpi_ns_get_attached_object (info->node);
399 if (!obj_desc) { 399 if (!info->obj_desc) {
400 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No attached method object\n")); 400 ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No attached method object\n"));
401 401
402 (void) acpi_ut_release_mutex (ACPI_MTX_NAMESPACE); 402 (void) acpi_ut_release_mutex (ACPI_MTX_NAMESPACE);
@@ -407,7 +407,7 @@ acpi_ns_execute_control_method (
407 ACPI_LV_INFO, _COMPONENT); 407 ACPI_LV_INFO, _COMPONENT);
408 408
409 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Method at AML address %p Length %X\n", 409 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Method at AML address %p Length %X\n",
410 obj_desc->method.aml_start + 1, obj_desc->method.aml_length - 1)); 410 info->obj_desc->method.aml_start + 1, info->obj_desc->method.aml_length - 1));
411 411
412 /* 412 /*
413 * Unlock the namespace before execution. This allows namespace access 413 * Unlock the namespace before execution. This allows namespace access
@@ -430,7 +430,7 @@ acpi_ns_execute_control_method (
430 return_ACPI_STATUS (status); 430 return_ACPI_STATUS (status);
431 } 431 }
432 432
433 status = acpi_psx_execute (info); 433 status = acpi_ps_execute_method (info);
434 acpi_ex_exit_interpreter (); 434 acpi_ex_exit_interpreter ();
435 435
436 return_ACPI_STATUS (status); 436 return_ACPI_STATUS (status);