From b417d40b9a850f12f69aa9d785d2af39c9463bb8 Mon Sep 17 00:00:00 2001 From: Yi Yang Date: Mon, 4 Aug 2008 10:30:09 +0800 Subject: ACPICA: Return status from global init function Return status from acpi_ut_init_globals. This is used by both the kernel subsystem and the utilities such as iASL compiler. The function could possibly fail when the caches are initialized. Yang Yi. Signed-off-by: Yi Yang Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Andi Kleen Signed-off-by: Len Brown --- drivers/acpi/utilities/utglobal.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'drivers/acpi/utilities/utglobal.c') diff --git a/drivers/acpi/utilities/utglobal.c b/drivers/acpi/utilities/utglobal.c index a6e71b801d2d..248eefc369f8 100644 --- a/drivers/acpi/utilities/utglobal.c +++ b/drivers/acpi/utilities/utglobal.c @@ -677,14 +677,14 @@ u8 acpi_ut_valid_object_type(acpi_object_type type) * * PARAMETERS: None * - * RETURN: None + * RETURN: Status * * DESCRIPTION: Init library globals. All globals that require specific * initialization should be initialized here! * ******************************************************************************/ -void acpi_ut_init_globals(void) +acpi_status acpi_ut_init_globals(void) { acpi_status status; u32 i; @@ -695,7 +695,7 @@ void acpi_ut_init_globals(void) status = acpi_ut_create_caches(); if (ACPI_FAILURE(status)) { - return; + return_ACPI_STATUS(status); } /* Mutex locked flags */ @@ -772,7 +772,7 @@ void acpi_ut_init_globals(void) acpi_gbl_display_final_mem_stats = FALSE; #endif - return_VOID; + return_ACPI_STATUS(AE_OK); } ACPI_EXPORT_SYMBOL(acpi_dbg_level) -- cgit v1.2.2 From f02a99ac66748f8b62477c86f6df04d3ec6169fd Mon Sep 17 00:00:00 2001 From: Bob Moore Date: Mon, 4 Aug 2008 10:40:09 +0800 Subject: ACPICA: Add function to decode reference obj types to strings Created for improved error messages. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Andi Kleen Signed-off-by: Len Brown --- drivers/acpi/utilities/utglobal.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'drivers/acpi/utilities/utglobal.c') diff --git a/drivers/acpi/utilities/utglobal.c b/drivers/acpi/utilities/utglobal.c index 248eefc369f8..bcace577183b 100644 --- a/drivers/acpi/utilities/utglobal.c +++ b/drivers/acpi/utilities/utglobal.c @@ -45,6 +45,7 @@ #include #include +#include ACPI_EXPORT_SYMBOL(acpi_gbl_FADT) #define _COMPONENT ACPI_UTILITIES @@ -575,6 +576,41 @@ char *acpi_ut_get_descriptor_name(void *object) } +/******************************************************************************* + * + * FUNCTION: acpi_ut_get_reference_name + * + * PARAMETERS: Object - An ACPI reference object + * + * RETURN: Pointer to a string + * + * DESCRIPTION: Decode a reference object sub-type to a string. + * + ******************************************************************************/ + +/* Printable names of reference object sub-types */ + +const char *acpi_ut_get_reference_name(union acpi_operand_object *object) +{ + + switch (object->reference.opcode) { + case AML_INT_NAMEPATH_OP: + return "Name"; + + case AML_LOAD_OP: + return "DDB-Handle"; + + case AML_REF_OF_OP: + return "RefOf"; + + case AML_INDEX_OP: + return "Index"; + + default: + return "Unknown"; + } +} + #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) /* * Strings and procedures used for debug only -- cgit v1.2.2 From 1044f1f65b7df2aae979e397904c4985eeb99ba2 Mon Sep 17 00:00:00 2001 From: Bob Moore Date: Sat, 27 Sep 2008 11:08:41 +0800 Subject: ACPICA: Cleanup for internal Reference Object Fix some sloppiness in the Reference object. No longer use AML opcodes to differentiate the types, introduce new reference Class. Cleanup the debug output code. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown --- drivers/acpi/utilities/utglobal.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'drivers/acpi/utilities/utglobal.c') diff --git a/drivers/acpi/utilities/utglobal.c b/drivers/acpi/utilities/utglobal.c index bcace577183b..0b1e493a8374 100644 --- a/drivers/acpi/utilities/utglobal.c +++ b/drivers/acpi/utilities/utglobal.c @@ -45,7 +45,6 @@ #include #include -#include ACPI_EXPORT_SYMBOL(acpi_gbl_FADT) #define _COMPONENT ACPI_UTILITIES @@ -590,25 +589,31 @@ char *acpi_ut_get_descriptor_name(void *object) /* Printable names of reference object sub-types */ +static const char *acpi_gbl_ref_class_names[] = { + /* 00 */ "Local", + /* 01 */ "Argument", + /* 02 */ "RefOf", + /* 03 */ "Index", + /* 04 */ "DdbHandle", + /* 05 */ "Named Object", + /* 06 */ "Debug" +}; + const char *acpi_ut_get_reference_name(union acpi_operand_object *object) { + if (!object) + return "NULL Object"; - switch (object->reference.opcode) { - case AML_INT_NAMEPATH_OP: - return "Name"; + if (ACPI_GET_DESCRIPTOR_TYPE(object) != ACPI_DESC_TYPE_OPERAND) + return "Not an Operand object"; - case AML_LOAD_OP: - return "DDB-Handle"; + if (object->common.type != ACPI_TYPE_LOCAL_REFERENCE) + return "Not a Reference object"; - case AML_REF_OF_OP: - return "RefOf"; + if (object->reference.class > ACPI_REFCLASS_MAX) + return "Unknown Reference class"; - case AML_INDEX_OP: - return "Index"; - - default: - return "Unknown"; - } + return acpi_gbl_ref_class_names[object->reference.class]; } #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) @@ -812,4 +817,4 @@ acpi_status acpi_ut_init_globals(void) } ACPI_EXPORT_SYMBOL(acpi_dbg_level) - ACPI_EXPORT_SYMBOL(acpi_dbg_layer) +ACPI_EXPORT_SYMBOL(acpi_dbg_layer) -- cgit v1.2.2 From bbbbeb8e31af97f11b84294b2e7e5607125829d2 Mon Sep 17 00:00:00 2001 From: Lin Ming Date: Sat, 27 Sep 2008 11:26:59 +0800 Subject: ACPICA: Remove unused ACPI register bit definition Removed the ACPI_BITREG_WAKE_ENABLE definition and entry in the global register table. This bit does not exist and is unused. http://www.acpica.org/bugzilla/show_bug.cgi?id=442 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown --- drivers/acpi/utilities/utglobal.c | 1 - 1 file changed, 1 deletion(-) (limited to 'drivers/acpi/utilities/utglobal.c') diff --git a/drivers/acpi/utilities/utglobal.c b/drivers/acpi/utilities/utglobal.c index 0b1e493a8374..670551b95e56 100644 --- a/drivers/acpi/utilities/utglobal.c +++ b/drivers/acpi/utilities/utglobal.c @@ -281,7 +281,6 @@ struct acpi_bit_register_info acpi_gbl_bit_register_info[ACPI_NUM_BITREG] = { /* ACPI_BITREG_RT_CLOCK_ENABLE */ {ACPI_REGISTER_PM1_ENABLE, ACPI_BITPOSITION_RT_CLOCK_ENABLE, ACPI_BITMASK_RT_CLOCK_ENABLE}, - /* ACPI_BITREG_WAKE_ENABLE */ {ACPI_REGISTER_PM1_ENABLE, 0, 0}, /* ACPI_BITREG_PCIEXP_WAKE_DISABLE */ {ACPI_REGISTER_PM1_ENABLE, ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE, ACPI_BITMASK_PCIEXP_WAKE_DISABLE}, -- cgit v1.2.2