summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/resources/rsdump.c
diff options
context:
space:
mode:
authorBob Moore2005-11-02 06:00:00 +0100
committerLen Brown2005-12-10 06:26:05 +0100
commit96db255c8f014ae3497507104e8df809785a619f (patch)
tree79d2c506644370fd6c10d94bd40c419cd3bad148 /drivers/acpi/resources/rsdump.c
parent[ACPI] ACPICA 20051021 (diff)
downloadkernel-qcow2-linux-96db255c8f014ae3497507104e8df809785a619f.tar.gz
kernel-qcow2-linux-96db255c8f014ae3497507104e8df809785a619f.tar.xz
kernel-qcow2-linux-96db255c8f014ae3497507104e8df809785a619f.zip
[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>
Diffstat (limited to 'drivers/acpi/resources/rsdump.c')
-rw-r--r--drivers/acpi/resources/rsdump.c70
1 files changed, 37 insertions, 33 deletions
diff --git a/drivers/acpi/resources/rsdump.c b/drivers/acpi/resources/rsdump.c
index 27172a3d55d7..f617ca80c5a6 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_general_flags[5] = {
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_memory_flags[5] = {
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 struct acpi_rsdump_info acpi_rs_dump_prt[5] = {
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 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
/* 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 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
*/
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 @@ 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(*
- ((u16 *)
- previous_target),
- (u8 *) target);
+ acpi_rs_dump_byte_list(*ACPI_CAST_PTR
+ (u16, previous_target),
+ target);
}
break;
@@ -471,10 +474,9 @@ 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_dword_list(*
- ((u8 *)
- previous_target),
- (u32 *) target);
+ acpi_rs_dump_dword_list(*previous_target,
+ ACPI_CAST_PTR(u32,
+ target));
}
break;
@@ -482,17 +484,19 @@ acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table)
/*
* 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: