]> err.no Git - linux-2.6/blobdiff - drivers/acpi/resources/rsdump.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus
[linux-2.6] / drivers / acpi / resources / rsdump.c
index f617ca80c5a6c7cf390ae8fbdfb87724197e6643..6bbbb7b8941a4f77a8456dc308f62f1625670934 100644 (file)
@@ -5,7 +5,7 @@
  ******************************************************************************/
 
 /*
- * Copyright (C) 2000 - 2005, R. Byron Moore
+ * Copyright (C) 2000 - 2008, Intel Corp.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 
 #include <acpi/acpi.h>
 #include <acpi/acresrc.h>
-#include <acpi/acdisasm.h>
 
 #define _COMPONENT          ACPI_RESOURCES
 ACPI_MODULE_NAME("rsdump")
-
 #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
 /* Local prototypes */
 static void acpi_rs_out_string(char *title, char *value);
@@ -89,14 +87,16 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table);
  *
  ******************************************************************************/
 
-struct acpi_rsdump_info acpi_rs_dump_irq[6] = {
+struct acpi_rsdump_info acpi_rs_dump_irq[7] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_irq), "IRQ", NULL},
+       {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(irq.descriptor_length),
+        "Descriptor Length", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(irq.triggering), "Triggering",
-        acpi_gbl_HEdecode},
+        acpi_gbl_he_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(irq.polarity), "Polarity",
-        acpi_gbl_LLdecode},
+        acpi_gbl_ll_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(irq.sharable), "Sharing",
-        acpi_gbl_SHRdecode},
+        acpi_gbl_shr_decode},
        {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(irq.interrupt_count),
         "Interrupt Count", NULL},
        {ACPI_RSD_SHORTLIST, ACPI_RSD_OFFSET(irq.interrupts[0]),
@@ -106,20 +106,22 @@ struct acpi_rsdump_info acpi_rs_dump_irq[6] = {
 struct acpi_rsdump_info acpi_rs_dump_dma[6] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_dma), "DMA", NULL},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(dma.type), "Speed",
-        acpi_gbl_TYPdecode},
+        acpi_gbl_typ_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(dma.bus_master), "Mastering",
-        acpi_gbl_BMdecode},
+        acpi_gbl_bm_decode},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(dma.transfer), "Transfer Type",
-        acpi_gbl_SIZdecode},
+        acpi_gbl_siz_decode},
        {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(dma.channel_count), "Channel Count",
         NULL},
        {ACPI_RSD_SHORTLIST, ACPI_RSD_OFFSET(dma.channels[0]), "Channel List",
         NULL}
 };
 
-struct acpi_rsdump_info acpi_rs_dump_start_dpf[3] = {
+struct acpi_rsdump_info acpi_rs_dump_start_dpf[4] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_start_dpf),
         "Start-Dependent-Functions", NULL},
+       {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(start_dpf.descriptor_length),
+        "Descriptor Length", NULL},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(start_dpf.compatibility_priority),
         "Compatibility Priority", acpi_gbl_config_decode},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(start_dpf.performance_robustness),
@@ -159,7 +161,7 @@ struct acpi_rsdump_info acpi_rs_dump_vendor[3] = {
 };
 
 struct acpi_rsdump_info acpi_rs_dump_end_tag[1] = {
-       {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_end_tag), "end_tag",
+       {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_end_tag), "EndTag",
         NULL}
 };
 
@@ -167,7 +169,7 @@ struct acpi_rsdump_info acpi_rs_dump_memory24[6] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_memory24),
         "24-Bit Memory Range", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(memory24.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_UINT16, ACPI_RSD_OFFSET(memory24.minimum), "Address Minimum",
         NULL},
        {ACPI_RSD_UINT16, ACPI_RSD_OFFSET(memory24.maximum), "Address Maximum",
@@ -182,7 +184,7 @@ struct acpi_rsdump_info acpi_rs_dump_memory32[6] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_memory32),
         "32-Bit Memory Range", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(memory32.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(memory32.minimum), "Address Minimum",
         NULL},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(memory32.maximum), "Address Maximum",
@@ -197,7 +199,7 @@ struct acpi_rsdump_info acpi_rs_dump_fixed_memory32[4] = {
        {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_fixed_memory32),
         "32-Bit Fixed Memory Range", NULL},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(fixed_memory32.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(fixed_memory32.address), "Address",
         NULL},
        {ACPI_RSD_UINT32, ACPI_RSD_OFFSET(fixed_memory32.address_length),
@@ -279,11 +281,11 @@ struct acpi_rsdump_info acpi_rs_dump_ext_irq[8] = {
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.producer_consumer),
         "Type", acpi_gbl_consume_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.triggering),
-        "Triggering", acpi_gbl_HEdecode},
+        "Triggering", acpi_gbl_he_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.polarity), "Polarity",
-        acpi_gbl_LLdecode},
+        acpi_gbl_ll_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(extended_irq.sharable), "Sharing",
-        acpi_gbl_SHRdecode},
+        acpi_gbl_shr_decode},
        {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET(extended_irq.resource_source), NULL,
         NULL},
        {ACPI_RSD_UINT8, ACPI_RSD_OFFSET(extended_irq.interrupt_count),
@@ -315,7 +317,7 @@ static struct acpi_rsdump_info acpi_rs_dump_general_flags[5] = {
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.producer_consumer),
         "Consumer/Producer", acpi_gbl_consume_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.decode), "Address Decode",
