1/******************************************************************************
2 *
3 * Module Name: uteval - Object evaluation
4 * $Revision: 51 $
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
13 * All rights reserved.
14 *
15 * 2. License
16 *
17 * 2.1. This is your license from Intel Corp. under its intellectual property
18 * rights. You may have additional license terms from the party that provided
19 * you this software, covering your right to use that party's intellectual
20 * property rights.
--- 638 unchanged lines hidden (view full) ---
659
660 *Flags = (UINT32) ObjDesc->Integer.Value;
661
662 /* On exit, we must delete the return object */
663
664 AcpiUtRemoveReference (ObjDesc);
665 return_ACPI_STATUS (Status);
666}
667
668
669/*******************************************************************************
670 *
671 * FUNCTION: AcpiUtExecute_Sxds
672 *
673 * PARAMETERS: DeviceNode - Node for the device
674 * *Flags - Where the status flags are returned
675 *
676 * RETURN: Status
677 *
678 * DESCRIPTION: Executes _STA for selected device and stores results in
679 * *Flags.
680 *
681 * NOTE: Internal function, no parameter validation
682 *
683 ******************************************************************************/
684
685ACPI_STATUS
686AcpiUtExecute_Sxds (
687 ACPI_NAMESPACE_NODE *DeviceNode,
688 UINT8 *Highest)
689{
690 ACPI_OPERAND_OBJECT *ObjDesc;
691 ACPI_STATUS Status;
692 UINT32 i;
693
694
695 ACPI_FUNCTION_TRACE ("UtExecute_Sxds");
696
697
698 for (i = 0; i < 4; i++)
699 {
700 Highest[i] = 0xFF;
701 Status = AcpiUtEvaluateObject (DeviceNode,
702 (char *) AcpiGbl_HighestDstateNames[i],
703 ACPI_BTYPE_INTEGER, &ObjDesc);
704 if (ACPI_FAILURE (Status))
705 {
706 if (Status != AE_NOT_FOUND)
707 {
708 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
709 "%s on Device %4.4s, %s\n",
710 (char *) AcpiGbl_HighestDstateNames[i],
711 AcpiUtGetNodeName (DeviceNode),
712 AcpiFormatException (Status)));
713
714 return_ACPI_STATUS (Status);
715 }
716 }
717 else
718 {
719 /* Extract the Dstate value */
720
721 Highest[i] = (UINT8) ObjDesc->Integer.Value;
722
723 /* Delete the return object */
724
725 AcpiUtRemoveReference (ObjDesc);
726 }
727 }
728
729 return_ACPI_STATUS (AE_OK);
730}
2 *
3 * Module Name: uteval - Object evaluation
4 * $Revision: 51 $
5 *
6 *****************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
13 * All rights reserved.
14 *
15 * 2. License
16 *
17 * 2.1. This is your license from Intel Corp. under its intellectual property
18 * rights. You may have additional license terms from the party that provided
19 * you this software, covering your right to use that party's intellectual
20 * property rights.
--- 638 unchanged lines hidden (view full) ---
659
660 *Flags = (UINT32) ObjDesc->Integer.Value;
661
662 /* On exit, we must delete the return object */
663
664 AcpiUtRemoveReference (ObjDesc);
665 return_ACPI_STATUS (Status);
666}
667
668
669/*******************************************************************************
670 *
671 * FUNCTION: AcpiUtExecute_Sxds
672 *
673 * PARAMETERS: DeviceNode - Node for the device
674 * *Flags - Where the status flags are returned
675 *
676 * RETURN: Status
677 *
678 * DESCRIPTION: Executes _STA for selected device and stores results in
679 * *Flags.
680 *
681 * NOTE: Internal function, no parameter validation
682 *
683 ******************************************************************************/
684
685ACPI_STATUS
686AcpiUtExecute_Sxds (
687 ACPI_NAMESPACE_NODE *DeviceNode,
688 UINT8 *Highest)
689{
690 ACPI_OPERAND_OBJECT *ObjDesc;
691 ACPI_STATUS Status;
692 UINT32 i;
693
694
695 ACPI_FUNCTION_TRACE ("UtExecute_Sxds");
696
697
698 for (i = 0; i < 4; i++)
699 {
700 Highest[i] = 0xFF;
701 Status = AcpiUtEvaluateObject (DeviceNode,
702 (char *) AcpiGbl_HighestDstateNames[i],
703 ACPI_BTYPE_INTEGER, &ObjDesc);
704 if (ACPI_FAILURE (Status))
705 {
706 if (Status != AE_NOT_FOUND)
707 {
708 ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
709 "%s on Device %4.4s, %s\n",
710 (char *) AcpiGbl_HighestDstateNames[i],
711 AcpiUtGetNodeName (DeviceNode),
712 AcpiFormatException (Status)));
713
714 return_ACPI_STATUS (Status);
715 }
716 }
717 else
718 {
719 /* Extract the Dstate value */
720
721 Highest[i] = (UINT8) ObjDesc->Integer.Value;
722
723 /* Delete the return object */
724
725 AcpiUtRemoveReference (ObjDesc);
726 }
727 }
728
729 return_ACPI_STATUS (AE_OK);
730}