mirror of https://gitee.com/openkylin/linux.git
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/7fdac028 Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
760235cd6c
commit
42cc87a55b
|
@ -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,8 +437,7 @@ 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();
|
||||||
|
|
|
@ -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)
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
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,
|
||||||
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,8 +330,7 @@ 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);
|
||||||
|
|
Loading…
Reference in New Issue