The previous patch introduced two new functions:
    acpi_tb_install_table_firmware() and acpi_tb_install_table_override().

They are the same as acpi_tb_install_table() if they are called in sequence.

In order to split acpi_tb_parse_root_table(), we call these two functions
instead of acpi_tb_install_table() in acpi_tb_parse_root_table(). This will
keep acpi_tb_parse_root_table() works as before.

Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com>
Reviewed-by: Zhang Yanfei <zhangyan...@cn.fujitsu.com>
---
 drivers/acpi/acpica/tbutils.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c
index 2db068c..9bef44b 100644
--- a/drivers/acpi/acpica/tbutils.c
+++ b/drivers/acpi/acpica/tbutils.c
@@ -670,8 +670,13 @@ acpi_tb_parse_root_table(acpi_physical_address 
rsdp_address)
         * the header of each table
         */
        for (i = 2; i < acpi_gbl_root_table_list.current_table_count; i++) {
-               acpi_tb_install_table(acpi_gbl_root_table_list.tables[i].
-                                     address, NULL, i);
+               /* Install tables in firmware into acpi_gbl_root_table_list */
+               acpi_tb_install_table_firmware(acpi_gbl_root_table_list.
+                                              tables[i].address, NULL, i);
+
+               /* Override the installed tables if any */
+               acpi_tb_install_table_override(acpi_gbl_root_table_list.
+                                              tables[i].address, NULL, i);
 
                /* Special case for FADT - get the DSDT and FACS */
 
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to