summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/compiler/aslopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/compiler/aslopt.c')
-rw-r--r--sys/contrib/dev/acpica/compiler/aslopt.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/sys/contrib/dev/acpica/compiler/aslopt.c b/sys/contrib/dev/acpica/compiler/aslopt.c
index 5aeea27..f0416d8 100644
--- a/sys/contrib/dev/acpica/compiler/aslopt.c
+++ b/sys/contrib/dev/acpica/compiler/aslopt.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: aslopt- Compiler optimizations
- * $Revision: 13 $
+ * $Revision: 16 $
*
*****************************************************************************/
@@ -211,8 +211,11 @@ OptSearchToRoot (
*NewPath = ACPI_MEM_CALLOCATE (ACPI_NAME_SIZE + 1);
ACPI_STRCPY (*NewPath, Path);
- AslError (ASL_OPTIMIZATION, ASL_MSG_SINGLE_NAME_OPTIMIZATION, Op,
- *NewPath);
+ if (ACPI_STRNCMP (*NewPath, "_T_", 3))
+ {
+ AslError (ASL_OPTIMIZATION, ASL_MSG_SINGLE_NAME_OPTIMIZATION, Op,
+ *NewPath);
+ }
return (AE_OK);
}
@@ -354,6 +357,15 @@ OptBuildShortestPath (
* of the current path. We must include one more NameSeg of the target path
*/
Index -= ACPI_PATH_SEGMENT_LENGTH;
+
+ /* Special handling for Scope() operator */
+
+ if (Op->Asl.AmlOpcode == AML_SCOPE_OP)
+ {
+ NewPathExternal[i] = '^';
+ i++;
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OPTIMIZATIONS, "(EXTRA ^)"));
+ }
}
ACPI_STRCPY (&NewPathExternal[i], &((char *) TargetPath->Pointer)[Index]);
@@ -581,7 +593,7 @@ OptOptimizeNamePath (
/* Various required items */
- if (!TargetNode || !WalkState || !Op->Common.Parent)
+ if (!TargetNode || !WalkState || !AmlNameString || !Op->Common.Parent)
{
return_VOID;
}
OpenPOWER on IntegriCloud