summaryrefslogtreecommitdiffstats
path: root/source/compiler/aslmethod.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler/aslmethod.c')
-rw-r--r--source/compiler/aslmethod.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/source/compiler/aslmethod.c b/source/compiler/aslmethod.c
index 36db96f..9b0a7a1 100644
--- a/source/compiler/aslmethod.c
+++ b/source/compiler/aslmethod.c
@@ -108,7 +108,18 @@ MtMethodAnalysisWalkBegin (
WalkInfo->MethodStack = MethodInfo;
- /* Get the name node, ignored here */
+ /* Special handling for _PRP, must have a _HID also */
+
+ if (!ACPI_STRCMP (METHOD_NAME__PRP, Op->Asl.NameSeg))
+ {
+ if (!ApFindNameInScope (METHOD_NAME__HID, Op))
+ {
+ AslError (ASL_WARNING, ASL_MSG_MISSING_DEPENDENCY, Op,
+ "_PRP requires _HID in same scope");
+ }
+ }
+
+ /* Get the name node */
Next = Op->Asl.Child;
@@ -412,6 +423,16 @@ MtMethodAnalysisWalkBegin (
AnCheckId (Next, ASL_TYPE_CID);
}
}
+
+ else if (!ACPI_STRCMP (METHOD_NAME__PRP, Op->Asl.NameSeg))
+ {
+ if (!ApFindNameInScope (METHOD_NAME__HID, Op))
+ {
+ AslError (ASL_WARNING, ASL_MSG_MISSING_DEPENDENCY, Op,
+ "_PRP requires _HID in same scope");
+ }
+ }
+
break;
default:
OpenPOWER on IntegriCloud