Commit 42cc87a5 authored by Lv Zheng's avatar Lv Zheng Committed by Rafael J. Wysocki

ACPICA: Tables: Cleanup acpi_tb_install_and_load_table()

ACPICA commit 7fdac0289faa1c28b91413c8e394e87372aa69e6

acpi_tb_install_and_load_table() can invoke acpi_tb_load_table() to eliminate
redundant code.

No functional change. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/7fdac028Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 760235cd
...@@ -127,8 +127,7 @@ acpi_status ...@@ -127,8 +127,7 @@ acpi_status
acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node); acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node);
acpi_status acpi_status
acpi_tb_install_and_load_table(struct acpi_table_header *table, acpi_tb_install_and_load_table(acpi_physical_address address,
acpi_physical_address address,
u8 flags, u8 override, u32 *table_index); u8 flags, u8 override, u32 *table_index);
void acpi_tb_terminate(void); void acpi_tb_terminate(void);
......
...@@ -437,10 +437,9 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc, ...@@ -437,10 +437,9 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
ACPI_INFO(("Dynamic OEM Table Load:")); ACPI_INFO(("Dynamic OEM Table Load:"));
acpi_ex_exit_interpreter(); acpi_ex_exit_interpreter();
status = status = acpi_tb_install_and_load_table(ACPI_PTR_TO_PHYSADDR(table),
acpi_tb_install_and_load_table(table, ACPI_PTR_TO_PHYSADDR(table), ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL,
ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL, TRUE, &table_index);
TRUE, &table_index);
acpi_ex_enter_interpreter(); acpi_ex_enter_interpreter();
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
......
...@@ -832,9 +832,9 @@ acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node) ...@@ -832,9 +832,9 @@ acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node)
* *
* FUNCTION: acpi_tb_install_and_load_table * FUNCTION: acpi_tb_install_and_load_table
* *
* PARAMETERS: table - Pointer to the table * PARAMETERS: address - Physical address of the table
* address - Physical address of the table
* flags - Allocation flags of the table * flags - Allocation flags of the table
* override - Whether override should be performed
* table_index - Where table index is returned * table_index - Where table index is returned
* *
* RETURN: Status * RETURN: Status
...@@ -844,15 +844,13 @@ acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node) ...@@ -844,15 +844,13 @@ acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node)
******************************************************************************/ ******************************************************************************/
acpi_status acpi_status
acpi_tb_install_and_load_table(struct acpi_table_header *table, acpi_tb_install_and_load_table(acpi_physical_address address,
acpi_physical_address address,
u8 flags, u8 override, u32 *table_index) u8 flags, u8 override, u32 *table_index)
{ {
acpi_status status; acpi_status status;
u32 i; u32 i;
acpi_owner_id owner_id;
ACPI_FUNCTION_TRACE(acpi_load_table); ACPI_FUNCTION_TRACE(tb_install_and_load_table);
(void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES); (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
...@@ -864,41 +862,8 @@ acpi_tb_install_and_load_table(struct acpi_table_header *table, ...@@ -864,41 +862,8 @@ acpi_tb_install_and_load_table(struct acpi_table_header *table,
goto unlock_and_exit; goto unlock_and_exit;
} }
/*
* Note: Now table is "INSTALLED", it must be validated before
* using.
*/
status = acpi_tb_validate_table(&acpi_gbl_root_table_list.tables[i]);
if (ACPI_FAILURE(status)) {
goto unlock_and_exit;
}
(void)acpi_ut_release_mutex(ACPI_MTX_TABLES); (void)acpi_ut_release_mutex(ACPI_MTX_TABLES);
status = acpi_ns_load_table(i, acpi_gbl_root_node); status = acpi_tb_load_table(i, acpi_gbl_root_node);
/* Execute any module-level code that was found in the table */
if (!acpi_gbl_parse_table_as_term_list
&& acpi_gbl_group_module_level_code) {
acpi_ns_exec_module_code_list();
}
/*
* Update GPEs for any new _Lxx/_Exx methods. Ignore errors. The host is
* responsible for discovering any new wake GPEs by running _PRW methods
* that may have been loaded by this table.
*/
status = acpi_tb_get_owner_id(i, &owner_id);
if (ACPI_SUCCESS(status)) {
acpi_ev_update_gpes(owner_id);
}
/* Invoke table handler if present */
if (acpi_gbl_table_handler) {
(void)acpi_gbl_table_handler(ACPI_TABLE_EVENT_LOAD, table,
acpi_gbl_table_handler_context);
}
(void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES); (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
unlock_and_exit: unlock_and_exit:
......
...@@ -330,10 +330,9 @@ acpi_status acpi_load_table(struct acpi_table_header *table) ...@@ -330,10 +330,9 @@ acpi_status acpi_load_table(struct acpi_table_header *table)
/* Install the table and load it into the namespace */ /* Install the table and load it into the namespace */
ACPI_INFO(("Host-directed Dynamic ACPI Table Load:")); ACPI_INFO(("Host-directed Dynamic ACPI Table Load:"));
status = status = acpi_tb_install_and_load_table(ACPI_PTR_TO_PHYSADDR(table),
acpi_tb_install_and_load_table(table, ACPI_PTR_TO_PHYSADDR(table), ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL,
ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, FALSE, &table_index);
FALSE, &table_index);
return_ACPI_STATUS(status); return_ACPI_STATUS(status);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment