aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/utilities/utdebug.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/utilities/utdebug.c')
-rw-r--r--drivers/acpi/utilities/utdebug.c77
1 files changed, 59 insertions, 18 deletions
diff --git a/drivers/acpi/utilities/utdebug.c b/drivers/acpi/utilities/utdebug.c
index 3d5fbc810b0b..c27cbb7f5c54 100644
--- a/drivers/acpi/utilities/utdebug.c
+++ b/drivers/acpi/utilities/utdebug.c
@@ -55,6 +55,12 @@ static u32 acpi_gbl_prev_thread_id = 0xFFFFFFFF;
55static char *acpi_gbl_fn_entry_str = "----Entry"; 55static char *acpi_gbl_fn_entry_str = "----Entry";
56static char *acpi_gbl_fn_exit_str = "----Exit-"; 56static char *acpi_gbl_fn_exit_str = "----Exit-";
57 57
58/* Local prototypes */
59
60static const char *
61acpi_ut_trim_function_name (
62 const char *function_name);
63
58 64
59/******************************************************************************* 65/*******************************************************************************
60 * 66 *
@@ -72,7 +78,7 @@ void
72acpi_ut_init_stack_ptr_trace ( 78acpi_ut_init_stack_ptr_trace (
73 void) 79 void)
74{ 80{
75 u32 current_sp; 81 u32 current_sp;
76 82
77 83
78 acpi_gbl_entry_stack_pointer = ACPI_PTR_DIFF (&current_sp, NULL); 84 acpi_gbl_entry_stack_pointer = ACPI_PTR_DIFF (&current_sp, NULL);
@@ -95,7 +101,7 @@ void
95acpi_ut_track_stack_ptr ( 101acpi_ut_track_stack_ptr (
96 void) 102 void)
97{ 103{
98 acpi_size current_sp; 104 acpi_size current_sp;
99 105
100 106
101 current_sp = ACPI_PTR_DIFF (&current_sp, NULL); 107 current_sp = ACPI_PTR_DIFF (&current_sp, NULL);
@@ -112,6 +118,43 @@ acpi_ut_track_stack_ptr (
112 118
113/******************************************************************************* 119/*******************************************************************************
114 * 120 *
121 * FUNCTION: acpi_ut_trim_function_name
122 *
123 * PARAMETERS: function_name - Ascii string containing a procedure name
124 *
125 * RETURN: Updated pointer to the function name
126 *
127 * DESCRIPTION: Remove the "Acpi" prefix from the function name, if present.
128 * This allows compiler macros such as __FUNCTION__ to be used
129 * with no change to the debug output.
130 *
131 ******************************************************************************/
132
133static const char *
134acpi_ut_trim_function_name (
135 const char *function_name)
136{
137
138 /* All Function names are longer than 4 chars, check is safe */
139
140 if (*(ACPI_CAST_PTR (u32, function_name)) == ACPI_FUNCTION_PREFIX1) {
141 /* This is the case where the original source has not been modified */
142
143 return (function_name + 4);
144 }
145
146 if (*(ACPI_CAST_PTR (u32, function_name)) == ACPI_FUNCTION_PREFIX2) {
147 /* This is the case where the source has been 'linuxized' */
148
149 return (function_name + 5);
150 }
151
152 return (function_name);
153}
154
155
156/*******************************************************************************
157 *
115 * FUNCTION: acpi_ut_debug_print 158 * FUNCTION: acpi_ut_debug_print
116 * 159 *
117 * PARAMETERS: requested_debug_level - Requested debug print level 160 * PARAMETERS: requested_debug_level - Requested debug print level
@@ -133,7 +176,7 @@ void ACPI_INTERNAL_VAR_XFACE
133acpi_ut_debug_print ( 176acpi_ut_debug_print (
134 u32 requested_debug_level, 177 u32 requested_debug_level,
135 u32 line_number, 178 u32 line_number,
136 char *function_name, 179 const char *function_name,
137 char *module_name, 180 char *module_name,
138 u32 component_id, 181 u32 component_id,
139 char *format, 182 char *format,
@@ -177,7 +220,7 @@ acpi_ut_debug_print (
177 } 220 }
178 221
179 acpi_os_printf ("[%02ld] %-22.22s: ", 222 acpi_os_printf ("[%02ld] %-22.22s: ",
180 acpi_gbl_nesting_level, function_name); 223 acpi_gbl_nesting_level, acpi_ut_trim_function_name (function_name));
181 224
182 va_start (args, format); 225 va_start (args, format);
183 acpi_os_vprintf (format, args); 226 acpi_os_vprintf (format, args);
@@ -208,7 +251,7 @@ void ACPI_INTERNAL_VAR_XFACE
208acpi_ut_debug_print_raw ( 251acpi_ut_debug_print_raw (
209 u32 requested_debug_level, 252 u32 requested_debug_level,
210 u32 line_number, 253 u32 line_number,
211 char *function_name, 254 const char *function_name,
212 char *module_name, 255 char *module_name,
213 u32 component_id, 256 u32 component_id,
214 char *format, 257 char *format,
@@ -247,7 +290,7 @@ EXPORT_SYMBOL(acpi_ut_debug_print_raw);
247void 290void
248acpi_ut_trace ( 291acpi_ut_trace (
249 u32 line_number, 292 u32 line_number,
250 char *function_name, 293 const char *function_name,
251 char *module_name, 294 char *module_name,
252 u32 component_id) 295 u32 component_id)
253{ 296{
@@ -282,7 +325,7 @@ EXPORT_SYMBOL(acpi_ut_trace);
282void 325void
283acpi_ut_trace_ptr ( 326acpi_ut_trace_ptr (
284 u32 line_number, 327 u32 line_number,
285 char *function_name, 328 const char *function_name,
286 char *module_name, 329 char *module_name,
287 u32 component_id, 330 u32 component_id,
288 void *pointer) 331 void *pointer)
@@ -316,7 +359,7 @@ acpi_ut_trace_ptr (
316void 359void
317acpi_ut_trace_str ( 360acpi_ut_trace_str (
318 u32 line_number, 361 u32 line_number,
319 char *function_name, 362 const char *function_name,
320 char *module_name, 363 char *module_name,
321 u32 component_id, 364 u32 component_id,
322 char *string) 365 char *string)
@@ -351,7 +394,7 @@ acpi_ut_trace_str (
351void 394void
352acpi_ut_trace_u32 ( 395acpi_ut_trace_u32 (
353 u32 line_number, 396 u32 line_number,
354 char *function_name, 397 const char *function_name,
355 char *module_name, 398 char *module_name,
356 u32 component_id, 399 u32 component_id,
357 u32 integer) 400 u32 integer)
@@ -385,7 +428,7 @@ acpi_ut_trace_u32 (
385void 428void
386acpi_ut_exit ( 429acpi_ut_exit (
387 u32 line_number, 430 u32 line_number,
388 char *function_name, 431 const char *function_name,
389 char *module_name, 432 char *module_name,
390 u32 component_id) 433 u32 component_id)
391{ 434{
@@ -419,7 +462,7 @@ EXPORT_SYMBOL(acpi_ut_exit);
419void 462void
420acpi_ut_status_exit ( 463acpi_ut_status_exit (
421 u32 line_number, 464 u32 line_number,
422 char *function_name, 465 const char *function_name,
423 char *module_name, 466 char *module_name,
424 u32 component_id, 467 u32 component_id,
425 acpi_status status) 468 acpi_status status)
@@ -463,7 +506,7 @@ EXPORT_SYMBOL(acpi_ut_status_exit);
463void 506void
464acpi_ut_value_exit ( 507acpi_ut_value_exit (
465 u32 line_number, 508 u32 line_number,
466 char *function_name, 509 const char *function_name,
467 char *module_name, 510 char *module_name,
468 u32 component_id, 511 u32 component_id,
469 acpi_integer value) 512 acpi_integer value)
@@ -499,7 +542,7 @@ EXPORT_SYMBOL(acpi_ut_value_exit);
499void 542void
500acpi_ut_ptr_exit ( 543acpi_ut_ptr_exit (
501 u32 line_number, 544 u32 line_number,
502 char *function_name, 545 const char *function_name,
503 char *module_name, 546 char *module_name,
504 u32 component_id, 547 u32 component_id,
505 u8 *ptr) 548 u8 *ptr)
@@ -607,8 +650,8 @@ acpi_ut_dump_buffer (
607 } 650 }
608 651
609 /* 652 /*
610 * Print the ASCII equivalent characters 653 * Print the ASCII equivalent characters but watch out for the bad
611 * But watch out for the bad unprintable ones... 654 * unprintable ones (printable chars are 0x20 through 0x7E)
612 */ 655 */
613 acpi_os_printf (" "); 656 acpi_os_printf (" ");
614 for (j = 0; j < 16; j++) { 657 for (j = 0; j < 16; j++) {
@@ -618,9 +661,7 @@ acpi_ut_dump_buffer (
618 } 661 }
619 662
620 buf_char = buffer[i + j]; 663 buf_char = buffer[i + j];
621 if ((buf_char > 0x1F && buf_char < 0x2E) || 664 if (ACPI_IS_PRINT (buf_char)) {
622 (buf_char > 0x2F && buf_char < 0x61) ||
623 (buf_char > 0x60 && buf_char < 0x7F)) {
624 acpi_os_printf ("%c", buf_char); 665 acpi_os_printf ("%c", buf_char);
625 } 666 }
626 else { 667 else {