diff options
author | Bob Moore <robert.moore@intel.com> | 2005-12-16 17:05:00 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-12-28 02:54:59 -0500 |
commit | defba1d8f233c0d5cf3e1ea6aeb898eca7231860 (patch) | |
tree | cd8b1b84da8d8a52ad0d44107daaeeee0a0b65f4 /drivers/acpi/utilities/uteval.c | |
parent | cb654695f6b912cef7cb3271665b6ee0d416124c (diff) |
[ACPI] ACPICA 20051216
Implemented optional support to allow unresolved names
within ASL Package objects. A null object is inserted in
the package when a named reference cannot be located in
the current namespace. Enabled via the interpreter slack
flag which Linux has enabled by default (acpi=strict
to disable slack). This should eliminate AE_NOT_FOUND
exceptions seen on machines that contain such code.
Implemented an optimization to the initialization
sequence that can improve boot time. During ACPI device
initialization, the _STA method is now run if and only
if the _INI method exists. The _STA method is used to
determine if the device is present; An _INI can only be
run if _STA returns present, but it is a waste of time to
run the _STA method if the _INI does not exist. (Prototype
and assistance from Dong Wei)
Implemented use of the C99 uintptr_t for the pointer
casting macros if it is available in the current
compiler. Otherwise, the default (void *) cast is used
as before.
Fixed some possible memory leaks found within the
execution path of the Break, Continue, If, and CreateField
operators. (Valery Podrezov)
Fixed a problem introduced in the 20051202 release where
an exception is generated during method execution if a
control method attempts to declare another method.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/utilities/uteval.c')
-rw-r--r-- | drivers/acpi/utilities/uteval.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/drivers/acpi/utilities/uteval.c b/drivers/acpi/utilities/uteval.c index 7b81d5ef3c32..cd63a2d93fe3 100644 --- a/drivers/acpi/utilities/uteval.c +++ b/drivers/acpi/utilities/uteval.c | |||
@@ -95,7 +95,9 @@ acpi_status acpi_ut_osi_implementation(struct acpi_walk_state *walk_state) | |||
95 | 95 | ||
96 | for (i = 0; i < ACPI_NUM_OSI_STRINGS; i++) { | 96 | for (i = 0; i < ACPI_NUM_OSI_STRINGS; i++) { |
97 | if (!ACPI_STRCMP(string_desc->string.pointer, | 97 | if (!ACPI_STRCMP(string_desc->string.pointer, |
98 | (char *)acpi_gbl_valid_osi_strings[i])) { | 98 | ACPI_CAST_PTR(char, |
99 | acpi_gbl_valid_osi_strings[i]))) | ||
100 | { | ||
99 | /* This string is supported */ | 101 | /* This string is supported */ |
100 | 102 | ||
101 | return_desc->integer.value = 0xFFFFFFFF; | 103 | return_desc->integer.value = 0xFFFFFFFF; |
@@ -592,7 +594,7 @@ acpi_ut_execute_STA(struct acpi_namespace_node *device_node, u32 * flags) | |||
592 | "_STA on %4.4s was not found, assuming device is present\n", | 594 | "_STA on %4.4s was not found, assuming device is present\n", |
593 | acpi_ut_get_node_name(device_node))); | 595 | acpi_ut_get_node_name(device_node))); |
594 | 596 | ||
595 | *flags = 0x0F; | 597 | *flags = ACPI_UINT32_MAX; |
596 | status = AE_OK; | 598 | status = AE_OK; |
597 | } | 599 | } |
598 | 600 | ||
@@ -637,17 +639,17 @@ acpi_ut_execute_sxds(struct acpi_namespace_node *device_node, u8 * highest) | |||
637 | for (i = 0; i < 4; i++) { | 639 | for (i = 0; i < 4; i++) { |
638 | highest[i] = 0xFF; | 640 | highest[i] = 0xFF; |
639 | status = acpi_ut_evaluate_object(device_node, | 641 | status = acpi_ut_evaluate_object(device_node, |
640 | (char *) | 642 | ACPI_CAST_PTR(char, |
641 | acpi_gbl_highest_dstate_names | 643 | acpi_gbl_highest_dstate_names |
642 | [i], ACPI_BTYPE_INTEGER, | 644 | [i]), |
643 | &obj_desc); | 645 | ACPI_BTYPE_INTEGER, &obj_desc); |
644 | if (ACPI_FAILURE(status)) { | 646 | if (ACPI_FAILURE(status)) { |
645 | if (status != AE_NOT_FOUND) { | 647 | if (status != AE_NOT_FOUND) { |
646 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, | 648 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, |
647 | "%s on Device %4.4s, %s\n", | 649 | "%s on Device %4.4s, %s\n", |
648 | (char *) | 650 | ACPI_CAST_PTR(char, |
649 | acpi_gbl_highest_dstate_names | 651 | acpi_gbl_highest_dstate_names |
650 | [i], | 652 | [i]), |
651 | acpi_ut_get_node_name | 653 | acpi_ut_get_node_name |
652 | (device_node), | 654 | (device_node), |
653 | acpi_format_exception | 655 | acpi_format_exception |