aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/nsparse.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2018-03-14 16:13:09 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-03-18 19:29:46 +0100
commita406dea82af80a2cb069f7e34e24677fe9dd580e (patch)
treebc9bf2ce34fcb08aaaf2fc374a81d769bfcbf38f /drivers/acpi/acpica/nsparse.c
parentACPICA: Events: add a return on failure from acpi_hw_register_read (diff)
downloadlinux-dev-a406dea82af80a2cb069f7e34e24677fe9dd580e.tar.xz
linux-dev-a406dea82af80a2cb069f7e34e24677fe9dd580e.zip
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.c24
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));