Module Name:    src
Committed By:   jruoho
Date:           Fri Apr 23 15:46:59 UTC 2010

Modified Files:
        src/sys/dev/acpi: acpi_pci.c acpi_pci.h

Log Message:
Simplify acpi_pcidev_find(): directly return a pointer to the device node.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/dev/acpi/acpi_pci.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/acpi/acpi_pci.h

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_pci.c
diff -u src/sys/dev/acpi/acpi_pci.c:1.9 src/sys/dev/acpi/acpi_pci.c:1.10
--- src/sys/dev/acpi/acpi_pci.c:1.9	Thu Apr 22 21:58:08 2010
+++ src/sys/dev/acpi/acpi_pci.c	Fri Apr 23 15:46:59 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_pci.c,v 1.9 2010/04/22 21:58:08 jruoho Exp $ */
+/* $NetBSD: acpi_pci.c,v 1.10 2010/04/23 15:46:59 jruoho Exp $ */
 
 /*
  * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_pci.c,v 1.9 2010/04/22 21:58:08 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_pci.c,v 1.10 2010/04/23 15:46:59 jruoho Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -301,31 +301,28 @@
  * acpi_pcidev_find:
  *
  *      Finds a PCI device in the ACPI name space.
- *      The return status is either:
- *      - AE_NOT_FOUND if no such device was found.
- *      - AE_OK if one and only one such device was found.
+ *
+ *      Returns an ACPI device node on success and NULL on failure.
  */
-ACPI_STATUS
-acpi_pcidev_find(uint16_t segment, uint16_t bus, uint16_t device,
-    uint16_t function, struct acpi_devnode **devnodep)
+struct acpi_devnode *
+acpi_pcidev_find(uint16_t segment, uint16_t bus,
+    uint16_t device, uint16_t function)
 {
 	struct acpi_softc *sc = acpi_softc;
 	struct acpi_devnode *ad;
 
 	if (sc == NULL)
-		return AE_NOT_FOUND;
+		return NULL;
 
 	SIMPLEQ_FOREACH(ad, &sc->ad_head, ad_list) {
 
-		if ((ad->ad_pciinfo != NULL) &&
-		    (ad->ad_pciinfo->ap_segment == segment) &&
-		    (ad->ad_pciinfo->ap_bus == bus) &&
-		    (ad->ad_pciinfo->ap_device == device) &&
-		    (ad->ad_pciinfo->ap_function == function)) {
-			*devnodep = ad;
-			return AE_OK;
-		}
+		if (ad->ad_pciinfo != NULL &&
+		    ad->ad_pciinfo->ap_segment == segment &&
+		    ad->ad_pciinfo->ap_bus == bus &&
+		    ad->ad_pciinfo->ap_device == device &&
+		    ad->ad_pciinfo->ap_function == function)
+			return ad;
 	}
 
-	return AE_NOT_FOUND;
+	return NULL;
 }

Index: src/sys/dev/acpi/acpi_pci.h
diff -u src/sys/dev/acpi/acpi_pci.h:1.5 src/sys/dev/acpi/acpi_pci.h:1.6
--- src/sys/dev/acpi/acpi_pci.h:1.5	Thu Apr 22 21:58:08 2010
+++ src/sys/dev/acpi/acpi_pci.h	Fri Apr 23 15:46:59 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_pci.h,v 1.5 2010/04/22 21:58:08 jruoho Exp $ */
+/* $NetBSD: acpi_pci.h,v 1.6 2010/04/23 15:46:59 jruoho Exp $ */
 
 /*
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -31,10 +31,10 @@
 #ifndef _SYS_DEV_ACPI_ACPI_PCI_H
 #define _SYS_DEV_ACPI_ACPI_PCI_H
 
-ACPI_STATUS	acpi_pcidev_scan(struct acpi_devnode *);
-ACPI_STATUS	acpi_pcidev_find(uint16_t, uint16_t, uint16_t, uint16_t,
-		    struct acpi_devnode **);
-ACPI_STATUS	acpi_pcidev_ppb_downbus(uint16_t, uint16_t, uint16_t, uint16_t,
-		    uint16_t *);
+ACPI_STATUS		 acpi_pcidev_scan(struct acpi_devnode *);
+struct acpi_devnode	*acpi_pcidev_find(uint16_t, uint16_t,
+					  uint16_t, uint16_t);
+ACPI_STATUS		 acpi_pcidev_ppb_downbus(uint16_t, uint16_t, uint16_t,
+						 uint16_t, uint16_t *);
 
 #endif	/* !_SYS_DEV_ACPI_ACPI_PCI_H */

Reply via email to