summaryrefslogtreecommitdiffstats
path: root/drivers/acpi/acpica/dsutils.c
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2015-04-13 11:50:32 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2015-04-14 14:51:54 +0200
commit56a3d5e755e889d1543cb90a3ebaed513cadb727 (patch)
tree31e887143e802bbd19740ebea1d57cb9757ad4a9 /drivers/acpi/acpica/dsutils.c
parent2e7cc46a0f30bc3b749e371ab0afd29b774ae898 (diff)
downloadlinux-56a3d5e755e889d1543cb90a3ebaed513cadb727.tar.gz
linux-56a3d5e755e889d1543cb90a3ebaed513cadb727.tar.bz2
linux-56a3d5e755e889d1543cb90a3ebaed513cadb727.zip
ACPICA: Add infrastructure for External() opcode.
ACPICA commit d115fe2ffdab449d6107d58580c5afd0a81d65fe This change adds the basic low-level infrastructure for the External AML opcode. The interpreter will simply ignore this op, as the op is intended for use by the disassembler only. Note that External() opcode is useful for disassembler, interpreter can simply ignore it and still return exceptions for unknown control methods so the kernel part only includes the grammar definition of External() opcode in order to ignore it but doesn't interpret it. Link: https://github.com/acpica/acpica/commit/d115fe2f Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/dsutils.c')
-rw-r--r--drivers/acpi/acpica/dsutils.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
index e5ff89bcb3f5..deeddd6d2f05 100644
--- a/drivers/acpi/acpica/dsutils.c
+++ b/drivers/acpi/acpica/dsutils.c
@@ -564,6 +564,17 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,
acpi_operand_object,
acpi_gbl_root_node);
status = AE_OK;
+ } else if (parent_op->common.aml_opcode ==
+ AML_EXTERNAL_OP) {
+
+ /* TBD: May only be temporary */
+
+ obj_desc =
+ acpi_ut_create_string_object((acpi_size) name_length);
+
+ ACPI_STRNCPY(obj_desc->string.pointer,
+ name_string, name_length);
+ status = AE_OK;
} else {
/*
* We just plain didn't find it -- which is a