ACPICA version 20191018v2
Subsystems (3)
v2 cover ACPICA version 20191018v2
V2 - fixed build warnings
This patchset contains the linuxized patches for ACPICA version 20191018. There are several debugger changes but they are meant for acpiexec at this time. acpi_load_table definition has been modified and a new acpi_unload_table has been added. These new interfaces can be used as a part of config fs to load and unload tables.
Other than that, Bob has run clang on our code base and removed several compiler warnings.
This patchset is also available here:
https://github.com/SchmErik/linux/tree/v20191018
Bob Moore (5):
ACPICA: Results from Clang changes/fixes From Clang V5.0.1. Mostly
"set but never read" warnings.
ACPICA: Win OSL: Replace get_tick_count with get_tick_count64
ACPICA: More Clang changes - V8.0.1 Fixed all "dead assignment"
warnings.
ACPICA: Add new external interface, acpi_unload_table
ACPICA: Update version to 20191018
Erik Schmauss (6):
ACPICA: utilities: add flag to only display data when dumping buffers
ACPICA: debugger: add command to dump all fields of a particular
subtype
ACPICA: debugger: surround field unit output with braces '{'
ACPICA: debugger: add field unit support for acpi_db_get_next_token
ACPICA: acpiexec: initialize all simple types and field units from
user input
ACPICA: debugger: remove leading whitespaces when converting a string
to a buffer
Nikolaus Voss (1):
ACPICA: make acpi_load_table() return table index
drivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/acdebug.h | 2 + drivers/acpi/acpica/acstruct.h | 10 +++ drivers/acpi/acpica/acutils.h | 9 +-- drivers/acpi/acpica/dbconvert.c | 4 ++ drivers/acpi/acpica/dbdisply.c | 2 - drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/dbinput.c | 36 +++++++++- drivers/acpi/acpica/dbmethod.c | 4 ++ drivers/acpi/acpica/dbnames.c | 114 ++++++++++++++++++++++++++++++++ drivers/acpi/acpica/dbobject.c | 1 - drivers/acpi/acpica/dscontrol.c | 2 +- drivers/acpi/acpica/dsfield.c | 12 +--- drivers/acpi/acpica/evgpeblk.c | 11 +-- drivers/acpi/acpica/evgpeinit.c | 3 - drivers/acpi/acpica/evmisc.c | 12 +++- drivers/acpi/acpica/evregion.c | 4 +- drivers/acpi/acpica/evrgnini.c | 1 - drivers/acpi/acpica/hwxfsleep.c | 3 + drivers/acpi/acpica/nsconvert.c | 2 +- drivers/acpi/acpica/nsdump.c | 6 +- drivers/acpi/acpica/nsxfname.c | 4 +- drivers/acpi/acpica/psobject.c | 7 +- drivers/acpi/acpica/rscreate.c | 3 + drivers/acpi/acpica/tbdata.c | 3 + drivers/acpi/acpica/tbxfload.c | 40 ++++++++++- drivers/acpi/acpica/utbuffer.c | 52 ++++++++------- drivers/acpi/acpica/utids.c | 2 - drivers/acpi/acpica/uttrack.c | 2 +- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 8 ++- 31 files changed, 291 insertions(+), 74 deletions(-)
Signature · 1 line
2.21.0
PATCH v2 1/12 ACPICA: Results from Clang changes/fixes From Clang V5.0.1. Mostly "set but never read" warnings.
From: Bob Moore <[email protected]>
ACPICA commit 1f08279b3eb13f17004159c28c391a390cd68feb
--- drivers/acpi/acpica/dbdisply.c | 2 -- drivers/acpi/acpica/dbinput.c | 1 - drivers/acpi/acpica/dbmethod.c | 4 ++++ drivers/acpi/acpica/dbobject.c | 1 - drivers/acpi/acpica/dsfield.c | 3 --- drivers/acpi/acpica/evgpeblk.c | 11 +++++++---- drivers/acpi/acpica/evgpeinit.c | 3 --- drivers/acpi/acpica/evmisc.c | 12 ++++++++++-- drivers/acpi/acpica/evregion.c | 4 ++-- drivers/acpi/acpica/evrgnini.c | 1 - drivers/acpi/acpica/nsdump.c | 4 ++-- drivers/acpi/acpica/psobject.c | 5 ++--- drivers/acpi/acpica/uttrack.c | 2 +- 13 files changed, 28 insertions(+), 25 deletions(-)
drivers/acpi/acpica/dbdisply.c +0 -2
@@ -513,7 +513,6 @@ void acpi_db_display_results(void)return ; } - obj_desc = walk_state->method_desc; node = walk_state->method_node;if (walk_state->results) {
@@ -565,7 +564,6 @@ void acpi_db_display_calling_tree(void)return ; } - node = walk_state->method_node;acpi_os_printf ("Current Control Method Call Tree\n" );while (walk_state) {
drivers/acpi/acpica/dbinput.c +0 -1
@@ -689,7 +689,6 @@ acpi_db_command_dispatch(char *input_buffer, param_count =acpi_db_get_line (input_buffer); command_index =acpi_db_match_command (acpi_gbl_db_args[0 ]); - temp =0 ;/* * We don't want to add the !! command to the history buffer. It
drivers/acpi/acpica/dbmethod.c +4 -0
@@ -321,6 +321,10 @@ acpi_status acpi_db_disassemble_method(char *name) walk_state->parse_flags |=ACPI_PARSE_DISASSEMBLE ; status =acpi_ps_parse_aml (walk_state); +if (ACPI_FAILURE (status)) { +return (status); + } + (void )acpi_dm_parse_deferred_ops (op);/* Now we can disassemble the method */
drivers/acpi/acpica/dbobject.c +0 -1
@@ -464,7 +464,6 @@ void acpi_db_decode_arguments(struct acpi_walk_state *walk_state)u8 display_args = FALSE; node = walk_state->method_node; - obj_desc = walk_state->method_desc;/* There are no arguments for the module-level code case */
drivers/acpi/acpica/dsfield.c +0 -3
@@ -149,7 +149,6 @@ acpi_ds_create_buffer_field(union acpi_parse_object *op,if (walk_state->deferred_node) { node = walk_state->deferred_node; - status =AE_OK ; }else {/* Execute flag should always be set when this function is entered */
@@ -636,8 +635,6 @@ acpi_ds_init_field_objects(union acpi_parse_object *op, }/* Name already exists, just ignore this error */ - - status =AE_OK ; } arg->common.node = node;
drivers/acpi/acpica/evgpeblk.c +7 -4
@@ -110,6 +110,9 @@ acpi_status acpi_ev_delete_gpe_block(struct acpi_gpe_block_info *gpe_block) status =acpi_hw_disable_gpe_block (gpe_block->xrupt_block, gpe_block,NULL ); +if (ACPI_FAILURE (status)) { +return_ACPI_STATUS (status); + }if (!gpe_block->previous && !gpe_block->next) {
@@ -359,10 +362,10 @@ acpi_ev_create_gpe_block(struct acpi_namespace_node *gpe_device, walk_info.gpe_device = gpe_device; walk_info.execute_by_owner_id = FALSE; - status =acpi_ns_walk_namespace (ACPI_TYPE_METHOD , gpe_device, -ACPI_UINT32_MAX ,ACPI_NS_WALK_NO_UNLOCK , - acpi_ev_match_gpe_method,NULL , - &walk_info,NULL ); + (void )acpi_ns_walk_namespace (ACPI_TYPE_METHOD , gpe_device, +ACPI_UINT32_MAX ,ACPI_NS_WALK_NO_UNLOCK , + acpi_ev_match_gpe_method,NULL , &walk_info, +NULL );/* Return the new block */
drivers/acpi/acpica/evgpeinit.c +0 -3
@@ -156,8 +156,6 @@ acpi_status acpi_ev_gpe_initialize(void)* GPE0 and GPE1 do not have to be contiguous in the GPE number * space. However, GPE0 always starts at GPE number zero. */ - gpe_number_max = acpi_gbl_FADT.gpe1_base + - ((register_count1 *ACPI_GPE_REGISTER_WIDTH ) -1 ); } }
@@ -169,7 +167,6 @@ acpi_status acpi_ev_gpe_initialize(void)ACPI_DEBUG_PRINT ((ACPI_DB_INIT ,"There are no GPE blocks defined in the FADT\n" )); - status =AE_OK ; goto cleanup; }
drivers/acpi/acpica/evmisc.c +10 -2
@@ -230,11 +230,15 @@ void acpi_ev_terminate(void)/* Disable all GPEs in all GPE blocks */ status =acpi_ev_walk_gpe_list (acpi_hw_disable_gpe_block,NULL ); +if (ACPI_FAILURE (status)) { +ACPI_EXCEPTION ((AE_INFO , status, +"Could not disable GPEs in GPE block" )); + } status =acpi_ev_remove_global_lock_handler ();if (ACPI_FAILURE (status)) { -ACPI_ERROR ((AE_INFO , -"Could not remove Global Lock handler" )); +ACPI_EXCEPTION ((AE_INFO , status, +"Could not remove Global Lock handler" )); } acpi_gbl_events_initialized = FALSE;
@@ -250,6 +254,10 @@ void acpi_ev_terminate(void)/* Deallocate all handler objects installed within GPE info structs */ status =acpi_ev_walk_gpe_list (acpi_ev_delete_gpe_handlers,NULL ); +if (ACPI_FAILURE (status)) { +ACPI_EXCEPTION ((AE_INFO , status, +"Could not delete GPE handlers" )); + }/* Return to original mode if necessary */
drivers/acpi/acpica/evregion.c +2 -2
@@ -836,11 +836,11 @@ acpi_ev_orphan_ec_reg_method(struct acpi_namespace_node *ec_device_node) objects[1 ].type =ACPI_TYPE_INTEGER ; objects[1 ].integer.value =ACPI_REG_CONNECT ; - status =acpi_evaluate_object (reg_method,NULL , &args,NULL ); + (void )acpi_evaluate_object (reg_method,NULL , &args,NULL ); exit:/* We ignore all errors from above, don't care */ - status =acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE ); + (void )acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE ); return_VOID; }
drivers/acpi/acpica/evrgnini.c +0 -1
@@ -198,7 +198,6 @@ acpi_ev_pci_config_region_setup(acpi_handle handle,* root bridge. Still need to return a context object * for the new PCI_Config operation region, however. */ - status =AE_OK ; }else { ACPI_EXCEPTION((AE_INFO, status, "Could not install PciConfig handler "
drivers/acpi/acpica/nsdump.c +2 -2
@@ -291,7 +291,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,for (i =0 ; (i < obj_desc->buffer.length && i <12 ); i++) { -acpi_os_printf (" %.2hX" , +acpi_os_printf (" %2.2X" , obj_desc->buffer. pointer[i]); }
@@ -404,7 +404,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,case ACPI_TYPE_LOCAL_BANK_FIELD :case ACPI_TYPE_LOCAL_INDEX_FIELD : - acpi_os_printf(" Off %.3X Len %.2X Acc %.2hd\n", + acpi_os_printf(" Off %.3X Len %.2X Acc %.2X\n", (obj_desc->common_field. base_byte_offset * 8) +
drivers/acpi/acpica/psobject.c +2 -3
@@ -480,9 +480,8 @@ acpi_ps_complete_op(struct acpi_walk_state *walk_state,acpi_ps_get_opcode_info ((*op)->common.aml_opcode); walk_state->opcode = (*op)->common.aml_opcode; - status = walk_state->ascending_callback (walk_state); - status = -acpi_ps_next_parse_state (walk_state, *op, status); + (void )walk_state->ascending_callback (walk_state); + (void )acpi_ps_next_parse_state (walk_state, *op, status); status2 =acpi_ps_complete_this_op (walk_state, *op);if (ACPI_FAILURE (status2)) {
drivers/acpi/acpica/uttrack.c +1 -1
@@ -660,7 +660,7 @@ void acpi_ut_dump_allocations(u32 component, const char *module)case ACPI_DESC_TYPE_PARSER :acpi_os_printf - ("AmlOpcode 0x%04hX\n" , + ("AmlOpcode 0x%04X\n" , descriptor->op.asl. aml_opcode);break ;
Signature · 1 line
2.21.0
PATCH v2 2/12 ACPICA: Win OSL: Replace get_tick_count with get_tick_count64
In reply to Erik SchmaussFrom: Bob Moore <[email protected]>
ACPICA commit 7bc16c650317001bc82d4bae227b888a49c51f5e
Avoid possible overflow from get_tick_count. Also, cast math using ACPI_100NSEC_PER_MSEC to uint64.
--- drivers/acpi/acpica/dscontrol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/acpi/acpica/dscontrol.c +1 -1
@@ -85,7 +85,7 @@ acpi_ds_exec_begin_control_op(struct acpi_walk_state *walk_state, walk_state->parser_state.pkg_end; control_state->control.opcode = op->common.aml_opcode; control_state->control.loop_timeout =acpi_os_get_timer () + - (u64)(acpi_gbl_max_loop_iterations *ACPI_100NSEC_PER_SEC ); + ((u64 )acpi_gbl_max_loop_iterations *ACPI_100NSEC_PER_SEC );/* Push the control state on this walk's control stack */
Signature · 1 line
2.21.0
PATCH v2 3/12 ACPICA: More Clang changes - V8.0.1 Fixed all "dead assignment" warnings.
In reply to Erik SchmaussFrom: Bob Moore <[email protected]>
ACPICA commit 54b3aefb5de860306951c8c3339b1c37dcdf1b39
--- drivers/acpi/acpica/hwxfsleep.c | 3 +++ drivers/acpi/acpica/nsconvert.c | 2 +- drivers/acpi/acpica/nsdump.c | 2 -- drivers/acpi/acpica/nsxfname.c | 4 ++-- drivers/acpi/acpica/psobject.c | 6 ++---- drivers/acpi/acpica/rscreate.c | 3 +++ drivers/acpi/acpica/tbdata.c | 3 +++ drivers/acpi/acpica/utids.c | 2 -- 8 files changed, 14 insertions(+), 11 deletions(-)
drivers/acpi/acpica/hwxfsleep.c +3 -0
@@ -166,6 +166,9 @@ acpi_status acpi_enter_sleep_state_s4bios(void) status =acpi_hw_write_port (acpi_gbl_FADT.smi_command, (u32 )acpi_gbl_FADT.s4_bios_request,8 ); +if (ACPI_FAILURE (status)) { +return_ACPI_STATUS (status); + } do { acpi_os_stall(ACPI_USEC_PER_MSEC);
drivers/acpi/acpica/nsconvert.c +1 -1
@@ -486,5 +486,5 @@ acpi_ns_convert_to_reference(struct acpi_namespace_node *scope, error_exit:ACPI_FREE (name); *return_object = new_object; -return (AE_OK ); +return (status); }
drivers/acpi/acpica/nsdump.c +0 -2
@@ -589,8 +589,6 @@ acpi_ns_dump_one_object(acpi_handle obj_handle, goto cleanup; } - - obj_type =ACPI_TYPE_INVALID ;/* Terminate loop after next pass */ } cleanup:
drivers/acpi/acpica/nsxfname.c +2 -2
@@ -425,8 +425,8 @@ acpi_get_object_info(acpi_handle handle, }if (cls) { - next_id_string =acpi_ns_copy_device_id (&info->class_code, - cls, next_id_string); + (void )acpi_ns_copy_device_id (&info->class_code, + cls, next_id_string); }/* Copy the fixed-length data */
drivers/acpi/acpica/psobject.c +2 -4
@@ -480,7 +480,7 @@ acpi_ps_complete_op(struct acpi_walk_state *walk_state,acpi_ps_get_opcode_info ((*op)->common.aml_opcode); walk_state->opcode = (*op)->common.aml_opcode; - (void )walk_state->ascending_callback (walk_state); + status = walk_state->ascending_callback (walk_state); (void )acpi_ps_next_parse_state (walk_state, *op, status); status2 =acpi_ps_complete_this_op (walk_state, *op);
@@ -489,7 +489,6 @@ acpi_ps_complete_op(struct acpi_walk_state *walk_state, } } - status =AE_OK ;break ;case AE_CTRL_BREAK :
@@ -511,14 +510,13 @@ acpi_ps_complete_op(struct acpi_walk_state *walk_state, walk_state->opcode = (*op)->common.aml_opcode; status = walk_state->ascending_callback (walk_state); - status =acpi_ps_next_parse_state (walk_state, *op, status); + (void )acpi_ps_next_parse_state (walk_state, *op, status); status2 =acpi_ps_complete_this_op (walk_state, *op);if (ACPI_FAILURE (status2)) {return_ACPI_STATUS (status2); } - status =AE_OK ;break ;case AE_CTRL_TERMINATE :
drivers/acpi/acpica/rscreate.c +3 -0
@@ -312,6 +312,9 @@ acpi_rs_create_pci_routing_table(union acpi_operand_object *package_object, path_buffer.pointer = user_prt->source; status =acpi_ns_handle_to_pathname ((acpi_handle )node, &path_buffer, FALSE); +if (ACPI_FAILURE (status)) { +return_ACPI_STATUS (status); + }/* +1 to include null terminator */
drivers/acpi/acpica/tbdata.c +3 -0
@@ -933,6 +933,9 @@ acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node) } status =acpi_ns_load_table (table_index, parent_node); +if (ACPI_FAILURE (status)) { +return_ACPI_STATUS (status); + }/* * Update GPEs for any new _Lxx/_Exx methods. Ignore errors. The host is
drivers/acpi/acpica/utids.c +0 -2
@@ -289,9 +289,7 @@ acpi_ut_execute_CID(struct acpi_namespace_node *device_node, value); length =ACPI_EISAID_STRING_SIZE ; }else {/* ACPI_TYPE_STRING */ -/* Copy the String CID from the returned object */ -strcpy (next_id_string, cid_objects[i]->string.pointer); length = cid_objects[i]->string.length +1 ; }
Signature · 1 line
2.21.0
PATCH v2 4/12 ACPICA: Add new external interface, acpi_unload_table
In reply to Erik SchmaussFrom: Bob Moore <[email protected]>
ACPICA commit c69369cd9cf0134e1aac516e97d612947daa8dc2
Unload a table via the table_index.
--- drivers/acpi/acpica/tbxfload.c | 32 ++++++++++++++++++++++++++++++++ include/acpi/acpixf.h | 3 +++ 2 files changed, 35 insertions(+)
drivers/acpi/acpica/tbxfload.c +32 -0
@@ -390,3 +390,35 @@ acpi_status acpi_unload_parent_table(acpi_handle object) }ACPI_EXPORT_SYMBOL (acpi_unload_parent_table) +/******************************************************************************* +* +* FUNCTION: acpi_unload_table +* +* PARAMETERS: table_index - Index as returned by acpi_load_table +* +* RETURN: Status +* +* DESCRIPTION: Via the table_index representing an SSDT or OEMx table, unloads +* the table and deletes all namespace objects associated with +* that table. Unloading of the DSDT is not allowed. +* Note: Mainly intended to support hotplug removal of SSDTs. +* +******************************************************************************/ +acpi_status acpi_unload_table(u32 table_index) +{ +acpi_status status; + +ACPI_FUNCTION_TRACE (acpi_unload_table); + +if (table_index ==1 ) { + +/* table_index==1 means DSDT is the owner. DSDT cannot be unloaded */ + +return_ACPI_STATUS (AE_TYPE ); + } + + status =acpi_tb_unload_table (table_index); +return_ACPI_STATUS (status); +} + +ACPI_EXPORT_SYMBOL (acpi_unload_table)
include/acpi/acpixf.h +3 -0
@@ -460,6 +460,9 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_load_table(struct acpi_table_header *table)) +ACPI_EXTERNAL_RETURN_STATUS(acpi_status + acpi_unload_table(u32 table_index)) + ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_unload_parent_table(acpi_handle object))
Signature · 1 line
2.21.0
PATCH v2 5/12 ACPICA: make acpi_load_table() return table index
In reply to Erik SchmaussFrom: Nikolaus Voss <[email protected]>
ACPICA commit d1716a829d19be23277d9157c575a03b9abb7457
For unloading an ACPI table, it is necessary to provide the index of the table. The method intended for dynamically loading or hotplug addition of tables, acpi_load_table(), should provide this information via an optional pointer to the loaded table index.
This patch fixes the table unload function of acpi_configfs.
--- drivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/tbxfload.c | 8 +++++++- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 3 ++- 5 files changed, 12 insertions(+), 5 deletions(-)
drivers/acpi/acpi_configfs.c +1 -1
@@ -53,7 +53,7 @@ static ssize_t acpi_table_aml_write(struct config_item *cfg,if (!table->header)return -ENOMEM ; - ret =acpi_load_table (table->header); + ret =acpi_load_table (table->header, &table->index);if (ret) {kfree (table->header); table->header =NULL ;
drivers/acpi/acpica/dbfileio.c +1 -1
@@ -93,7 +93,7 @@ acpi_status acpi_db_load_tables(struct acpi_new_table_desc *list_head)while (table_list_head) { table = table_list_head->table; - status =acpi_load_table (table); + status =acpi_load_table (table,NULL );if (ACPI_FAILURE (status)) {if (status ==AE_ALREADY_EXISTS ) { acpi_os_printf
drivers/acpi/acpica/tbxfload.c +7 -1
@@ -268,6 +268,8 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* * PARAMETERS: table - Pointer to a buffer containing the ACPI * table to be loaded. +* table_idx - Pointer to a u32 for storing the table +* index, might be NULL * * RETURN: Status *
@@ -278,7 +280,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* to ensure that the table is not deleted or unmapped. * ******************************************************************************/ -acpi_status acpi_load_table (struct acpi_table_header *table) +acpi_status acpi_load_table (struct acpi_table_header *table,u32 *table_idx) {acpi_status status;u32 table_index;
@@ -297,6 +299,10 @@ acpi_status acpi_load_table(struct acpi_table_header *table) status =acpi_tb_install_and_load_table (ACPI_PTR_TO_PHYSADDR (table),ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL , FALSE, &table_index); +if (table_idx) { + *table_idx = table_index; + } +if (ACPI_SUCCESS (status)) {/* Complete the initialization/resolution of new objects */
drivers/firmware/efi/efi.c +1 -1
@@ -296,7 +296,7 @@ static __init int efivar_ssdt_load(void) goto free_data; } - ret =acpi_load_table (data); + ret =acpi_load_table (data,NULL );if (ret) {pr_err ("failed to load table: %d\n" , ret); goto free_data;
include/acpi/acpixf.h +2 -1
@@ -458,7 +458,8 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION u8 physical)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status - acpi_load_table(struct acpi_table_header *table)) + acpi_load_table(struct acpi_table_header *table, + u32 *table_idx)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_unload_table(u32 table_index))
Signature · 1 line
2.21.0
Re: [PATCH v2 05/12] ACPICA: make acpi_load_table() return table index
Quoted 9 lines · Erik Schmauss
From: Nikolaus Voss <[email protected]>
ACPICA commit
d1716a829d19be23277d9157c575a03b9abb7457For unloading an ACPI table, it is necessary to provide the index of the table. The method intended for dynamically loading or hotplug addition of tables,
acpi_load_table(), should provide this information via an optional pointer to the loaded table index.
Quoted 4 lines
This patch fixes the table unload function of
acpi_configfs.Reported-by Andy Shevchenko <[email protected]>Fixes d06c47e3dd07f ("ACPI: configfs: Resolve objects on host-directed table loads")
So, as far as I understand and Rafael mentioned ACPICA includes only changes related to itself. It means that for configfs.c we may need a modified patch. Anyway, I will test this to be sure we have a working base for further improvements.
Quoted 102 lines
Signed-off-by Nikolaus Voss <[email protected]>Signed-off-by Erik Schmauss <[email protected]>Signed-off-by Bob Moore <[email protected]>--- drivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/tbxfload.c | 8 +++++++- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 3 ++- 5 files changed, 12 insertions(+), 5 deletions(-)drivers/acpi/acpi_configfs.c +1
-1@@ -53,7 +53,7 @@ static ssize_t acpi_table_aml_write(struct config_item *cfg,if (!table->header)return -ENOMEM ; - ret =acpi_load_table (table->header); + ret =acpi_load_table (table->header, &table->index);if (ret) {kfree (table->header); table->header =NULL ;drivers/acpi/acpica/dbfileio.c +1
-1@@ -93,7 +93,7 @@ acpi_status acpi_db_load_tables(struct acpi_new_table_desc *list_head)while (table_list_head) { table = table_list_head->table; - status =acpi_load_table (table); + status =acpi_load_table (table,NULL );if (ACPI_FAILURE (status)) {if (status ==AE_ALREADY_EXISTS ) { acpi_os_printfdrivers/acpi/acpica/tbxfload.c +7
-1@@ -268,6 +268,8 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* * PARAMETERS: table - Pointer to a buffer containing the ACPI * table to be loaded. +* table_idx - Pointer to a u32 for storing the table +* index, might be NULL * * RETURN: Status * @@ -278,7 +280,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* to ensure that the table is not deleted or unmapped. * ******************************************************************************/ -acpi_status acpi_load_table (struct acpi_table_header *table) +acpi_status acpi_load_table (struct acpi_table_header *table,u32 *table_idx) {acpi_status status;u32 table_index;@@ -297,6 +299,10 @@ acpi_status acpi_load_table(struct acpi_table_header *table) status =acpi_tb_install_and_load_table (ACPI_PTR_TO_PHYSADDR (table),ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL , FALSE, &table_index); +if (table_idx) { + *table_idx = table_index; + } +if (ACPI_SUCCESS (status)) {/* Complete the initialization/resolution of new objects */ drivers/firmware/efi/efi.c +1
-1@@ -296,7 +296,7 @@ static __init int efivar_ssdt_load(void) goto free_data; } - ret =acpi_load_table (data); + ret =acpi_load_table (data,NULL );if (ret) {pr_err ("failed to load table: %d\n" , ret); goto free_data;include/acpi/acpixf.h +2
-1@@ -458,7 +458,8 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION u8 physical)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status - acpi_load_table(struct acpi_table_header *table)) + acpi_load_table(struct acpi_table_header *table, + u32 *table_idx)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_unload_table(u32 table_index))Signature · 1 line
2.21.0
Signature · 2 lines
With Best Regards, Andy Shevchenko
RE: [PATCH v2 05/12] ACPICA: make acpi_load_table() return table index
Quoted 24 lines
-----Original Message-----
From: Andy Shevchenko <[email protected]>
Sent: Saturday, October 26, 2019 7:45 AM
To: Schmauss, Erik <[email protected]>
Cc: Rafael J . Wysocki <[email protected]>; [email protected]; Nikolaus Voss <[email protected]>; Moore, Robert <[email protected]>
Subject: Re: [PATCH v2 05/12] ACPICA: makeacpi_load_table()return table indexQuoted 11 lines · Erik Schmauss
From: Nikolaus Voss <[email protected]>
ACPICA commit
d1716a829d19be23277d9157c575a03b9abb7457For unloading an ACPI table, it is necessary to provide the index of the table. The method intended for dynamically loading or hotplug addition of tables,
acpi_load_table(), should provide this information via an optional pointer to the loaded table index.This patch fixes the table unload function of
acpi_configfs.
Quoted 8 lines
Quoted 3 lines
Reported-by Andy Shevchenko <[email protected]>Fixes d06c47e3dd07f ("ACPI: configfs: Resolve objects onhost-directed table loads")
So, as far as I understand and Rafael mentioned ACPICA includes only changes related to itself. It means that for
configfs.cwe may need a modified patch. Anyway, I will test this to be sure we have a working base for further improvements.
These contain changes from his original patch in configfs. For simplicity, we just held on to his patch until the ACPICA release.
Let me know if there is anything else that needs to be added to this patch.
Thanks,
Erik
Quoted 121 lines
drivers/acpi/acpi_configfs.c static ssize_t acpi_table_aml_write(struct config_item
Quoted 19 lines
Signed-off-by Nikolaus Voss <[email protected]>Signed-off-by Erik Schmauss <[email protected]>Signed-off-by Bob Moore <[email protected]>--- drivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/tbxfload.c | 8 +++++++- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 3 ++- 5 files changed, 12 insertions(+), 5 deletions(-)(quoted diff) +0
-0
b/drivers/acpi/acpi_configfs.cindex57d9d574d4dd..77f81242a28e100644drivers/acpi/acpi_configfs.c +0
-0@@ -53,7 +53,7 @@ static ssize_t acpi_table_aml_write(struct config_item*cfg,
drivers/acpi/acpica/dbfileio.c acpi_status acpi_db_load_tables(struct
Quoted 14 lines
drivers/acpi/acpi_configfs.c +1
-1if (!table->header)return -ENOMEM ; - ret =acpi_load_table (table->header); + ret =acpi_load_table (table->header, &table->index);if (ret) {kfree (table->header); table->header =NULL ;(quoted diff) +0
-0
b/drivers/acpi/acpica/dbfileio.cindexc6e25734dc5c..e1b6e54a96ac100644drivers/acpi/acpica/dbfileio.c +0
-0@@ -93,7 +93,7 @@ acpi_status acpi_db_load_tables(struct
acpi_new_table_desc*list_head)Quoted 23 lines
drivers/acpi/acpica/dbfileio.c +1
-1while (table_list_head) { table = table_list_head->table; - status =acpi_load_table (table); + status =acpi_load_table (table,NULL );if (ACPI_FAILURE (status)) {if (status ==AE_ALREADY_EXISTS ) { acpi_os_printf(quoted diff) +0
-0
b/drivers/acpi/acpica/tbxfload.cindexce86e7945e90..0782acf85722100644drivers/acpi/acpica/tbxfload.c +2
-0@@ -268,6 +268,8 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* * PARAMETERS: table - Pointer to a buffer containing the ACPI * table to be loaded. +* table_idx - Pointer to a u32 for storing the table +* index, might be NULL * * RETURN: Status * drivers/acpi/acpica/tbxfload.c ACPI_EXPORT_SYMBOL_INIT(acpi_install_table) · line 283
Quoted 4 lines
drivers/acpi/acpica/tbxfload.c +0
-0@@ -278,7 +280,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* to ensure that the table is not deleted or unmapped. * *******************************************************************
***drivers/acpi/acpica/tbxfload.c acpi_status acpi_load_table(struct
Quoted 8 lines
drivers/acpi/acpica/tbxfload.c +2
-0********/ -acpi_status acpi_load_table(struct acpi_table_header *table) +acpi_status acpi_load_table(struct acpi_table_header *table, u32 +*table_idx) {acpi_status status;u32 table_index;@@ -297,6 +299,10 @@ acpi_status acpi_load_table(struct
acpi_table_header*table)drivers/acpi/acpica/tbxfload.c acpi_status acpi_load_table(struct · line 299
Quoted 1 line
drivers/acpi/acpica/tbxfload.c +0
-0status =acpi_tb_install_and_load_table(ACPI_PTR_TO_PHYSADDR(table),
Quoted 1 line
ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL,include/acpi/acpixf.h ACPI_EXTERNAL_RETURN_STATUS(acpi_status
Quoted 26 lines
drivers/acpi/acpica/tbxfload.c +4
-1FALSE, &table_index); +if (table_idx) { + *table_idx = table_index; + } +if (ACPI_SUCCESS (status)) {/* Complete the initialization/resolution of new objects */ diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index
69f00f7453a3..0d65cb21519d100644drivers/firmware/efi/efi.c +1
-1@@ -296,7 +296,7 @@ static __init int efivar_ssdt_load(void) goto free_data; } - ret =acpi_load_table (data); + ret =acpi_load_table (data,NULL );if (ret) {pr_err ("failed to load table: %d\n" , ret); goto free_data;include/acpi/acpixf.h index renamed from include/acpi/acpixf.h +0
-0
109b2f14b6c6..867170049b07100644include/acpi/acpixf.h +0
-0@@ -458,7 +458,8 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status
ACPI_INIT_FUNCTIONQuoted 10 lines
include/acpi/acpixf.h +2
-2u8 physical)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status - acpi_load_table(struct acpi_table_header *table)) + acpi_load_table(struct acpi_table_header *table, + u32 *table_idx)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_unload_table(u32 table_index)) --Quoted 2 lines
2.21.0
--
With Best Regards,
Andy Shevchenko
Re: [PATCH v2 05/12] ACPICA: make acpi_load_table() return table index
In reply to Erik SchmaussQuoted 10 lines · Erik Schmauss
From: Nikolaus Voss <[email protected]>
ACPICA commit
d1716a829d19be23277d9157c575a03b9abb7457For unloading an ACPI table, it is necessary to provide the index of the table. The method intended for dynamically loading or hotplug addition of tables,
acpi_load_table(), should provide this information via an optional pointer to the loaded table index.This patch fixes the table unload function of
acpi_configfs.
I have tested this one as is and with the following change
drivers/acpi/acpi_configfs.c +1 -1
@@ -223,7 +223,7 @@ static void acpi_table_drop_item(struct config_group *group, struct acpi_table *table = container_of(cfg, struct acpi_table, cfg);ACPI_INFO (("Host-directed Dynamic ACPI Table Unload" )); -acpi_tb_unload_table (table->index); +acpi_unload_table (table->index); }
...and it works in both cases
Quoted 105 lines
Reported-by Andy Shevchenko <[email protected]>Fixes d06c47e3dd07f ("ACPI: configfs: Resolve objects on host-directed table loads")Signed-off-by Nikolaus Voss <[email protected]>Signed-off-by Erik Schmauss <[email protected]>Signed-off-by Bob Moore <[email protected]>--- drivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/tbxfload.c | 8 +++++++- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 3 ++- 5 files changed, 12 insertions(+), 5 deletions(-)drivers/acpi/acpi_configfs.c +1
-1@@ -53,7 +53,7 @@ static ssize_t acpi_table_aml_write(struct config_item *cfg,if (!table->header)return -ENOMEM ; - ret =acpi_load_table (table->header); + ret =acpi_load_table (table->header, &table->index);if (ret) {kfree (table->header); table->header =NULL ;drivers/acpi/acpica/dbfileio.c +1
-1@@ -93,7 +93,7 @@ acpi_status acpi_db_load_tables(struct acpi_new_table_desc *list_head)while (table_list_head) { table = table_list_head->table; - status =acpi_load_table (table); + status =acpi_load_table (table,NULL );if (ACPI_FAILURE (status)) {if (status ==AE_ALREADY_EXISTS ) { acpi_os_printfdrivers/acpi/acpica/tbxfload.c +7
-1@@ -268,6 +268,8 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* * PARAMETERS: table - Pointer to a buffer containing the ACPI * table to be loaded. +* table_idx - Pointer to a u32 for storing the table +* index, might be NULL * * RETURN: Status * @@ -278,7 +280,7 @@ ACPI_EXPORT_SYMBOL_INIT(acpi_install_table)* to ensure that the table is not deleted or unmapped. * ******************************************************************************/ -acpi_status acpi_load_table (struct acpi_table_header *table) +acpi_status acpi_load_table (struct acpi_table_header *table,u32 *table_idx) {acpi_status status;u32 table_index;@@ -297,6 +299,10 @@ acpi_status acpi_load_table(struct acpi_table_header *table) status =acpi_tb_install_and_load_table (ACPI_PTR_TO_PHYSADDR (table),ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL , FALSE, &table_index); +if (table_idx) { + *table_idx = table_index; + } +if (ACPI_SUCCESS (status)) {/* Complete the initialization/resolution of new objects */ drivers/firmware/efi/efi.c +1
-1@@ -296,7 +296,7 @@ static __init int efivar_ssdt_load(void) goto free_data; } - ret =acpi_load_table (data); + ret =acpi_load_table (data,NULL );if (ret) {pr_err ("failed to load table: %d\n" , ret); goto free_data;include/acpi/acpixf.h +2
-1@@ -458,7 +458,8 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION u8 physical)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status - acpi_load_table(struct acpi_table_header *table)) + acpi_load_table(struct acpi_table_header *table, + u32 *table_idx)) ACPI_EXTERNAL_RETURN_STATUS(acpi_status acpi_unload_table(u32 table_index))Signature · 1 line
2.21.0
Signature · 2 lines
With Best Regards, Andy Shevchenko
PATCH v2 6/12 ACPICA: utilities: add flag to only display data when dumping buffers
In reply to Erik SchmaussACPICA commit fb18935fcf940c5854a055975c6b9ee31f0e1a5a
--- drivers/acpi/acpica/acutils.h | 9 +++--- drivers/acpi/acpica/utbuffer.c | 52 +++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 27 deletions(-)
drivers/acpi/acpica/acutils.h +5 -4
@@ -142,10 +142,11 @@ struct acpi_pkg_info {/* acpi_ut_dump_buffer */ -#define DB_BYTE_DISPLAY 1 -#define DB_WORD_DISPLAY 2 -#define DB_DWORD_DISPLAY 4 -#define DB_QWORD_DISPLAY 8 +#define DB_BYTE_DISPLAY 0x01 +#define DB_WORD_DISPLAY 0x02 +#define DB_DWORD_DISPLAY 0x04 +#define DB_QWORD_DISPLAY 0x08 +#define DB_DISPLAY_DATA_ONLY 0x10/* * utascii - ASCII utilities
drivers/acpi/acpica/utbuffer.c +29 -23
75 lines not on this page · raw message
Signature · 1 line
2.21.0
PATCH v2 7/12 ACPICA: debugger: add command to dump all fields of a particular subtype
In reply to Erik SchmaussIn acpiexec, this can be invoked by typing "fields" followed by a number representing the address space ID of that field.
--- drivers/acpi/acpica/acdebug.h | 2 + drivers/acpi/acpica/acstruct.h | 10 +++ drivers/acpi/acpica/dbinput.c | 20 ++++++ drivers/acpi/acpica/dbnames.c | 109 +++++++++++++++++++++++++++++++++ 4 files changed, 141 insertions(+)
drivers/acpi/acpica/acdebug.h +2 -0
@@ -148,6 +148,8 @@ void acpi_db_find_references(char *object_arg);void acpi_db_get_bus_info (void ); +acpi_status acpi_db_display_fields (u32 address_space_id); +/* * dbdisply - debug display commands */
drivers/acpi/acpica/acstruct.h +10 -0
@@ -192,6 +192,16 @@ struct acpi_device_walk_info {u32 num_INI; }; +/* Info used by Acpi acpi_db_display_fields */ + +struct acpi_region_walk_info { +u32 debug_level; +u32 count; +acpi_owner_id owner_id; +u8 display_type; +u32 address_space_id; +}; +/* TBD: [Restructure] Merge with struct above */ struct acpi_walk_info {
drivers/acpi/acpica/dbinput.c +20 -0
@@ -50,6 +50,7 @@ enum acpi_ex_debugger_commands {CMD_EVALUATE ,CMD_EXECUTE ,CMD_EXIT , +CMD_FIELDS ,CMD_FIND ,CMD_GO , CMD_HANDLERS,
@@ -127,6 +128,7 @@ static const struct acpi_db_command_info acpi_gbl_db_commands[] = { {"EVALUATE", 1}, {"EXECUTE", 1}, {"EXIT", 0}, + {"FIELDS", 1}, {"FIND", 1}, {"GO", 0}, {"HANDLERS", 0},
@@ -200,6 +202,8 @@ static const struct acpi_db_command_help acpi_gbl_db_command_help[] = { "Find ACPI name(s) with wildcards\n"}, {1, " Integrity", "Validate namespace integrity\n"}, {1, " Methods", "Display list of loaded control methods\n"}, + {1, " Fields <AddressSpaceId>", + "Display list of loaded field units by space ID\n"}, {1, " Namespace [Object] [Depth]", "Display loaded namespace tree/subtree\n"}, {1, " Notify <Object> <Value>", "Send a notification on Object\n"},
@@ -674,6 +678,7 @@ acpi_db_command_dispatch(char *input_buffer, union acpi_parse_object *op) {u32 temp; +u64 temp64;u32 command_index;u32 param_count;char *command_line;
@@ -789,6 +794,21 @@ acpi_db_command_dispatch(char *input_buffer, status =acpi_db_find_name_in_namespace (acpi_gbl_db_args[1 ]);break ; +case CMD_FIELDS : + + status =acpi_ut_strtoul64 (acpi_gbl_db_args[1 ], &temp64); + +if (ACPI_FAILURE (status) + || temp64 >=ACPI_NUM_PREDEFINED_REGIONS ) { +acpi_os_printf + ("Invalid adress space ID: must be between 0 and %u inclusive\n" , +ACPI_NUM_PREDEFINED_REGIONS -1 ); +return (AE_OK ); + } + + status =acpi_db_display_fields ((u32 )temp64); +break ; +case CMD_GO : acpi_gbl_cm_single_step = FALSE;
drivers/acpi/acpica/dbnames.c +109 -0
127 lines not on this page · raw message
Signature · 1 line
2.21.0
PATCH v2 8/12 ACPICA: debugger: surround field unit output with braces '{'
In reply to Erik SchmaussACPICA commit 76ca57291d007d33087982a4b28cd1ee9bcd37a6
This helps differentiate the type of named objects between field units and buffers. In other words, without this symbol, it would be difficult to tell whether a particular named object is a buffer or a field unit.
--- drivers/acpi/acpica/dbnames.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
drivers/acpi/acpica/dbnames.c +6 -1
@@ -552,6 +552,11 @@ acpi_db_walk_for_fields(acpi_handle obj_handle, buffer.length =ACPI_ALLOCATE_LOCAL_BUFFER ;acpi_evaluate_object (obj_handle,NULL ,NULL , &buffer); +/* +* Since this is a field unit, surround the output in braces +*/ +acpi_os_printf ("{" ); + ret_value = (union acpi_object *)buffer.pointer;switch (ret_value->type) {case ACPI_TYPE_INTEGER :
@@ -571,7 +576,7 @@ acpi_db_walk_for_fields(acpi_handle obj_handle,break ; } -acpi_os_printf ("\n" ); +acpi_os_printf ("}\n" );ACPI_FREE (buffer.pointer);
Signature · 1 line
2.21.0
PATCH v2 9/12 ACPICA: debugger: add field unit support for acpi_db_get_next_token
In reply to Erik SchmaussACPICA commit d509afa88e9415f13a3283c38ce9ee034634ae24
Since field unit data output from the debugger are now surrounded by braces '{', support has been added to acpi_db_get_next_token to recognize strings beginning with this character as a ACPI_TYPE_FIELD_UNIT.
--- drivers/acpi/acpica/dbinput.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
drivers/acpi/acpica/dbinput.c +15 -0
@@ -511,6 +511,21 @@ char *acpi_db_get_next_token(char *string, }break ; +case '{' : + +/* This is the start of a field unit, scan until closing brace */ + + string++; + start = string; + type =ACPI_TYPE_FIELD_UNIT ; + +/* Find end of buffer */ + +while (*string && (*string !='}' )) { + string++; + } +break ; +case '[' :/* This is the start of a package, scan until closing bracket */
Signature · 1 line
2.21.0
PATCH v2 10/12 ACPICA: acpiexec: initialize all simple types and field units from user input
In reply to Erik SchmaussACPICA commit 367b363edc5fa1f93bbc14e4a1e05f34fef765a2
acpiexec allows a user to provide a file that indicates values to initialize named objects during table load with the -fi option. This can provide more accurate simulation by setting named objects to values found during OS runtime.
Previously, this option only supported integer objects. This change adds user initialization support for field units, strings, buffers, and packages.
--- drivers/acpi/acpica/dsfield.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
drivers/acpi/acpica/dsfield.c +3 -6
@@ -263,7 +263,6 @@ acpi_ds_get_field_names(struct acpi_create_field_info *info,union acpi_parse_object *child;#ifdef ACPI_EXEC_APP -u64 value =0 ;union acpi_operand_object *result_desc;union acpi_operand_object *obj_desc;char *name_path;
@@ -405,19 +404,17 @@ acpi_ds_get_field_names(struct acpi_create_field_info *info, name_path =acpi_ns_get_external_pathname (info-> field_node); - obj_desc = -acpi_ut_create_integer_object - (value);if (ACPI_SUCCESS (ae_lookup_init_file_entry - (name_path, &value))) { + (name_path, &obj_desc))) {acpi_ex_write_data_to_field (obj_desc,acpi_ns_get_attached_object (info->field_node), &result_desc); +acpi_ut_remove_reference + (obj_desc); } -acpi_ut_remove_reference (obj_desc);ACPI_FREE (name_path);#endif }
Signature · 1 line
2.21.0
PATCH v2 11/12 ACPICA: debugger: remove leading whitespaces when converting a string to a buffer
In reply to Erik SchmaussACPICA commit 1b7228072f254a5b02625586ff7d561757b7fc2d
By removing leading whitespaces, the conversion computes the correct number of elements in a given buffer or field encoding that contains leading whitespaces.
--- drivers/acpi/acpica/dbconvert.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/acpi/acpica/dbconvert.c +4 -0
@@ -106,6 +106,10 @@ acpi_db_convert_to_buffer(char *string, union acpi_object *object)u8 *buffer;acpi_status status; +/* Skip all preceding white space */ + +acpi_ut_remove_whitespace (&string); +/* Generate the final buffer length */ for (i =0 , length =0 ; string[i];) {
Signature · 1 line
2.21.0
PATCH v2 12/12 ACPICA: Update version to 20191018
In reply to Erik SchmaussFrom: Bob Moore <[email protected]>
ACPICA commit 3d70fd4894824ed1e685f2d059ca22ccd9ac6163
Version 20191018.
--- include/acpi/acpixf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/acpi/acpixf.h +1 -1
@@ -12,7 +12,7 @@/* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20190816 +#define ACPI_CA_VERSION 0x20191018#include <acpi/acconfig.h> #include <acpi/actypes.h>
Signature · 1 line
2.21.0
Quoted 8 lines · Erik Schmauss
V2 - fixed build warnings
This patchset contains the linuxized patches for ACPICA version 20191018. There are several debugger changes but they are meant for acpiexec at this time.
acpi_load_tabledefinition has been modified and a newacpi_unload_tablehas been added. These new interfaces can be used as a part of config fs to load and unload tables.
Quoted 5 lines
Other than that, Bob has run clang on our code base and removed several compiler warnings.
This patchset is also available here:
https://github.com/SchmErik/linux/tree/v20191018
Thanks!
I'll be able to test this next week.
Quoted 60 lines
Bob Moore (5):
ACPICA: Results from Clang changes/fixes From Clang V5.0.1. Mostly
"set but never read" warnings.
ACPICA: Win OSL: Replaceget_tick_countwithget_tick_count64
ACPICA: More Clang changes - V8.0.1 Fixed all "dead assignment"
warnings.
ACPICA: Add new external interface,acpi_unload_table
ACPICA: Update version to 20191018Erik Schmauss (6):
ACPICA: utilities: add flag to only display data when dumping buffers
ACPICA: debugger: add command to dump all fields of a particular
subtype
ACPICA: debugger: surround field unit output with braces '{'
ACPICA: debugger: add field unit support foracpi_db_get_next_token
ACPICA: acpiexec: initialize all simple types and field units from
user input
ACPICA: debugger: remove leading whitespaces when converting a string
to a bufferNikolaus Voss (1):
ACPICA: makeacpi_load_table()return table indexdrivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/acdebug.h | 2 + drivers/acpi/acpica/acstruct.h | 10 +++ drivers/acpi/acpica/acutils.h | 9 +-- drivers/acpi/acpica/dbconvert.c | 4 ++ drivers/acpi/acpica/dbdisply.c | 2 - drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/dbinput.c | 36 +++++++++- drivers/acpi/acpica/dbmethod.c | 4 ++ drivers/acpi/acpica/dbnames.c | 114 ++++++++++++++++++++++++++++++++ drivers/acpi/acpica/dbobject.c | 1 - drivers/acpi/acpica/dscontrol.c | 2 +- drivers/acpi/acpica/dsfield.c | 12 +--- drivers/acpi/acpica/evgpeblk.c | 11 +-- drivers/acpi/acpica/evgpeinit.c | 3 - drivers/acpi/acpica/evmisc.c | 12 +++- drivers/acpi/acpica/evregion.c | 4 +- drivers/acpi/acpica/evrgnini.c | 1 - drivers/acpi/acpica/hwxfsleep.c | 3 + drivers/acpi/acpica/nsconvert.c | 2 +- drivers/acpi/acpica/nsdump.c | 6 +- drivers/acpi/acpica/nsxfname.c | 4 +- drivers/acpi/acpica/psobject.c | 7 +- drivers/acpi/acpica/rscreate.c | 3 + drivers/acpi/acpica/tbdata.c | 3 + drivers/acpi/acpica/tbxfload.c | 40 ++++++++++- drivers/acpi/acpica/utbuffer.c | 52 ++++++++------- drivers/acpi/acpica/utids.c | 2 - drivers/acpi/acpica/uttrack.c | 2 +- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 8 ++- 31 files changed, 291 insertions(+), 74 deletions(-)Signature · 1 line
2.21.0
Signature · 2 lines
With Best Regards, Andy Shevchenko
Quoted 8 lines · Erik Schmauss
V2 - fixed build warnings
This patchset contains the linuxized patches for ACPICA version 20191018. There are several debugger changes but they are meant for acpiexec at this time.
acpi_load_tabledefinition has been modified and a newacpi_unload_tablehas been added. These new interfaces can be used as a part of config fs to load and unload tables.
Quoted 6 lines
Other than that, Bob has run clang on our code base and removed several compiler warnings.
This patchset is also available here:
https://github.com/SchmErik/linux/tree/v20191018
I have tested this series and it works in my case. Thank you!
P.S. Rafael, I think we can also append the oneliner I have added in the comment to the patch 5.
Quoted 60 lines
Bob Moore (5):
ACPICA: Results from Clang changes/fixes From Clang V5.0.1. Mostly
"set but never read" warnings.
ACPICA: Win OSL: Replaceget_tick_countwithget_tick_count64
ACPICA: More Clang changes - V8.0.1 Fixed all "dead assignment"
warnings.
ACPICA: Add new external interface,acpi_unload_table
ACPICA: Update version to 20191018Erik Schmauss (6):
ACPICA: utilities: add flag to only display data when dumping buffers
ACPICA: debugger: add command to dump all fields of a particular
subtype
ACPICA: debugger: surround field unit output with braces '{'
ACPICA: debugger: add field unit support foracpi_db_get_next_token
ACPICA: acpiexec: initialize all simple types and field units from
user input
ACPICA: debugger: remove leading whitespaces when converting a string
to a bufferNikolaus Voss (1):
ACPICA: makeacpi_load_table()return table indexdrivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/acdebug.h | 2 + drivers/acpi/acpica/acstruct.h | 10 +++ drivers/acpi/acpica/acutils.h | 9 +-- drivers/acpi/acpica/dbconvert.c | 4 ++ drivers/acpi/acpica/dbdisply.c | 2 - drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/dbinput.c | 36 +++++++++- drivers/acpi/acpica/dbmethod.c | 4 ++ drivers/acpi/acpica/dbnames.c | 114 ++++++++++++++++++++++++++++++++ drivers/acpi/acpica/dbobject.c | 1 - drivers/acpi/acpica/dscontrol.c | 2 +- drivers/acpi/acpica/dsfield.c | 12 +--- drivers/acpi/acpica/evgpeblk.c | 11 +-- drivers/acpi/acpica/evgpeinit.c | 3 - drivers/acpi/acpica/evmisc.c | 12 +++- drivers/acpi/acpica/evregion.c | 4 +- drivers/acpi/acpica/evrgnini.c | 1 - drivers/acpi/acpica/hwxfsleep.c | 3 + drivers/acpi/acpica/nsconvert.c | 2 +- drivers/acpi/acpica/nsdump.c | 6 +- drivers/acpi/acpica/nsxfname.c | 4 +- drivers/acpi/acpica/psobject.c | 7 +- drivers/acpi/acpica/rscreate.c | 3 + drivers/acpi/acpica/tbdata.c | 3 + drivers/acpi/acpica/tbxfload.c | 40 ++++++++++- drivers/acpi/acpica/utbuffer.c | 52 ++++++++------- drivers/acpi/acpica/utids.c | 2 - drivers/acpi/acpica/uttrack.c | 2 +- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 8 ++- 31 files changed, 291 insertions(+), 74 deletions(-)Signature · 1 line
2.21.0
Signature · 2 lines
With Best Regards, Andy Shevchenko
Quoted 25 lines
-----Original Message-----
From: Andy Shevchenko <[email protected]>
Sent: Monday, October 28, 2019 8:59 AM
To: Schmauss, Erik <[email protected]>
Cc: Rafael J . Wysocki <[email protected]>; [email protected]
Subject: Re: [PATCH v2 00/12] ACPICA version 20191018v2Quoted 8 lines · Erik Schmauss
V2 - fixed build warnings
This patchset contains the linuxized patches for ACPICA version 20191018. There are several debugger changes but they are meant for acpiexec at this time.
acpi_load_tabledefinition has been modified and a newacpi_unload_tablehas been added. These new interfaces can be used as a part of config fs to load and unload tables.Quoted 6 lines
Other than that, Bob has run clang on our code base and removed several compiler warnings.
This patchset is also available here:
https://github.com/SchmErik/linux/tree/v20191018
Quoted 5 lines
I have tested this series and it works in my case. Thank you!
P.S. Rafael, I think we can also append the oneliner I have added in the comment to the patch 5.
I agree. It makes sense to use the interface in the same commit for linux
Quoted 66 lines
Quoted 58 lines
Bob Moore (5):
ACPICA: Results from Clang changes/fixes From Clang V5.0.1. Mostly
"set but never read" warnings.
ACPICA: Win OSL: Replaceget_tick_countwithget_tick_count64
ACPICA: More Clang changes - V8.0.1 Fixed all "dead assignment"
warnings.
ACPICA: Add new external interface,acpi_unload_table
ACPICA: Update version to 20191018Erik Schmauss (6):
ACPICA: utilities: add flag to only display data when dumping buffers
ACPICA: debugger: add command to dump all fields of a particular
subtype
ACPICA: debugger: surround field unit output with braces '{'
ACPICA: debugger: add field unit support foracpi_db_get_next_token
ACPICA: acpiexec: initialize all simple types and field units from
user input
ACPICA: debugger: remove leading whitespaces when converting a string
to a bufferNikolaus Voss (1):
ACPICA: makeacpi_load_table()return table indexdrivers/acpi/acpi_configfs.c | 2 +- drivers/acpi/acpica/acdebug.h | 2 + drivers/acpi/acpica/acstruct.h | 10 +++ drivers/acpi/acpica/acutils.h | 9 +-- drivers/acpi/acpica/dbconvert.c | 4 ++ drivers/acpi/acpica/dbdisply.c | 2 - drivers/acpi/acpica/dbfileio.c | 2 +- drivers/acpi/acpica/dbinput.c | 36 +++++++++- drivers/acpi/acpica/dbmethod.c | 4 ++ drivers/acpi/acpica/dbnames.c | 114 ++++++++++++++++++++++++++++++++ drivers/acpi/acpica/dbobject.c | 1 - drivers/acpi/acpica/dscontrol.c | 2 +- drivers/acpi/acpica/dsfield.c | 12 +--- drivers/acpi/acpica/evgpeblk.c | 11 +-- drivers/acpi/acpica/evgpeinit.c | 3 - drivers/acpi/acpica/evmisc.c | 12 +++- drivers/acpi/acpica/evregion.c | 4 +- drivers/acpi/acpica/evrgnini.c | 1 - drivers/acpi/acpica/hwxfsleep.c | 3 + drivers/acpi/acpica/nsconvert.c | 2 +- drivers/acpi/acpica/nsdump.c | 6 +- drivers/acpi/acpica/nsxfname.c | 4 +- drivers/acpi/acpica/psobject.c | 7 +- drivers/acpi/acpica/rscreate.c | 3 + drivers/acpi/acpica/tbdata.c | 3 + drivers/acpi/acpica/tbxfload.c | 40 ++++++++++- drivers/acpi/acpica/utbuffer.c | 52 ++++++++------- drivers/acpi/acpica/utids.c | 2 - drivers/acpi/acpica/uttrack.c | 2 +- drivers/firmware/efi/efi.c | 2 +- include/acpi/acpixf.h | 8 ++- 31 files changed, 291 insertions(+), 74 deletions(-)Quoted 3 lines
--
2.21.0--
With Best Regards,
Andy Shevchenko
Quoted 24 lines · Erik
Quoted 24 lines
-----Original Message-----
From: Andy Shevchenko <[email protected]>
Sent: Monday, October 28, 2019 8:59 AM
To: Schmauss, Erik <[email protected]>
Cc: Rafael J . Wysocki <[email protected]>; [email protected]
Subject: Re: [PATCH v2 00/12] ACPICA version 20191018v2Quoted 14 lines · Erik Schmauss
V2 - fixed build warnings
This patchset contains the linuxized patches for ACPICA version 20191018. There are several debugger changes but they are meant for acpiexec at this time.
acpi_load_tabledefinition has been modified and a newacpi_unload_tablehas been added. These new interfaces can be used as a part of config fs to load and unload tables.Other than that, Bob has run clang on our code base and removed several compiler warnings.
This patchset is also available here:
https://github.com/SchmErik/linux/tree/v20191018
Quoted 7 lines
Quoted 5 lines
I have tested this series and it works in my case. Thank you!
P.S. Rafael, I think we can also append the oneliner I have added in the comment to the patch 5.I agree. It makes sense to use the interface in the same commit for linux
OK, done.
Please check the result in the bleeding-edge branch of my tree.
Thanks!
Quoted 9 lines · Rafael J. Wysocki
Quoted 7 lines · Erik
Quoted 7 lines
-----Original Message-----
From: Andy Shevchenko <[email protected]>
Sent: Monday, October 28, 2019 8:59 AM
To: Schmauss, Erik <[email protected]>
Cc: Rafael J . Wysocki <[email protected]>; [email protected]
Subject: Re: [PATCH v2 00/12] ACPICA version 20191018v2
On Fri, Oct 25, 2019 at 02:36:48PM -0700, Erik Schmauss wrote:
Quoted 5 lines
Quoted 1 line
I agree. It makes sense to use the interface in the same commit for linux
OK, done.
Please check the result in the bleeding-edge branch of my tree.
I have checked the contents of the patch 5 and it's fine, thanks!
(Since for the rest I have no changes, I think they are fine as well)
Signature · 2 lines
With Best Regards, Andy Shevchenko