[PATCH 2/5] acpi: method: Add new ACPI 5.0 _PRE
Keng-Yu Lin
kengyu at canonical.com
Wed Jul 4 07:29:03 UTC 2012
On Mon, Jul 2, 2012 at 8:15 PM, Colin King <colin.king at canonical.com> wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/acpi/method/method.c | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/src/acpi/method/method.c b/src/acpi/method/method.c
> index 06fb7de..afe6e75 100644
> --- a/src/acpi/method/method.c
> +++ b/src/acpi/method/method.c
> @@ -92,6 +92,7 @@
> * _PPC 8.4.4.3 N
> * _PR 5.3.1 N
> * _PR0 7.2.7 N
> + * _PRE 7.2.12 Y
> * _PRS 6.2.11 N
> * _PRW 7.2.11 N
> * _PS0 7.2.2 Y
> @@ -1754,6 +1755,28 @@ static int method_test_PSE(fwts_framework *fw)
> return method_evaluate_method(fw, METHOD_OPTIONAL, "_PSE", arg, 1, method_test_NULL_return, NULL);
> }
>
> +static void method_test_PRE_return(fwts_framework *fw, char *name, ACPI_BUFFER *buf, ACPI_OBJECT *obj, void *private)
> +{
> + int i;
> +
> + if (method_check_type(fw, name, buf, ACPI_TYPE_PACKAGE) != FWTS_OK)
> + return;
> +
> + /* All elements in the package must be references */
> + for (i=0; i < obj->Package.Count; i++) {
> + if (obj->Package.Elements[i].Type != ACPI_TYPE_LOCAL_REFERENCE) {
> + fwts_failed(fw, LOG_LEVEL_MEDIUM, "Method_PREElementType",
> + "_PRE package element %d was not a reference.", i);
> + fwts_tag_failed(fw, FWTS_TAG_ACPI_METHOD_RETURN);
> + }
> + }
> +}
> +
> +static int method_test_PRE(fwts_framework *fw)
> +{
> + return method_evaluate_method(fw, METHOD_OPTIONAL, "_PRE", NULL, 0, method_test_PRE_return, NULL);
> +}
> +
> #define method_test_PSx(name) \
> static int method_test ## name(fwts_framework *fw) \
> { \
> @@ -2105,6 +2128,7 @@ static fwts_framework_minor_test method_tests[] = {
> { method_test_PSE, "Check _PSE (Power State for Enumeration)." },
> { method_test_PSW, "Check _PSW (Power State Wake)." },
> { method_test_IRC, "Check _IRC (In Rush Current)." },
> + { method_test_PRE, "Check _PRE (Power Resources for Enumeration)." },
>
> /* Section 6.3 */
> { method_test_EJD, "Check _EJD (Ejection Dependent Device)." },
> --
> 1.7.10.4
>
Acked-by: Keng-Yu Lin <kengyu at canonical.com>
More information about the fwts-devel
mailing list