Print this page
acpica-unix2-20130823
PANKOVs restructure
@@ -3,11 +3,11 @@
* Module Name: uteval - Object evaluation
*
*****************************************************************************/
/*
- * Copyright (C) 2000 - 2011, Intel Corp.
+ * Copyright (C) 2000 - 2013, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
@@ -93,11 +93,11 @@
{
return_ACPI_STATUS (AE_NO_MEMORY);
}
Info->PrefixNode = PrefixNode;
- Info->Pathname = Path;
+ Info->RelativePathname = Path;
/* Evaluate the object/method */
Status = AcpiNsEvaluate (Info);
if (ACPI_FAILURE (Status))
@@ -134,26 +134,31 @@
/* Map the return object type to the bitmapped type */
switch ((Info->ReturnObject)->Common.Type)
{
case ACPI_TYPE_INTEGER:
+
ReturnBtype = ACPI_BTYPE_INTEGER;
break;
case ACPI_TYPE_BUFFER:
+
ReturnBtype = ACPI_BTYPE_BUFFER;
break;
case ACPI_TYPE_STRING:
+
ReturnBtype = ACPI_BTYPE_STRING;
break;
case ACPI_TYPE_PACKAGE:
+
ReturnBtype = ACPI_BTYPE_PACKAGE;
break;
default:
+
ReturnBtype = 0;
break;
}
if ((AcpiGbl_EnableInterpreterSlack) &&
@@ -253,11 +258,12 @@
* Flags - Where the status flags are returned
*
* RETURN: Status
*
* DESCRIPTION: Executes _STA for selected device and stores results in
- * *Flags.
+ * *Flags. If _STA does not exist, then the device is assumed
+ * to be present/functional/enabled (as per the ACPI spec).
*
* NOTE: Internal function, no parameter validation
*
******************************************************************************/
@@ -277,10 +283,15 @@
ACPI_BTYPE_INTEGER, &ObjDesc);
if (ACPI_FAILURE (Status))
{
if (AE_NOT_FOUND == Status)
{
+ /*
+ * if _STA does not exist, then (as per the ACPI specification),
+ * the returned flags will indicate that the device is present,
+ * functional, and enabled.
+ */
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
"_STA on %4.4s was not found, assuming device is present\n",
AcpiUtGetNodeName (DeviceNode)));
*Flags = ACPI_UINT32_MAX;