[ACPI] ACPICA 20051102
Modified the subsystem initialization sequence to improve
GPE support. The GPE initialization has been split into
two parts in order to defer execution of the _PRW methods
(Power Resources for Wake) until after the hardware is
fully initialized and the SCI handler is installed. This
allows the _PRW methods to access fields protected by the
Global Lock. This will fix systems where a NO_GLOBAL_LOCK
exception has been seen during initialization.
Fixed a regression with the ConcatenateResTemplate()
ASL operator introduced in the 20051021 release.
Implemented support for "local" internal ACPI object
types within the debugger "Object" command and the
acpi_walk_namespace() external interfaces. These local
types include RegionFields, BankFields, IndexFields, Alias,
and reference objects.
Moved common AML resource handling code into a new file,
"utresrc.c". This code is shared by both the Resource
Manager and the AML Debugger.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
diff --git a/drivers/acpi/resources/rsdump.c b/drivers/acpi/resources/rsdump.c
index 27172a3..f617ca8 100644
--- a/drivers/acpi/resources/rsdump.c
+++ b/drivers/acpi/resources/rsdump.c
@@ -324,7 +324,7 @@
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", "Memory Range"},
+ "Resource Type", (void *)"Memory Range"},
{ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.mem.write_protect),
"Write Protect", acpi_gbl_RWdecode},
{ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.mem.caching),
@@ -337,7 +337,7 @@
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", "I/O Range"},
+ "Resource Type", (void *)"I/O Range"},
{ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET(address.info.io.range_type),
"Range Type", acpi_gbl_RNGdecode},
{ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET(address.info.io.translation),
@@ -372,8 +372,8 @@
static void
acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
{
- void *target = NULL;
- void *previous_target;
+ u8 *target = NULL;
+ u8 *previous_target;
char *name;
u8 count;
@@ -399,43 +399,49 @@
/* Strings */
case ACPI_RSD_LITERAL:
- acpi_rs_out_string(name, (char *)table->pointer);
+ acpi_rs_out_string(name,
+ ACPI_CAST_PTR(char, table->pointer));
break;
case ACPI_RSD_STRING:
- acpi_rs_out_string(name, (char *)target);
+ acpi_rs_out_string(name, ACPI_CAST_PTR(char, target));
break;
/* Data items, 8/16/32/64 bit */
case ACPI_RSD_UINT8:
- acpi_rs_out_integer8(name, *(u8 *) target);
+ acpi_rs_out_integer8(name, *ACPI_CAST_PTR(u8, target));
break;
case ACPI_RSD_UINT16:
- acpi_rs_out_integer16(name, *(u16 *) target);
+ acpi_rs_out_integer16(name,
+ *ACPI_CAST_PTR(u16, target));
break;
case ACPI_RSD_UINT32:
- acpi_rs_out_integer32(name, *(u32 *) target);
+ acpi_rs_out_integer32(name,
+ *ACPI_CAST_PTR(u32, target));
break;
case ACPI_RSD_UINT64:
- acpi_rs_out_integer64(name, *(u64 *) target);
+ acpi_rs_out_integer64(name,
+ *ACPI_CAST_PTR(u64, target));
break;
/* Flags: 1-bit and 2-bit flags supported */
case ACPI_RSD_1BITFLAG:
- acpi_rs_out_string(name, (char *)
- ((const char **)table->
- pointer)[(*(u8 *) target) & 0x01]);
+ acpi_rs_out_string(name, ACPI_CAST_PTR(char,
+ table->
+ pointer[*target &
+ 0x01]));
break;
case ACPI_RSD_2BITFLAG:
- acpi_rs_out_string(name, (char *)
- ((const char **)table->
- pointer)[(*(u8 *) target) & 0x03]);
+ acpi_rs_out_string(name, ACPI_CAST_PTR(char,
+ table->
+ pointer[*target &
+ 0x03]));
break;
case ACPI_RSD_SHORTLIST:
@@ -445,10 +451,8 @@
*/
if (previous_target) {
acpi_rs_out_title(name);
- acpi_rs_dump_short_byte_list(*
- ((u8 *)
- previous_target),
- (u8 *) target);
+ acpi_rs_dump_short_byte_list(*previous_target,
+ target);
}
break;
@@ -458,10 +462,9 @@
* Note: The list length is obtained from the previous table entry
*/
if (previous_target) {
- acpi_rs_dump_byte_list(*
- ((u16 *)
- previous_target),
- (u8 *) target);
+ acpi_rs_dump_byte_list(*ACPI_CAST_PTR
+ (u16, previous_target),
+ target);
}
break;
@@ -471,10 +474,9 @@
* Note: The list length is obtained from the previous table entry
*/
if (previous_target) {
- acpi_rs_dump_dword_list(*
- ((u8 *)
- previous_target),
- (u32 *) target);
+ acpi_rs_dump_dword_list(*previous_target,
+ ACPI_CAST_PTR(u32,
+ target));
}
break;
@@ -482,17 +484,19 @@
/*
* Common flags for all Address resources
*/
- acpi_rs_dump_address_common((union acpi_resource_data *)
- target);
+ acpi_rs_dump_address_common(ACPI_CAST_PTR
+ (union acpi_resource_data,
+ target));
break;
case ACPI_RSD_SOURCE:
/*
* Optional resource_source for Address resources
*/
- acpi_rs_dump_resource_source((struct
- acpi_resource_source *)
- target);
+ acpi_rs_dump_resource_source(ACPI_CAST_PTR
+ (struct
+ acpi_resource_source,
+ target));
break;
default: