Module Name: src
Committed By: jruoho
Date: Mon Jan 18 18:36:50 UTC 2010
Modified Files:
src/sys/dev/acpi: acpi_ec.c acpi_powerres.c acpi_tz.c
Log Message:
Use acpi_eval_reference_handle() to simplify code. No functional change.
ok jmcneill@, pgoyette@
To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/dev/acpi/acpi_ec.c
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/acpi/acpi_powerres.c
cvs rdiff -u -r1.55 -r1.56 src/sys/dev/acpi/acpi_tz.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/acpi/acpi_ec.c
diff -u src/sys/dev/acpi/acpi_ec.c:1.58 src/sys/dev/acpi/acpi_ec.c:1.59
--- src/sys/dev/acpi/acpi_ec.c:1.58 Fri Jan 8 20:40:41 2010
+++ src/sys/dev/acpi/acpi_ec.c Mon Jan 18 18:36:49 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_ec.c,v 1.58 2010/01/08 20:40:41 dyoung Exp $ */
+/* $NetBSD: acpi_ec.c,v 1.59 2010/01/18 18:36:49 jruoho Exp $ */
/*-
* Copyright (c) 2007 Joerg Sonnenberger <[email protected]>.
@@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_ec.c,v 1.58 2010/01/08 20:40:41 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_ec.c,v 1.59 2010/01/18 18:36:49 jruoho Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -459,27 +459,16 @@
}
c = &p->Package.Elements[0];
- switch (c->Type) {
- case ACPI_TYPE_LOCAL_REFERENCE:
- case ACPI_TYPE_ANY:
- *gpe_handle = c->Reference.Handle;
- break;
- case ACPI_TYPE_STRING:
- /* XXX should be using real scope here */
- rv = AcpiGetHandle(NULL, p->String.Pointer, gpe_handle);
- if (rv != AE_OK) {
- aprint_error_dev(self,
- "_GPE device reference unresolvable\n");
- ACPI_FREE(p);
- return false;
- }
- break;
- default:
- aprint_error_dev(self, "_GPE device reference incorrect\n");
+ rv = acpi_eval_reference_handle(c, gpe_handle);
+
+ if (ACPI_FAILURE(rv)) {
+ aprint_error_dev(self, "failed to evaluate _GPE handle\n");
ACPI_FREE(p);
return false;
}
+
c = &p->Package.Elements[1];
+
if (c->Type != ACPI_TYPE_INTEGER) {
aprint_error_dev(self,
"_GPE package needs integer as 2nd field\n");
Index: src/sys/dev/acpi/acpi_powerres.c
diff -u src/sys/dev/acpi/acpi_powerres.c:1.8 src/sys/dev/acpi/acpi_powerres.c:1.9
--- src/sys/dev/acpi/acpi_powerres.c:1.8 Tue Jan 5 13:39:49 2010
+++ src/sys/dev/acpi/acpi_powerres.c Mon Jan 18 18:36:50 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_powerres.c,v 1.8 2010/01/05 13:39:49 jruoho Exp $ */
+/* $NetBSD: acpi_powerres.c,v 1.9 2010/01/18 18:36:50 jruoho Exp $ */
/*-
* Copyright (c) 2001 Michael Smith
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_powerres.c,v 1.8 2010/01/05 13:39:49 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_powerres.c,v 1.9 2010/01/18 18:36:50 jruoho Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -487,36 +487,10 @@
ACPI_FUNCTION_TRACE(__func__);
- /* check the object type */
- switch (obj->Type) {
- case ACPI_TYPE_LOCAL_REFERENCE:
- case ACPI_TYPE_ANY:
- ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "building reference from %s to %s\n",
- acpi_name(pc->ac_consumer), acpi_name(obj->Reference.Handle)));
+ status = acpi_eval_reference_handle(obj, &res);
- res = obj->Reference.Handle;
- break;
-
- case ACPI_TYPE_STRING:
- ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS,
- "building reference from %s to %s\n",
- acpi_name(pc->ac_consumer),
- obj->String.Pointer));
-
- /* get the handle of the resource */
- status = AcpiGetHandle(NULL, obj->String.Pointer, &res);
- if (ACPI_FAILURE(status)) {
- ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS,
- "couldn't find power resource %s\n",
- obj->String.Pointer));
- return_ACPI_STATUS(AE_OK);
- }
- break;
-
- default:
- ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS,
- "don't know how to create a power reference to object type %d\n",
- obj->Type));
+ if (ACPI_FAILURE(status)) {
+ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "failed to get handle\n"));
return_ACPI_STATUS(AE_OK);
}
Index: src/sys/dev/acpi/acpi_tz.c
diff -u src/sys/dev/acpi/acpi_tz.c:1.55 src/sys/dev/acpi/acpi_tz.c:1.56
--- src/sys/dev/acpi/acpi_tz.c:1.55 Mon Jan 18 17:09:17 2010
+++ src/sys/dev/acpi/acpi_tz.c Mon Jan 18 18:36:50 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_tz.c,v 1.55 2010/01/18 17:09:17 jruoho Exp $ */
+/* $NetBSD: acpi_tz.c,v 1.56 2010/01/18 18:36:50 jruoho Exp $ */
/*
* Copyright (c) 2003 Jared D. McNeill <[email protected]>
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_tz.c,v 1.55 2010/01/18 17:09:17 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_tz.c,v 1.56 2010/01/18 18:36:50 jruoho Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -393,23 +393,10 @@
else
pwr_state = ACPI_STATE_D3;
- switch(obj->Type) {
- case ACPI_TYPE_LOCAL_REFERENCE:
- case ACPI_TYPE_ANY:
- cooler = obj->Reference.Handle;
- break;
- case ACPI_TYPE_STRING:
- rv = AcpiGetHandle(NULL, obj->String.Pointer, &cooler);
- if (ACPI_FAILURE(rv)) {
- aprint_error("%s: failed to get handler from %s\n",
- __func__, obj->String.Pointer);
- return rv;
- }
- break;
- default:
- aprint_error("%s: unknown power type: %u\n",
- __func__, obj->Type);
- return AE_OK;
+ rv = acpi_eval_reference_handle(obj, &cooler);
+ if (ACPI_FAILURE(rv)) {
+ aprint_error("%s: failed to get handle\n", __func__);
+ return rv;
}
rv = acpi_pwr_switch_consumer(cooler, pwr_state);