diff options
author | iwasaki <iwasaki@FreeBSD.org> | 2002-06-30 17:50:46 +0000 |
---|---|---|
committer | iwasaki <iwasaki@FreeBSD.org> | 2002-06-30 17:50:46 +0000 |
commit | 6b92cff93be2b7ae83deb340b753b02444cdcacd (patch) | |
tree | a30a26908f5dc9678327cc04b639b945340f97c7 /sys/contrib/dev/acpica/exoparg2.c | |
parent | 918310234a7ff346da92f4f10b72dac878b415f2 (diff) | |
download | FreeBSD-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.c | 44 |
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; } |