[ACPI] ACPICA 20050916

Fixed a problem within the Resource Manager where
support for the Generic Register descriptor was not fully
implemented.  This descriptor is now fully recognized,
parsed, disassembled, and displayed.

Restructured the Resource Manager code to utilize
table-driven dispatch and lookup, eliminating many of the
large switch() statements.  This reduces overall subsystem
code size and code complexity.  Affects the resource parsing
and construction, disassembly, and debug dump output.

Cleaned up and restructured the debug dump output for all
resource descriptors.  Improved readability of the output
and reduced code size.

Fixed a problem where changes to internal data structures
caused the optional ACPI_MUTEX_DEBUG code to fail
compilation if specified.

Signed-off-by: Robert Moore <Robert.Moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 6213b27..1dfa64f 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -1125,6 +1125,14 @@
 	u32 interrupts[1];
 };
 
+struct acpi_resource_generic_reg {
+	u32 space_id;
+	u32 bit_width;
+	u32 bit_offset;
+	u32 address_size;
+	u64 address;
+};
+
 /* ACPI_RESOURCE_TYPEs */
 
 #define ACPI_RSTYPE_IRQ                 0
@@ -1142,6 +1150,8 @@
 #define ACPI_RSTYPE_ADDRESS32           12
 #define ACPI_RSTYPE_ADDRESS64           13
 #define ACPI_RSTYPE_EXT_IRQ             14
+#define ACPI_RSTYPE_GENERIC_REG         15
+#define ACPI_RSTYPE_MAX                 15
 
 typedef u32 acpi_resource_type;
 
@@ -1161,10 +1171,11 @@
 	struct acpi_resource_address32 address32;
 	struct acpi_resource_address64 address64;
 	struct acpi_resource_ext_irq extended_irq;
+	struct acpi_resource_generic_reg generic_reg;
 };
 
 struct acpi_resource {
-	acpi_resource_type id;
+	acpi_resource_type type;
 	u32 length;
 	union acpi_resource_data data;
 };