summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/exoparg2.c
diff options
context:
space:
mode:
authoriwasaki <iwasaki@FreeBSD.org>2002-06-30 17:50:46 +0000
committeriwasaki <iwasaki@FreeBSD.org>2002-06-30 17:50:46 +0000
commit6b92cff93be2b7ae83deb340b753b02444cdcacd (patch)
treea30a26908f5dc9678327cc04b639b945340f97c7 /sys/contrib/dev/acpica/exoparg2.c
parent918310234a7ff346da92f4f10b72dac878b415f2 (diff)
downloadFreeBSD-src-6b92cff93be2b7ae83deb340b753b02444cdcacd.zip
FreeBSD-src-6b92cff93be2b7ae83deb340b753b02444cdcacd.tar.gz
Vendor import of the Intel ACPI CA 200200404 drop.
Diffstat (limited to 'sys/contrib/dev/acpica/exoparg2.c')
-rw-r--r--sys/contrib/dev/acpica/exoparg2.c44
1 files changed, 20 insertions, 24 deletions
diff --git a/sys/contrib/dev/acpica/exoparg2.c b/sys/contrib/dev/acpica/exoparg2.c
index 71c946b..26fc569 100644
--- a/sys/contrib/dev/acpica/exoparg2.c
+++ b/sys/contrib/dev/acpica/exoparg2.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exoparg2 - AML execution - opcodes with 2 arguments
- * $Revision: 104 $
+ * $Revision: 105 $
*
*****************************************************************************/
@@ -177,51 +177,47 @@ AcpiExOpcode_2A_0T_0R (
ACPI_STATUS Status = AE_OK;
- ACPI_FUNCTION_TRACE_STR ("ExOpcode_2A_0T_0R", AcpiPsGetOpcodeName (WalkState->Opcode));
+ ACPI_FUNCTION_TRACE_STR ("ExOpcode_2A_0T_0R",
+ AcpiPsGetOpcodeName (WalkState->Opcode));
/* Examine the opcode */
switch (WalkState->Opcode)
{
-
case AML_NOTIFY_OP: /* Notify (NotifyObject, NotifyValue) */
/* The first operand is a namespace node */
Node = (ACPI_NAMESPACE_NODE *) Operand[0];
- /* The node must refer to a device or thermal zone or processor */
+ /* Notifies allowed on this object? */
- switch (Node->Type)
+ if (!AcpiEvIsNotifyObject (Node))
{
- case ACPI_TYPE_DEVICE:
- case ACPI_TYPE_THERMAL:
- case ACPI_TYPE_PROCESSOR:
-
- /*
- * Dispatch the notify to the appropriate handler
- * NOTE: the request is queued for execution after this method
- * completes. The notify handlers are NOT invoked synchronously
- * from this thread -- because handlers may in turn run other
- * control methods.
- */
- Status = AcpiEvQueueNotifyRequest (Node,
- (UINT32) Operand[1]->Integer.Value);
- break;
-
- default:
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unexpected notify object type %X\n",
- Node->Type));
+ ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unexpected notify object type [%s]\n",
+ AcpiUtGetTypeName (Node->Type)));
Status = AE_AML_OPERAND_TYPE;
break;
}
+
+ /*
+ * Dispatch the notify to the appropriate handler
+ * NOTE: the request is queued for execution after this method
+ * completes. The notify handlers are NOT invoked synchronously
+ * from this thread -- because handlers may in turn run other
+ * control methods.
+ */
+ Status = AcpiEvQueueNotifyRequest (Node,
+ (UINT32) Operand[1]->Integer.Value);
break;
+
default:
- ACPI_REPORT_ERROR (("AcpiExOpcode_2A_0T_0R: Unknown opcode %X\n", WalkState->Opcode));
+ ACPI_REPORT_ERROR (("AcpiExOpcode_2A_0T_0R: Unknown opcode %X\n",
+ WalkState->Opcode));
Status = AE_AML_BAD_OPCODE;
}
OpenPOWER on IntegriCloud