diff options
Diffstat (limited to 'sys/contrib/dev/acpica/nsxfname.c')
-rw-r--r-- | sys/contrib/dev/acpica/nsxfname.c | 58 |
1 files changed, 42 insertions, 16 deletions
diff --git a/sys/contrib/dev/acpica/nsxfname.c b/sys/contrib/dev/acpica/nsxfname.c index 257aafd..6b46010 100644 --- a/sys/contrib/dev/acpica/nsxfname.c +++ b/sys/contrib/dev/acpica/nsxfname.c @@ -2,7 +2,7 @@ * * Module Name: nsxfname - Public interfaces to the ACPI subsystem * ACPI Namespace oriented interfaces - * $Revision: 75 $ + * $Revision: 79 $ * *****************************************************************************/ @@ -126,7 +126,7 @@ #include "acevents.h" -#define _COMPONENT NAMESPACE +#define _COMPONENT ACPI_NAMESPACE MODULE_NAME ("nsxfname") @@ -159,6 +159,16 @@ AcpiGetHandle ( ACPI_NAMESPACE_NODE *PrefixNode = NULL; + /* Ensure that ACPI has been initialized */ + + ACPI_IS_INITIALIZATION_COMPLETE (Status); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + /* Parameter Validation */ + if (!RetHandle || !Pathname) { return (AE_BAD_PARAMETER); @@ -168,16 +178,16 @@ AcpiGetHandle ( if (Parent) { - AcpiCmAcquireMutex (ACPI_MTX_NAMESPACE); + AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE); PrefixNode = AcpiNsConvertHandleToEntry (Parent); if (!PrefixNode) { - AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE); + AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); return (AE_BAD_PARAMETER); } - AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE); + AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); } /* Special case for root, since we can't search for it */ @@ -229,6 +239,14 @@ AcpiGetName ( ACPI_NAMESPACE_NODE *Node; + /* Ensure that ACPI has been initialized */ + + ACPI_IS_INITIALIZATION_COMPLETE (Status); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + /* Buffer pointer must be valid always */ if (!RetPathPtr || (NameType > ACPI_NAME_TYPE_MAX)) @@ -258,7 +276,7 @@ AcpiGetName ( * Validate handle and convert to an Node */ - AcpiCmAcquireMutex (ACPI_MTX_NAMESPACE); + AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE); Node = AcpiNsConvertHandleToEntry (Handle); if (!Node) { @@ -285,7 +303,7 @@ AcpiGetName ( UnlockAndExit: - AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE); + AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); return (Status); } @@ -310,14 +328,22 @@ AcpiGetObjectInfo ( ACPI_HANDLE Handle, ACPI_DEVICE_INFO *Info) { - DEVICE_ID Hid; - DEVICE_ID Uid; + ACPI_DEVICE_ID Hid; + ACPI_DEVICE_ID Uid; ACPI_STATUS Status; UINT32 DeviceStatus = 0; ACPI_INTEGER Address = 0; ACPI_NAMESPACE_NODE *Node; + /* Ensure that ACPI has been initialized */ + + ACPI_IS_INITIALIZATION_COMPLETE (Status); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + /* Parameter validation */ if (!Handle || !Info) @@ -325,19 +351,19 @@ AcpiGetObjectInfo ( return (AE_BAD_PARAMETER); } - AcpiCmAcquireMutex (ACPI_MTX_NAMESPACE); + AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE); Node = AcpiNsConvertHandleToEntry (Handle); if (!Node) { - AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE); + AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); return (AE_BAD_PARAMETER); } Info->Type = Node->Type; Info->Name = Node->Name; - AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE); + AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); /* * If not a device, we are all done. @@ -360,7 +386,7 @@ AcpiGetObjectInfo ( /* Execute the _HID method and save the result */ - Status = AcpiCmExecute_HID (Node, &Hid); + Status = AcpiUtExecute_HID (Node, &Hid); if (ACPI_SUCCESS (Status)) { STRNCPY (Info->HardwareId, Hid.Buffer, sizeof(Info->HardwareId)); @@ -370,7 +396,7 @@ AcpiGetObjectInfo ( /* Execute the _UID method and save the result */ - Status = AcpiCmExecute_UID (Node, &Uid); + Status = AcpiUtExecute_UID (Node, &Uid); if (ACPI_SUCCESS (Status)) { STRCPY (Info->UniqueId, Uid.Buffer); @@ -383,7 +409,7 @@ AcpiGetObjectInfo ( * _STA is not always present */ - Status = AcpiCmExecute_STA (Node, &DeviceStatus); + Status = AcpiUtExecute_STA (Node, &DeviceStatus); if (ACPI_SUCCESS (Status)) { Info->CurrentStatus = DeviceStatus; @@ -395,7 +421,7 @@ AcpiGetObjectInfo ( * _ADR is not always present */ - Status = AcpiCmEvaluateNumericObject (METHOD_NAME__ADR, + Status = AcpiUtEvaluateNumericObject (METHOD_NAME__ADR, Node, &Address); if (ACPI_SUCCESS (Status)) |