ACPI / tables: add DSDT AmlCode new declaration name support

A new naming rule was added in ACPICA version 20180427 changing
the DSDT AML code name from "AmlCode" to "dsdt_aml_code".

That change was made by commit 83b2fa943b "ACPICA: iASL: Enhance
the -tc option (create AML hex file in C)".

Tested:
ACPICA release version 20180427+.
ARM64: QCOM QDF2400
GCC: 4.8.5 20150623

Signed-off-by: Wang Dongsheng <dongsheng.wang@hxt-semitech.com>
[ rjw: Changelog ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Wang Dongsheng 2018-11-13 18:46:23 +08:00 committed by Rafael J. Wysocki
parent b413b1abeb
commit 82e4eb4e96
2 changed files with 9 additions and 3 deletions

View File

@ -336,7 +336,7 @@ config ACPI_CUSTOM_DSDT_FILE
See Documentation/acpi/dsdt-override.txt
Enter the full path name to the file which includes the AmlCode
declaration.
or dsdt_aml_code declaration.
If unsure, don't enter a file name.

View File

@ -712,6 +712,9 @@ acpi_os_physical_table_override(struct acpi_table_header *existing_table,
table_length);
}
static void *amlcode __attribute__ ((weakref("AmlCode")));
static void *dsdt_amlcode __attribute__ ((weakref("dsdt_aml_code")));
acpi_status
acpi_os_table_override(struct acpi_table_header *existing_table,
struct acpi_table_header **new_table)
@ -722,8 +725,11 @@ acpi_os_table_override(struct acpi_table_header *existing_table,
*new_table = NULL;
#ifdef CONFIG_ACPI_CUSTOM_DSDT
if (strncmp(existing_table->signature, "DSDT", 4) == 0)
*new_table = (struct acpi_table_header *)AmlCode;
if (!strncmp(existing_table->signature, "DSDT", 4)) {
*new_table = (struct acpi_table_header *)&amlcode;
if (!(*new_table))
*new_table = (struct acpi_table_header *)&dsdt_amlcode;
}
#endif
if (*new_table != NULL)
acpi_table_taint(existing_table);