ACPICA 20130626 Release
Subsystems (2)
cover ACPICA 20130626 Release
The 20130626 ACPICA kernel resident system updates is linuxized based on the pm/linux-next branch.
The patch set has passed a build/boot test on the following machines:
Dell Inspiron Mini 1010 (i386)
HP Compaq 8200 Elite SFF PC (x86-64)
With the following kernel configuration items enabled:
CONFIG_ACPI_AC
CONFIG_ACPI_BATTERY
CONFIG_ACPI_NUMA
CONFIG_ACPI_PROCESSOR
CONFIG_ACPI_THERMAL
CONFIG_ACPI_VIDEO
CONFIG_CPU_FREQ
CONFIG_I2C_SCMI
CONFIG_SENSORS_ACPI_POWER
CONFIG_PANASONIC_LAPTOP
CONFIG_XO15_EBOOK
No new divergences are introduced in this release.
Please review.
Bob Moore (5):
ACPICA: Comment update
ACPICA: TableManager: Export acpi_tb_scan_memory_for_rsdp()
ACPICA: Disassembler: Expand maximum output string length to 64K
ACPICA: Remove restriction of 256 maximum GPEs in any GPE block
ACPICA: Update version to 20130626
Jung-uk Kim (1):
ACPICA: Fix compiler warnings for casting issues (only some
compilers)
drivers/acpi/acpica/actables.h | 5 +++++ drivers/acpi/acpica/acutils.h | 2 +- drivers/acpi/acpica/evgpeinit.c | 11 ----------- drivers/acpi/acpica/exdump.c | 6 +++--- drivers/acpi/acpica/nsxfname.c | 11 +++++++++-- drivers/acpi/acpica/tbxfroot.c | 4 +--- drivers/acpi/acpica/uteval.c | 8 +++++++- drivers/acpi/acpica/utstring.c | 5 +++-- include/acpi/acpixf.h | 2 +- include/acpi/actypes.h | 7 ------- 10 files changed, 30 insertions(+), 31 deletions(-)
Signature · 1 line
1.7.10
PATCH 1/6 ACPICA: Comment update
From: Bob Moore <[email protected]>
No functional change. Add some comments concerning behavior when the _STA method does not exist. According to the ACPI specification, in this case the device should be assumed to be present, functional, and enabled.
--- drivers/acpi/acpica/nsxfname.c | 7 ++++++- drivers/acpi/acpica/uteval.c | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-)
drivers/acpi/acpica/nsxfname.c +6 -1
@@ -379,9 +379,14 @@ acpi_get_object_info(acpi_handle handle,* Get extra info for ACPI Device/Processor objects only: * Run the _STA, _ADR and, sx_w, and _sx_d methods. * -* Note: none of these methods are required, so they may or may +* Notes: none of these methods are required, so they may or may * not be present for this device. The Info->Valid bitfield is used * to indicate which methods were found and run successfully. +* +* For _STA, if the method does not exist, then (as per the ACPI +* specification), the returned current_status flags will indicate +* that the device is present/functional/enabled. Otherwise, the +* current_status flags reflect the value returned from _STA. */ /* Execute the Device._STA method */
drivers/acpi/acpica/uteval.c +7 -1
@@ -239,7 +239,8 @@ acpi_ut_evaluate_numeric_object(char *object_name,* RETURN: Status * * DESCRIPTION: Executes _STA for selected device and stores results in -* *Flags. +* *Flags. If _STA does not exist, then the device is assumed +* to be present/functional/enabled (as per the ACPI spec). * * NOTE: Internal function, no parameter validation *
@@ -257,6 +258,11 @@ acpi_ut_execute_STA(struct acpi_namespace_node *device_node, u32 * flags) ACPI_BTYPE_INTEGER, &obj_desc);if (ACPI_FAILURE (status)) {if (AE_NOT_FOUND == status) { +/* +* if _STA does not exist, then (as per the ACPI specification), +* the returned flags will indicate that the device is present, +* functional, and enabled. +*/ ACPI_DEBUG_PRINT ((ACPI_DB_EXEC ,"_STA on %4.4s was not found, assuming device is present\n" ,acpi_ut_get_node_name (device_node)));
Signature · 1 line
1.7.10
PATCH 2/6 ACPICA: TableManager: Export acpi_tb_scan_memory_for_rsdp()
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
This patch exports this function to be used by other ACPICA utilities. Chao Guan, Bob Moore.
--- drivers/acpi/acpica/actables.h | 5 +++++ drivers/acpi/acpica/tbxfroot.c | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-)
drivers/acpi/acpica/actables.h +5 -0
@@ -47,6 +47,11 @@acpi_status acpi_allocate_root_table (u32 initial_table_count);/* +* tbxfroot - Root pointer utilities +*/ +u8 *acpi_tb_scan_memory_for_rsdp (u8 *start_address,u32 length); + +/* * tbfadt - FADT parse/convert/validate */ void acpi_tb_parse_fadt (u32 table_index);
drivers/acpi/acpica/tbxfroot.c +1 -3
@@ -49,8 +49,6 @@ACPI_MODULE_NAME ("tbxfroot" ) /* Local prototypes */ -static u8 *acpi_tb_scan_memory_for_rsdp (u8 * start_address,u32 length); -static acpi_status acpi_tb_validate_rsdp (struct acpi_table_rsdp *rsdp);/*******************************************************************************
@@ -231,7 +229,7 @@ acpi_status acpi_find_root_pointer(acpi_size *table_address)* DESCRIPTION: Search a block of memory for the RSDP signature * ******************************************************************************/ -static u8 *acpi_tb_scan_memory_for_rsdp (u8 * start_address,u32 length) +u8 *acpi_tb_scan_memory_for_rsdp (u8 *start_address,u32 length) {acpi_status status;u8 *mem_rover;
Signature · 1 line
1.7.10
PATCH 3/6 ACPICA: Disassembler: Expand maximum output string length to 64K
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
Was 256 bytes max. The original purpose of this constraint was to limit the amount of debug output. However, the string function in question (UtPrintString) is now used for the disassembler also, where 256 bytes is insufficient. Reported by RehabMan@GitHub.
--- drivers/acpi/acpica/acutils.h | 2 +- drivers/acpi/acpica/utstring.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-)
drivers/acpi/acpica/acutils.h +1 -1
@@ -616,7 +616,7 @@ int acpi_ut_stricmp(char *string1, char *string2);acpi_status acpi_ut_strtoul64 (char *string,u32 base,u64 *ret_integer); -void acpi_ut_print_string (char *string,u8 max_length); +void acpi_ut_print_string (char *string,u16 max_length);void ut_convert_backslashes (char *pathname);
drivers/acpi/acpica/utstring.c +3 -2
@@ -333,7 +333,8 @@ acpi_status acpi_ut_strtoul64(char *string, u32 base, u64 *ret_integer)* FUNCTION: acpi_ut_print_string * * PARAMETERS: string - Null terminated ASCII string -* max_length - Maximum output length +* max_length - Maximum output length. Used to constrain the +* length of strings during debug output only. * * RETURN: None *
@@ -342,7 +343,7 @@ acpi_status acpi_ut_strtoul64(char *string, u32 base, u64 *ret_integer)* ******************************************************************************/ -void acpi_ut_print_string (char *string,u8 max_length) +void acpi_ut_print_string (char *string,u16 max_length) {u32 i;
Signature · 1 line
1.7.10
PATCH 4/6 ACPICA: Remove restriction of 256 maximum GPEs in any GPE block
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
The FADT can support over 1000 GPEs, so remove any restriction on the GPE numbers.
--- drivers/acpi/acpica/evgpeinit.c | 11 ----------- include/acpi/actypes.h | 7 ------- 2 files changed, 18 deletions(-)
drivers/acpi/acpica/evgpeinit.c +0 -11
@@ -125,7 +125,6 @@ acpi_status acpi_ev_gpe_initialize(void)/* GPE block 0 exists (has both length and address > 0) */ register_count0 = (u16)(acpi_gbl_FADT.gpe0_block_length /2 ); - gpe_number_max = (register_count0 *ACPI_GPE_REGISTER_WIDTH ) -1 ;
@@ -204,16 +203,6 @@ acpi_status acpi_ev_gpe_initialize(void) goto cleanup; } -/* Check for Max GPE number out-of-range */ - -if (gpe_number_max >ACPI_GPE_MAX ) { -ACPI_ERROR ((AE_INFO , -"Maximum GPE number from FADT is too large: 0x%X" , - gpe_number_max)); - status =AE_BAD_VALUE ; - goto cleanup; - } - cleanup: (void )acpi_ut_release_mutex (ACPI_MTX_NAMESPACE );return_ACPI_STATUS (AE_OK );
include/acpi/actypes.h +0 -7
@@ -668,13 +668,6 @@ typedef u32 acpi_event_status;#define ACPI_EVENT_FLAG_SET (acpi_event_status) 0x04#define ACPI_EVENT_FLAG_HANDLE (acpi_event_status) 0x08 -/* -* General Purpose Events (GPE) -*/ -#define ACPI_GPE_INVALID 0xFF -#define ACPI_GPE_MAX 0xFF -#define ACPI_NUM_GPE 256 -/* Actions for acpi_set_gpe, acpi_gpe_wakeup, acpi_hw_low_set_gpe */ #define ACPI_GPE_ENABLE 0
Signature · 1 line
1.7.10
PATCH 5/6 ACPICA: Fix compiler warnings for casting issues (only some compilers)
In reply to Lv ZhengFrom: Jung-uk Kim <[email protected]>
Fixes compiler warnings from GCC 4.2 and perhaps other compilers. Jung-uk Kim <[email protected]>
--- drivers/acpi/acpica/exdump.c | 6 +++--- drivers/acpi/acpica/nsxfname.c | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-)
drivers/acpi/acpica/exdump.c +3 -3
@@ -338,6 +338,7 @@ acpi_ex_dump_object(union acpi_operand_object *obj_desc, {u8 *target;char *name; +const char *reference_name;u8 count;if (!info) {
@@ -426,10 +427,9 @@ acpi_ex_dump_object(union acpi_operand_object *obj_desc,case ACPI_EXD_REFERENCE : + reference_name =acpi_ut_get_reference_name (obj_desc);acpi_ex_out_string ("Class Name" , -ACPI_CAST_PTR (char, -acpi_ut_get_reference_name - (obj_desc))); +ACPI_CAST_PTR (char, reference_name));acpi_ex_dump_reference_obj (obj_desc);break ;
drivers/acpi/acpica/nsxfname.c +3 -1
@@ -158,6 +158,7 @@ acpi_get_name(acpi_handle handle, u32 name_type, struct acpi_buffer * buffer) {acpi_status status;struct acpi_namespace_node *node; +char *node_name;/* Parameter validation */
@@ -202,7 +203,8 @@ acpi_get_name(acpi_handle handle, u32 name_type, struct acpi_buffer * buffer)/* Just copy the ACPI name from the Node and zero terminate it */ -ACPI_MOVE_NAME (buffer->pointer,acpi_ut_get_node_name (node)); + node_name =acpi_ut_get_node_name (node); +ACPI_MOVE_NAME (buffer->pointer, node_name); ((char *)buffer->pointer)[ACPI_NAME_SIZE ] =0 ; status =AE_OK ;
Signature · 1 line
1.7.10
PATCH 6/6 ACPICA: Update version to 20130626
In reply to Lv ZhengFrom: Bob Moore <[email protected]>
Version 20130626.
--- include/acpi/acpixf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/acpi/acpixf.h +1 -1
@@ -46,7 +46,7 @@/* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20130517 +#define ACPI_CA_VERSION 0x20130626#include <acpi/acconfig.h> #include <acpi/actypes.h>
Signature · 1 line
1.7.10