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 <jo...@netbsd.org>.
@@ -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 <jmcne...@invisible.ca>
@@ -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);

Reply via email to