summaryrefslogtreecommitdiffstats
path: root/source/components/namespace
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2013-06-26 19:01:10 +0000
committerjkim <jkim@FreeBSD.org>2013-06-26 19:01:10 +0000
commit7aca7201724cb02a2a0541bd3ad2c0aca23dd076 (patch)
tree274ff6113dbdc6cbbbf50dc30d0527fb9cb0fc55 /source/components/namespace
parentaf69f95bba3597db53a980597cfd371c9f6ee7cf (diff)
downloadFreeBSD-src-7aca7201724cb02a2a0541bd3ad2c0aca23dd076.zip
FreeBSD-src-7aca7201724cb02a2a0541bd3ad2c0aca23dd076.tar.gz
Import ACPICA 20130626.
Diffstat (limited to 'source/components/namespace')
-rw-r--r--source/components/namespace/nsdump.c2
-rw-r--r--source/components/namespace/nsrepair2.c28
-rw-r--r--source/components/namespace/nsxfname.c11
3 files changed, 25 insertions, 16 deletions
diff --git a/source/components/namespace/nsdump.c b/source/components/namespace/nsdump.c
index be780f2..82e6602 100644
--- a/source/components/namespace/nsdump.c
+++ b/source/components/namespace/nsdump.c
@@ -618,7 +618,7 @@ AcpiNsDumpOneObject (
break;
case ACPI_TYPE_LOCAL_INDEX_FIELD:
-
+
ObjDesc = (void *) ObjDesc->IndexField.IndexObj;
break;
diff --git a/source/components/namespace/nsrepair2.c b/source/components/namespace/nsrepair2.c
index 0dcfaad..0cf604b 100644
--- a/source/components/namespace/nsrepair2.c
+++ b/source/components/namespace/nsrepair2.c
@@ -501,19 +501,7 @@ AcpiNsRepair_CST (
/*
- * Entries (subpackages) in the _CST Package must be sorted by the
- * C-state type, in ascending order.
- */
- Status = AcpiNsCheckSortedList (Info, ReturnObject, 1, 4, 1,
- ACPI_SORT_ASCENDING, "C-State Type");
- if (ACPI_FAILURE (Status))
- {
- return (Status);
- }
-
- /*
- * We now know the list is correctly sorted by C-state type. Check if
- * the C-state type values are proportional.
+ * Check if the C-state type values are proportional.
*/
OuterElementCount = ReturnObject->Package.Count - 1;
i = 0;
@@ -527,6 +515,7 @@ AcpiNsRepair_CST (
ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, Info->NodeFlags,
"SubPackage[%u] - removing entry due to zero count", i));
Removing = TRUE;
+ goto RemoveElement;
}
ObjDesc = (*OuterElements)->Package.Elements[1]; /* Index1 = Type */
@@ -537,6 +526,7 @@ AcpiNsRepair_CST (
Removing = TRUE;
}
+RemoveElement:
if (Removing)
{
AcpiNsRemoveElement (ReturnObject, i + 1);
@@ -552,6 +542,18 @@ AcpiNsRepair_CST (
ObjDesc = ReturnObject->Package.Elements[0];
ObjDesc->Integer.Value = OuterElementCount;
+
+ /*
+ * Entries (subpackages) in the _CST Package must be sorted by the
+ * C-state type, in ascending order.
+ */
+ Status = AcpiNsCheckSortedList (Info, ReturnObject, 1, 4, 1,
+ ACPI_SORT_ASCENDING, "C-State Type");
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
return (AE_OK);
}
diff --git a/source/components/namespace/nsxfname.c b/source/components/namespace/nsxfname.c
index 619cec3..289ecd8 100644
--- a/source/components/namespace/nsxfname.c
+++ b/source/components/namespace/nsxfname.c
@@ -177,6 +177,7 @@ AcpiGetName (
{
ACPI_STATUS Status;
ACPI_NAMESPACE_NODE *Node;
+ char *NodeName;
/* Parameter validation */
@@ -227,7 +228,8 @@ AcpiGetName (
/* Just copy the ACPI name from the Node and zero terminate it */
- ACPI_MOVE_NAME (Buffer->Pointer, AcpiUtGetNodeName (Node));
+ NodeName = AcpiUtGetNodeName (Node);
+ ACPI_MOVE_NAME (Buffer->Pointer, NodeName);
((char *) Buffer->Pointer) [ACPI_NAME_SIZE] = 0;
Status = AE_OK;
@@ -423,9 +425,14 @@ AcpiGetObjectInfo (
* Get extra info for ACPI Device/Processor objects only:
* Run the _STA, _ADR and, SxW, and _SxD methods.
*
- * Note: none of these methods are required, so they may or may
+ * Notes: none of these methods are required, so they may or may
* not be present for this device. The Info->Valid bitfield is used
* to indicate which methods were found and run successfully.
+ *
+ * For _STA, if the method does not exist, then (as per the ACPI
+ * specification), the returned CurrentStatus flags will indicate
+ * that the device is present/functional/enabled. Otherwise, the
+ * CurrentStatus flags reflect the value returned from _STA.
*/
/* Execute the Device._STA method */
OpenPOWER on IntegriCloud