ACPI / bus: Adjust ACPI subsystem initialization for new table loading mode

This patch enables the following initialization order for the
new table loading mode (which is enabled by setting
acpi_gbl_parse_table_as_term_list to TRUE):

  1. Install default region handlers (SystemMemory, SystemIo, PciConfig,
     EmbeddedControl via ECDT) without evaluating _REG;

  2. Load the table and execute the module level AML opcodes instantly.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
[ rjw: Subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Lv Zheng 2016-09-23 11:26:49 +08:00 committed by Rafael J. Wysocki
parent f42106fe65
commit 1ef356681e
1 changed files with 4 additions and 2 deletions

View File

@ -985,7 +985,8 @@ void __init acpi_early_init(void)
goto error0;
}
if (acpi_gbl_group_module_level_code) {
if (!acpi_gbl_parse_table_as_term_list &&
acpi_gbl_group_module_level_code) {
status = acpi_load_tables();
if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX
@ -1074,7 +1075,8 @@ static int __init acpi_bus_init(void)
status = acpi_ec_ecdt_probe();
/* Ignore result. Not having an ECDT is not fatal. */
if (!acpi_gbl_group_module_level_code) {
if (acpi_gbl_parse_table_as_term_list ||
!acpi_gbl_group_module_level_code) {
status = acpi_load_tables();
if (ACPI_FAILURE(status)) {
printk(KERN_ERR PREFIX