summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/evxfregn.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/evxfregn.c')
-rw-r--r--sys/contrib/dev/acpica/evxfregn.c90
1 files changed, 53 insertions, 37 deletions
diff --git a/sys/contrib/dev/acpica/evxfregn.c b/sys/contrib/dev/acpica/evxfregn.c
index 7c05f50..dceafd6 100644
--- a/sys/contrib/dev/acpica/evxfregn.c
+++ b/sys/contrib/dev/acpica/evxfregn.c
@@ -2,7 +2,7 @@
*
* Module Name: evxfregn - External Interfaces, ACPI Operation Regions and
* Address Spaces.
- * $Revision: 27 $
+ * $Revision: 34 $
*
*****************************************************************************/
@@ -124,11 +124,11 @@
#include "amlcode.h"
#include "acinterp.h"
-#define _COMPONENT EVENT_HANDLING
+#define _COMPONENT ACPI_EVENTS
MODULE_NAME ("evxfregn")
-/******************************************************************************
+/*******************************************************************************
*
* FUNCTION: AcpiInstallAddressSpaceHandler
*
@@ -147,21 +147,30 @@
ACPI_STATUS
AcpiInstallAddressSpaceHandler (
ACPI_HANDLE Device,
- ACPI_ADDRESS_SPACE_TYPE SpaceId,
- ADDRESS_SPACE_HANDLER Handler,
- ADDRESS_SPACE_SETUP Setup,
+ ACPI_ADR_SPACE_TYPE SpaceId,
+ ACPI_ADR_SPACE_HANDLER Handler,
+ ACPI_ADR_SPACE_SETUP Setup,
void *Context)
{
ACPI_OPERAND_OBJECT *ObjDesc;
ACPI_OPERAND_OBJECT *HandlerObj;
ACPI_NAMESPACE_NODE *Node;
ACPI_STATUS Status = AE_OK;
- OBJECT_TYPE_INTERNAL Type;
+ ACPI_OBJECT_TYPE8 Type;
UINT16 Flags = 0;
FUNCTION_TRACE ("AcpiInstallAddressSpaceHandler");
+
+ /* Ensure that ACPI has been initialized */
+
+ ACPI_IS_INITIALIZATION_COMPLETE (Status);
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
+
/* Parameter validation */
if ((!Device) ||
@@ -171,7 +180,7 @@ AcpiInstallAddressSpaceHandler (
return_ACPI_STATUS (AE_BAD_PARAMETER);
}
- AcpiCmAcquireMutex (ACPI_MTX_NAMESPACE);
+ AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
/* Convert and validate the device handle */
@@ -203,18 +212,18 @@ AcpiInstallAddressSpaceHandler (
switch (SpaceId)
{
- case ADDRESS_SPACE_SYSTEM_MEMORY:
- Handler = AcpiAmlSystemMemorySpaceHandler;
+ case ACPI_ADR_SPACE_SYSTEM_MEMORY:
+ Handler = AcpiExSystemMemorySpaceHandler;
Setup = AcpiEvSystemMemoryRegionSetup;
break;
- case ADDRESS_SPACE_SYSTEM_IO:
- Handler = AcpiAmlSystemIoSpaceHandler;
+ case ACPI_ADR_SPACE_SYSTEM_IO:
+ Handler = AcpiExSystemIoSpaceHandler;
Setup = AcpiEvIoSpaceRegionSetup;
break;
- case ADDRESS_SPACE_PCI_CONFIG:
- Handler = AcpiAmlPciConfigSpaceHandler;
+ case ACPI_ADR_SPACE_PCI_CONFIG:
+ Handler = AcpiExPciConfigSpaceHandler;
Setup = AcpiEvPciConfigRegionSetup;
break;
@@ -237,7 +246,7 @@ AcpiInstallAddressSpaceHandler (
* Check for an existing internal object
*/
- ObjDesc = AcpiNsGetAttachedObject ((ACPI_HANDLE) Node);
+ ObjDesc = AcpiNsGetAttachedObject (Node);
if (ObjDesc)
{
/*
@@ -269,9 +278,8 @@ AcpiInstallAddressSpaceHandler (
else
{
- DEBUG_PRINT (TRACE_OPREGION,
- ("Creating object on Device %p while installing handler\n",
- Node));
+ DEBUG_PRINTP (TRACE_OPREGION,
+ ("Creating object on Device %p while installing handler\n", Node));
/* ObjDesc does not exist, create one */
@@ -285,7 +293,7 @@ AcpiInstallAddressSpaceHandler (
Type = Node->Type;
}
- ObjDesc = AcpiCmCreateInternalObject (Type);
+ ObjDesc = AcpiUtCreateInternalObject (Type);
if (!ObjDesc)
{
Status = AE_NO_MEMORY;
@@ -301,14 +309,14 @@ AcpiInstallAddressSpaceHandler (
Status = AcpiNsAttachObject (Node, ObjDesc, (UINT8) Type);
if (ACPI_FAILURE (Status))
{
- AcpiCmRemoveReference (ObjDesc);
+ AcpiUtRemoveReference (ObjDesc);
goto UnlockAndExit;
}
}
- DEBUG_PRINT (TRACE_OPREGION,
+ DEBUG_PRINTP (TRACE_OPREGION,
("Installing address handler for region %s(%X) on Device %p(%p)\n",
- AcpiCmGetRegionName (SpaceId), SpaceId, Node, ObjDesc));
+ AcpiUtGetRegionName (SpaceId), SpaceId, Node, ObjDesc));
/*
* Now we can install the handler
@@ -317,7 +325,7 @@ AcpiInstallAddressSpaceHandler (
* So, we just allocate the object for the handler and link it
* into the list.
*/
- HandlerObj = AcpiCmCreateInternalObject (INTERNAL_TYPE_ADDRESS_HANDLER);
+ HandlerObj = AcpiUtCreateInternalObject (INTERNAL_TYPE_ADDRESS_HANDLER);
if (!HandlerObj)
{
Status = AE_NO_MEMORY;
@@ -361,12 +369,12 @@ AcpiInstallAddressSpaceHandler (
UnlockAndExit:
- AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE);
+ AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
return_ACPI_STATUS (Status);
}
-/******************************************************************************
+/*******************************************************************************
*
* FUNCTION: AcpiRemoveAddressSpaceHandler
*
@@ -382,8 +390,8 @@ UnlockAndExit:
ACPI_STATUS
AcpiRemoveAddressSpaceHandler (
ACPI_HANDLE Device,
- ACPI_ADDRESS_SPACE_TYPE SpaceId,
- ADDRESS_SPACE_HANDLER Handler)
+ ACPI_ADR_SPACE_TYPE SpaceId,
+ ACPI_ADR_SPACE_HANDLER Handler)
{
ACPI_OPERAND_OBJECT *ObjDesc;
ACPI_OPERAND_OBJECT *HandlerObj;
@@ -396,6 +404,14 @@ AcpiRemoveAddressSpaceHandler (
FUNCTION_TRACE ("AcpiRemoveAddressSpaceHandler");
+ /* Ensure that ACPI has been initialized */
+
+ ACPI_IS_INITIALIZATION_COMPLETE (Status);
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
+
/* Parameter validation */
if ((!Device) ||
@@ -405,7 +421,7 @@ AcpiRemoveAddressSpaceHandler (
return_ACPI_STATUS (AE_BAD_PARAMETER);
}
- AcpiCmAcquireMutex (ACPI_MTX_NAMESPACE);
+ AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
/* Convert and validate the device handle */
@@ -419,7 +435,7 @@ AcpiRemoveAddressSpaceHandler (
/* Make sure the internal object exists */
- ObjDesc = AcpiNsGetAttachedObject ((ACPI_HANDLE) Node);
+ ObjDesc = AcpiNsGetAttachedObject (Node);
if (!ObjDesc)
{
/*
@@ -446,9 +462,9 @@ AcpiRemoveAddressSpaceHandler (
/*
* Got it, first dereference this in the Regions
*/
- DEBUG_PRINT (TRACE_OPREGION,
+ DEBUG_PRINTP (TRACE_OPREGION,
("Removing address handler %p(%p) for region %s on Device %p(%p)\n",
- HandlerObj, Handler, AcpiCmGetRegionName (SpaceId),
+ HandlerObj, Handler, AcpiUtGetRegionName (SpaceId),
Node, ObjDesc));
RegionObj = HandlerObj->AddrHandler.RegionList;
@@ -464,7 +480,7 @@ AcpiRemoveAddressSpaceHandler (
* The region is just inaccessible as indicated to
* the _REG method
*/
- AcpiEvDisassociateRegionFromHandler(RegionObj, FALSE);
+ AcpiEvDisassociateRegionFromHandler(RegionObj, TRUE);
/*
* Walk the list, since we took the first region and it
@@ -483,8 +499,8 @@ AcpiRemoveAddressSpaceHandler (
/*
* Now we can delete the handler object
*/
- AcpiCmRemoveReference (HandlerObj);
- AcpiCmRemoveReference (HandlerObj);
+ AcpiUtRemoveReference (HandlerObj);
+ AcpiUtRemoveReference (HandlerObj);
goto UnlockAndExit;
}
@@ -500,15 +516,15 @@ AcpiRemoveAddressSpaceHandler (
/*
* The handler does not exist
*/
- DEBUG_PRINT (TRACE_OPREGION,
+ DEBUG_PRINTP (TRACE_OPREGION,
("Unable to remove address handler %p for %s(%X), DevNode %p, obj %p\n",
- Handler, AcpiCmGetRegionName (SpaceId), SpaceId, Node, ObjDesc));
+ Handler, AcpiUtGetRegionName (SpaceId), SpaceId, Node, ObjDesc));
Status = AE_NOT_EXIST;
UnlockAndExit:
- AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE);
+ AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
return_ACPI_STATUS (Status);
}
OpenPOWER on IntegriCloud