diff options
author | Bob Moore <robert.moore@intel.com> | 2009-12-11 02:23:22 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-12-15 17:29:36 -0500 |
commit | 3a58176e4fa47d8232e04131b023f3f2ecd7084b (patch) | |
tree | ee064fd4d8bcc7ba16926241262cec6b74caec03 | |
parent | ea7c5ec148044776d5e134e52a3e1aca8d662dbe (diff) |
ACPICA: Remove messages if predefined repair(s) are successful
Repair mechanism was considered too wordy. Now, messages are only
unconditionally emitted if the return object cannot be repaired.
Existing messages for successful repairs were converted to
ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
http://www.acpica.org/bugzilla/show_bug.cgi?id=827
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/acpi/acpica/nspredef.c | 10 | ||||
-rw-r--r-- | drivers/acpi/acpica/nsrepair.c | 32 | ||||
-rw-r--r-- | drivers/acpi/acpica/nsrepair2.c | 21 | ||||
-rw-r--r-- | include/acpi/acoutput.h | 8 |
4 files changed, 41 insertions, 30 deletions
diff --git a/drivers/acpi/acpica/nspredef.c b/drivers/acpi/acpica/nspredef.c index c6297f57fea8..e352467413f5 100644 --- a/drivers/acpi/acpica/nspredef.c +++ b/drivers/acpi/acpica/nspredef.c | |||
@@ -462,11 +462,11 @@ acpi_ns_check_package(struct acpi_predefined_data *data, | |||
462 | if (count < expected_count) { | 462 | if (count < expected_count) { |
463 | goto package_too_small; | 463 | goto package_too_small; |
464 | } else if (count > expected_count) { | 464 | } else if (count > expected_count) { |
465 | ACPI_WARN_PREDEFINED((AE_INFO, data->pathname, | 465 | ACPI_DEBUG_PRINT((ACPI_DB_REPAIR, |
466 | data->node_flags, | 466 | "%s: Return Package is larger than needed - " |
467 | "Return Package is larger than needed - " | 467 | "found %u, expected %u\n", |
468 | "found %u, expected %u", count, | 468 | data->pathname, count, |
469 | expected_count)); | 469 | expected_count)); |
470 | } | 470 | } |
471 | 471 | ||
472 | /* Validate all elements of the returned package */ | 472 | /* Validate all elements of the returned package */ |
diff --git a/drivers/acpi/acpica/nsrepair.c b/drivers/acpi/acpica/nsrepair.c index 062a016d4554..907f60c9c9e5 100644 --- a/drivers/acpi/acpica/nsrepair.c +++ b/drivers/acpi/acpica/nsrepair.c | |||
@@ -118,6 +118,8 @@ acpi_ns_repair_object(struct acpi_predefined_data *data, | |||
118 | union acpi_operand_object *new_object; | 118 | union acpi_operand_object *new_object; |
119 | acpi_status status; | 119 | acpi_status status; |
120 | 120 | ||
121 | ACPI_FUNCTION_NAME(ns_repair_object); | ||
122 | |||
121 | /* | 123 | /* |
122 | * At this point, we know that the type of the returned object was not | 124 | * At this point, we know that the type of the returned object was not |
123 | * one of the expected types for this predefined name. Attempt to | 125 | * one of the expected types for this predefined name. Attempt to |
@@ -171,19 +173,18 @@ acpi_ns_repair_object(struct acpi_predefined_data *data, | |||
171 | return_object->common.reference_count--; | 173 | return_object->common.reference_count--; |
172 | } | 174 | } |
173 | 175 | ||
174 | ACPI_INFO_PREDEFINED((AE_INFO, data->pathname, data->node_flags, | 176 | ACPI_DEBUG_PRINT((ACPI_DB_REPAIR, |
175 | "Converted %s to expected %s at index %u", | 177 | "%s: Converted %s to expected %s at index %u\n", |
176 | acpi_ut_get_object_type_name | 178 | data->pathname, |
177 | (return_object), | 179 | acpi_ut_get_object_type_name(return_object), |
178 | acpi_ut_get_object_type_name(new_object), | 180 | acpi_ut_get_object_type_name(new_object), |
179 | package_index)); | 181 | package_index)); |
180 | } else { | 182 | } else { |
181 | ACPI_INFO_PREDEFINED((AE_INFO, data->pathname, data->node_flags, | 183 | ACPI_DEBUG_PRINT((ACPI_DB_REPAIR, |
182 | "Converted %s to expected %s", | 184 | "%s: Converted %s to expected %s\n", |
183 | acpi_ut_get_object_type_name | 185 | data->pathname, |
184 | (return_object), | 186 | acpi_ut_get_object_type_name(return_object), |
185 | acpi_ut_get_object_type_name | 187 | acpi_ut_get_object_type_name(new_object))); |
186 | (new_object))); | ||
187 | } | 188 | } |
188 | 189 | ||
189 | /* Delete old object, install the new return object */ | 190 | /* Delete old object, install the new return object */ |
@@ -528,6 +529,8 @@ acpi_ns_repair_package_list(struct acpi_predefined_data *data, | |||
528 | { | 529 | { |
529 | union acpi_operand_object *pkg_obj_desc; | 530 | union acpi_operand_object *pkg_obj_desc; |
530 | 531 | ||
532 | ACPI_FUNCTION_NAME(ns_repair_package_list); | ||
533 | |||
531 | /* | 534 | /* |
532 | * Create the new outer package and populate it. The new package will | 535 | * Create the new outer package and populate it. The new package will |
533 | * have a single element, the lone subpackage. | 536 | * have a single element, the lone subpackage. |
@@ -544,8 +547,9 @@ acpi_ns_repair_package_list(struct acpi_predefined_data *data, | |||
544 | *obj_desc_ptr = pkg_obj_desc; | 547 | *obj_desc_ptr = pkg_obj_desc; |
545 | data->flags |= ACPI_OBJECT_REPAIRED; | 548 | data->flags |= ACPI_OBJECT_REPAIRED; |
546 | 549 | ||
547 | ACPI_INFO_PREDEFINED((AE_INFO, data->pathname, data->node_flags, | 550 | ACPI_DEBUG_PRINT((ACPI_DB_REPAIR, |
548 | "Repaired Incorrectly formed Package")); | 551 | "%s: Repaired incorrectly formed Package\n", |
552 | data->pathname)); | ||
549 | 553 | ||
550 | return (AE_OK); | 554 | return (AE_OK); |
551 | } | 555 | } |
diff --git a/drivers/acpi/acpica/nsrepair2.c b/drivers/acpi/acpica/nsrepair2.c index 846df7047a81..199333880c8d 100644 --- a/drivers/acpi/acpica/nsrepair2.c +++ b/drivers/acpi/acpica/nsrepair2.c | |||
@@ -255,6 +255,8 @@ acpi_ns_repair_FDE(struct acpi_predefined_data *data, | |||
255 | u32 *dword_buffer; | 255 | u32 *dword_buffer; |
256 | u32 i; | 256 | u32 i; |
257 | 257 | ||
258 | ACPI_FUNCTION_NAME(ns_repair_FDE); | ||
259 | |||
258 | switch (return_object->common.type) { | 260 | switch (return_object->common.type) { |
259 | case ACPI_TYPE_BUFFER: | 261 | case ACPI_TYPE_BUFFER: |
260 | 262 | ||
@@ -296,8 +298,9 @@ acpi_ns_repair_FDE(struct acpi_predefined_data *data, | |||
296 | byte_buffer++; | 298 | byte_buffer++; |
297 | } | 299 | } |
298 | 300 | ||
299 | ACPI_INFO_PREDEFINED((AE_INFO, data->pathname, data->node_flags, | 301 | ACPI_DEBUG_PRINT((ACPI_DB_REPAIR, |
300 | "Expanded Byte Buffer to expected DWord Buffer")); | 302 | "%s Expanded Byte Buffer to expected DWord Buffer\n", |
303 | data->pathname)); | ||
301 | break; | 304 | break; |
302 | 305 | ||
303 | default: | 306 | default: |
@@ -445,6 +448,8 @@ acpi_ns_check_sorted_list(struct acpi_predefined_data *data, | |||
445 | u32 previous_value; | 448 | u32 previous_value; |
446 | acpi_status status; | 449 | acpi_status status; |
447 | 450 | ||
451 | ACPI_FUNCTION_NAME(ns_check_sorted_list); | ||
452 | |||
448 | /* The top-level object must be a package */ | 453 | /* The top-level object must be a package */ |
449 | 454 | ||
450 | if (return_object->common.type != ACPI_TYPE_PACKAGE) { | 455 | if (return_object->common.type != ACPI_TYPE_PACKAGE) { |
@@ -460,8 +465,9 @@ acpi_ns_check_sorted_list(struct acpi_predefined_data *data, | |||
460 | */ | 465 | */ |
461 | status = acpi_ns_remove_null_elements(return_object); | 466 | status = acpi_ns_remove_null_elements(return_object); |
462 | if (status == AE_NULL_ENTRY) { | 467 | if (status == AE_NULL_ENTRY) { |
463 | ACPI_INFO_PREDEFINED((AE_INFO, data->pathname, data->node_flags, | 468 | ACPI_DEBUG_PRINT((ACPI_DB_REPAIR, |
464 | "NULL elements removed from package")); | 469 | "%s: NULL elements removed from package\n", |
470 | data->pathname)); | ||
465 | 471 | ||
466 | /* Exit if package is now zero length */ | 472 | /* Exit if package is now zero length */ |
467 | 473 | ||
@@ -522,10 +528,9 @@ acpi_ns_check_sorted_list(struct acpi_predefined_data *data, | |||
522 | 528 | ||
523 | data->flags |= ACPI_OBJECT_REPAIRED; | 529 | data->flags |= ACPI_OBJECT_REPAIRED; |
524 | 530 | ||
525 | ACPI_INFO_PREDEFINED((AE_INFO, data->pathname, | 531 | ACPI_DEBUG_PRINT((ACPI_DB_REPAIR, |
526 | data->node_flags, | 532 | "%s: Repaired unsorted list - now sorted by %s\n", |
527 | "Repaired unsorted list - now sorted by %s", | 533 | data->pathname, sort_key_name)); |
528 | sort_key_name)); | ||
529 | return (AE_OK); | 534 | return (AE_OK); |
530 | } | 535 | } |
531 | 536 | ||
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h index 5c823d5ab783..d814da4b5365 100644 --- a/include/acpi/acoutput.h +++ b/include/acpi/acoutput.h | |||
@@ -85,7 +85,8 @@ | |||
85 | #define ACPI_LV_INIT 0x00000001 | 85 | #define ACPI_LV_INIT 0x00000001 |
86 | #define ACPI_LV_DEBUG_OBJECT 0x00000002 | 86 | #define ACPI_LV_DEBUG_OBJECT 0x00000002 |
87 | #define ACPI_LV_INFO 0x00000004 | 87 | #define ACPI_LV_INFO 0x00000004 |
88 | #define ACPI_LV_ALL_EXCEPTIONS 0x00000007 | 88 | #define ACPI_LV_REPAIR 0x00000008 |
89 | #define ACPI_LV_ALL_EXCEPTIONS 0x0000000F | ||
89 | 90 | ||
90 | /* Trace verbosity level 1 [Standard Trace Level] */ | 91 | /* Trace verbosity level 1 [Standard Trace Level] */ |
91 | 92 | ||
@@ -143,6 +144,7 @@ | |||
143 | #define ACPI_DB_INIT ACPI_DEBUG_LEVEL (ACPI_LV_INIT) | 144 | #define ACPI_DB_INIT ACPI_DEBUG_LEVEL (ACPI_LV_INIT) |
144 | #define ACPI_DB_DEBUG_OBJECT ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT) | 145 | #define ACPI_DB_DEBUG_OBJECT ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT) |
145 | #define ACPI_DB_INFO ACPI_DEBUG_LEVEL (ACPI_LV_INFO) | 146 | #define ACPI_DB_INFO ACPI_DEBUG_LEVEL (ACPI_LV_INFO) |
147 | #define ACPI_DB_REPAIR ACPI_DEBUG_LEVEL (ACPI_LV_REPAIR) | ||
146 | #define ACPI_DB_ALL_EXCEPTIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS) | 148 | #define ACPI_DB_ALL_EXCEPTIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS) |
147 | 149 | ||
148 | /* Trace level -- also used in the global "DebugLevel" */ | 150 | /* Trace level -- also used in the global "DebugLevel" */ |
@@ -174,8 +176,8 @@ | |||
174 | 176 | ||
175 | /* Defaults for debug_level, debug and normal */ | 177 | /* Defaults for debug_level, debug and normal */ |
176 | 178 | ||
177 | #define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO) | 179 | #define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR) |
178 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT) | 180 | #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_REPAIR) |
179 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) | 181 | #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) |
180 | 182 | ||
181 | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) | 183 | #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) |