-        acpi_gbl_DECdecode},
+        acpi_gbl_dec_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.min_address_fixed),
         "Min Relocatability", acpi_gbl_min_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.max_address_fixed),
@@ -326,24 +328,24 @@ static struct acpi_rsdump_info acpi_rs_dump_memory_flags[5] = {
        {ACPI_RSD_LITERAL, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_memory_flags),
         "Resource Type", (void *)"Memory Range"},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.mem.write_protect),
-        "Write Protect", acpi_gbl_RWdecode},
+        "Write Protect", acpi_gbl_rw_decode},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.mem.caching),
-        "Caching", acpi_gbl_MEMdecode},
+        "Caching", acpi_gbl_mem_decode},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.mem.range_type),
-        "Range Type", acpi_gbl_MTPdecode},
+        "Range Type", acpi_gbl_mtp_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.mem.translation),
-        "Translation", acpi_gbl_TTPdecode}
+        "Translation", acpi_gbl_ttp_decode}
 };
 
 static struct acpi_rsdump_info acpi_rs_dump_io_flags[4] = {
        {ACPI_RSD_LITERAL, ACPI_RSD_TABLE_SIZE(acpi_rs_dump_io_flags),
         "Resource Type", (void *)"I/O Range"},
        {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.io.range_type),
-        "Range Type", acpi_gbl_RNGdecode},
+        "Range Type", acpi_gbl_rng_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.io.translation),
-        "Translation", acpi_gbl_TTPdecode},
+        "Translation", acpi_gbl_ttp_decode},
        {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.io.translation_type),
-        "Translation Type", acpi_gbl_TRSdecode}
+        "Translation Type", acpi_gbl_trs_decode}
 };
 
 /*
@@ -383,7 +385,7 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
 
        while (count) {
                previous_target = target;
-               target = ((u8 *) resource) + table->offset;
+               target = ACPI_ADD_PTR(u8, resource, table->offset);
                name = table->name;
 
                switch (table->opcode) {
@@ -410,22 +412,19 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
                        /* Data items, 8/16/32/64 bit */
 
                case ACPI_RSD_UINT8:
-                       acpi_rs_out_integer8(name, *ACPI_CAST_PTR(u8, target));
+                       acpi_rs_out_integer8(name, ACPI_GET8(target));
                        break;
 
                case ACPI_RSD_UINT16:
-                       acpi_rs_out_integer16(name,
-                                             *ACPI_CAST_PTR(u16, target));
+                       acpi_rs_out_integer16(name, ACPI_GET16(target));
                        break;
 
                case ACPI_RSD_UINT32:
-                       acpi_rs_out_integer32(name,
-                                             *ACPI_CAST_PTR(u32, target));
+                       acpi_rs_out_integer32(name, ACPI_GET32(target));
                        break;
 
                case ACPI_RSD_UINT64:
-                       acpi_rs_out_integer64(name,
-                                             *ACPI_CAST_PTR(u64, target));
+                       acpi_rs_out_integer64(name, ACPI_GET64(target));
                        break;
 
                        /* Flags: 1-bit and 2-bit flags supported */
@@ -462,8 +461,8 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
                         * Note: The list length is obtained from the previous table entry
                         */
                        if (previous_target) {
-                               acpi_rs_dump_byte_list(*ACPI_CAST_PTR
-                                                      (u16, previous_target),
+                               acpi_rs_dump_byte_list(ACPI_GET16
+                                                      (previous_target),
                                                       target);
                        }
                        break;
@@ -493,10 +492,9 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
                        /*
                         * Optional resource_source for Address resources
                         */
-                       acpi_rs_dump_resource_source(ACPI_CAST_PTR
-                                                    (struct
-                                                     acpi_resource_source,
-                                                     target));
+                       acpi_rs_dump_resource_source(ACPI_CAST_PTR(struct
+                                                                  acpi_resource_source,
+                                                                  target));
                        break;
 
                default:
@@ -634,7 +632,7 @@ void acpi_rs_dump_resource_list(struct acpi_resource *resource_list)
                /* Point to the next resource structure */
 
                resource_list =
-                   ACPI_PTR_ADD(struct acpi_resource, resource_list,
+                   ACPI_ADD_PTR(struct acpi_resource, resource_list,
                                 resource_list->length);
 
                /* Exit when END_TAG descriptor is reached */
@@ -675,9 +673,8 @@ void acpi_rs_dump_irq_list(u8 * route_table)
                               count);
                acpi_rs_dump_descriptor(prt_element, acpi_rs_dump_prt);
 
-               prt_element = ACPI_CAST_PTR(struct acpi_pci_routing_table,
-                                           ((u8 *) prt_element) +
-                                           prt_element->length);
+               prt_element = ACPI_ADD_PTR(struct acpi_pci_routing_table,
+                                          prt_element, prt_element->length);
        }
 }
 
@@ -697,7 +694,11 @@ void acpi_rs_dump_irq_list(u8 * route_table)
 
 static void acpi_rs_out_string(char *title, char *value)
 {
-       acpi_os_printf("%27s : %s\n", title, value);
+       acpi_os_printf("%27s : %s", title, value);
+       if (!*value) {
+               acpi_os_printf("[NULL NAMESTRING]");
+       }
+       acpi_os_printf("\n");
 }
 
 static void acpi_rs_out_integer8(char *title, u8 value)