aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/exdebug.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/acpica/exdebug.c')
-rw-r--r--drivers/acpi/acpica/exdebug.c42
1 files changed, 40 insertions, 2 deletions
diff --git a/drivers/acpi/acpica/exdebug.c b/drivers/acpi/acpica/exdebug.c
index e67d0aca3fe6..815442bbd051 100644
--- a/drivers/acpi/acpica/exdebug.c
+++ b/drivers/acpi/acpica/exdebug.c
@@ -76,6 +76,8 @@ acpi_ex_do_debug_object(union acpi_operand_object *source_desc,
76{ 76{
77 u32 i; 77 u32 i;
78 u32 timer; 78 u32 timer;
79 union acpi_operand_object *object_desc;
80 u32 value;
79 81
80 ACPI_FUNCTION_TRACE_PTR(ex_do_debug_object, source_desc); 82 ACPI_FUNCTION_TRACE_PTR(ex_do_debug_object, source_desc);
81 83
@@ -254,8 +256,44 @@ acpi_ex_do_debug_object(union acpi_operand_object *source_desc,
254 object)->object, 256 object)->object,
255 level + 4, 0); 257 level + 4, 0);
256 } else { 258 } else {
257 acpi_ex_do_debug_object(source_desc->reference. 259 object_desc = source_desc->reference.object;
258 object, level + 4, 0); 260 value = source_desc->reference.value;
261
262 switch (object_desc->common.type) {
263 case ACPI_TYPE_BUFFER:
264
265 acpi_os_printf("Buffer[%u] = 0x%2.2X\n",
266 value,
267 *source_desc->reference.
268 index_pointer);
269 break;
270
271 case ACPI_TYPE_STRING:
272
273 acpi_os_printf
274 ("String[%u] = \"%c\" (0x%2.2X)\n",
275 value,
276 *source_desc->reference.
277 index_pointer,
278 *source_desc->reference.
279 index_pointer);
280 break;
281
282 case ACPI_TYPE_PACKAGE:
283
284 acpi_os_printf("Package[%u] = ", value);
285 acpi_ex_do_debug_object(*source_desc->
286 reference.where,
287 level + 4, 0);
288 break;
289
290 default:
291
292 acpi_os_printf
293 ("Unknown Reference object type %X\n",
294 object_desc->common.type);
295 break;
296 }
259 } 297 }
260 } 298 }
261 break; 299 break;