ACPICA: Tables: Cleanup to reduce FACS globals
authorLv Zheng <lv.zheng@intel.com>
Tue, 25 Aug 2015 02:29:08 +0000 (10:29 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 25 Aug 2015 21:11:31 +0000 (23:11 +0200)
ACPICA commit 3f42ba76e2a0453976d3108296d5f656fdf2bd6e

In this patch, FACS table mapping is also tuned a bit so that only the
selected FACS table will be mapped by the OSPM (mapped on demand) and the
FACS related global variables can be reduced. Lv Zheng.

Link: https://github.com/acpica/acpica/commit/3f42ba76
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>
drivers/acpi/acpica/acglobal.h
drivers/acpi/acpica/hwxfsleep.c
drivers/acpi/acpica/tbutils.c

index e78667ee5d0b6b10a65e5a67183b5954c84b677e..95ed861e8632c969f34634aec0403a58f62d8eeb 100644 (file)
@@ -64,8 +64,6 @@ ACPI_INIT_GLOBAL(u32, acpi_gbl_xfacs_index, ACPI_INVALID_TABLE_INDEX);
 
 #if (!ACPI_REDUCED_HARDWARE)
 ACPI_GLOBAL(struct acpi_table_facs *, acpi_gbl_FACS);
-ACPI_GLOBAL(struct acpi_table_facs *, acpi_gbl_facs32);
-ACPI_GLOBAL(struct acpi_table_facs *, acpi_gbl_facs64);
 
 #endif                         /* !ACPI_REDUCED_HARDWARE */
 
index 52dfd0d050fa30b09077446e55cd7b27f054452d..d62a61612b3f1428be0c21efd5ff1bbc0f851038 100644 (file)
@@ -160,19 +160,8 @@ acpi_set_firmware_waking_vectors(acpi_physical_address physical_address,
 
        ACPI_FUNCTION_TRACE(acpi_set_firmware_waking_vectors);
 
-       /* If Hardware Reduced flag is set, there is no FACS */
-
-       if (acpi_gbl_reduced_hardware) {
-               return_ACPI_STATUS (AE_OK);
-       }
-
-       if (acpi_gbl_facs32) {
-               (void)acpi_hw_set_firmware_waking_vectors(acpi_gbl_facs32,
-                                                         physical_address,
-                                                         physical_address64);
-       }
-       if (acpi_gbl_facs64) {
-               (void)acpi_hw_set_firmware_waking_vectors(acpi_gbl_facs64,
+       if (acpi_gbl_FACS) {
+               (void)acpi_hw_set_firmware_waking_vectors(acpi_gbl_FACS,
                                                          physical_address,
                                                          physical_address64);
        }
index b1d500e47bdbf8aeeea769ab826eb46dc8ae367d..4337990127cc39930b50983d7e7eff05966fcfb6 100644 (file)
@@ -68,6 +68,7 @@ acpi_tb_get_root_table_entry(u8 *table_entry, u32 table_entry_size);
 
 acpi_status acpi_tb_initialize_facs(void)
 {
+       struct acpi_table_facs *facs;
 
        /* If Hardware Reduced flag is set, there is no FACS */
 
@@ -80,14 +81,14 @@ acpi_status acpi_tb_initialize_facs(void)
                (void)acpi_get_table_by_index(acpi_gbl_xfacs_index,
                                              ACPI_CAST_INDIRECT_PTR(struct
                                                                     acpi_table_header,
-                                                                    &acpi_gbl_facs32));
-               acpi_gbl_FACS = acpi_gbl_facs32;
+                                                                    &facs));
+               acpi_gbl_FACS = facs;
        } else if (acpi_gbl_FADT.facs) {
                (void)acpi_get_table_by_index(acpi_gbl_facs_index,
                                              ACPI_CAST_INDIRECT_PTR(struct
                                                                     acpi_table_header,
-                                                                    &acpi_gbl_facs64));
-               acpi_gbl_FACS = acpi_gbl_facs64;
+                                                                    &facs));
+               acpi_gbl_FACS = facs;
        }
 
        /* If there is no FACS, just continue. There was already an error msg */