diff options
author | Bob Moore <robert.moore@intel.com> | 2018-03-15 02:13:09 +0300 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2018-03-18 21:29:46 +0300 |
commit | a406dea82af80a2cb069f7e34e24677fe9dd580e (patch) | |
tree | bc9bf2ce34fcb08aaaf2fc374a81d769bfcbf38f /drivers/acpi/acpica/nsparse.c | |
parent | b4c0de312613ca676db5bd7e696a44b56795612a (diff) | |
download | linux-a406dea82af80a2cb069f7e34e24677fe9dd580e.tar.xz |
ACPICA: Cleanup/simplify module-level code support
This prepares the code for eventual removal of the original
style of deferred execution of the MLC.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/nsparse.c')
-rw-r--r-- | drivers/acpi/acpica/nsparse.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/drivers/acpi/acpica/nsparse.c b/drivers/acpi/acpica/nsparse.c index ba1a50da09d0..c9ef4949869f 100644 --- a/drivers/acpi/acpica/nsparse.c +++ b/drivers/acpi/acpica/nsparse.c @@ -27,8 +27,17 @@ ACPI_MODULE_NAME("nsparse") * * RETURN: Status * - * DESCRIPTION: Load ACPI/AML table by executing the entire table as a - * term_list. + * DESCRIPTION: Load ACPI/AML table by executing the entire table as a single + * large control method. + * + * NOTE: The point of this is to execute any module-level code in-place + * as the table is parsed. Some AML code depends on this behavior. + * + * It is a run-time option at this time, but will eventually become + * the default. + * + * Note: This causes the table to only have a single-pass parse. + * However, this is compatible with other ACPI implementations. * ******************************************************************************/ acpi_status @@ -233,6 +242,17 @@ acpi_ns_parse_table(u32 table_index, struct acpi_namespace_node *start_node) ACPI_FUNCTION_TRACE(ns_parse_table); if (acpi_gbl_execute_tables_as_methods) { + /* + * This case executes the AML table as one large control method. + * The point of this is to execute any module-level code in-place + * as the table is parsed. Some AML code depends on this behavior. + * + * It is a run-time option at this time, but will eventually become + * the default. + * + * Note: This causes the table to only have a single-pass parse. + * However, this is compatible with other ACPI implementations. + */ ACPI_DEBUG_PRINT_RAW((ACPI_DB_PARSE, "%s: **** Start table execution pass\n", ACPI_GET_FUNCTION_NAME)); |