Module Name:    src
Committed By:   cegger
Date:           Sat Jul  4 21:20:57 UTC 2009

Modified Files:
        src/sys/dev/pci: pci_usrreq.c

Log Message:
pciioctl(), pci_devioctl():
simplify implementations of PCI_IOC_BDF_CFGREAD, PCI_IOC_BDF_CFGWRITE,
PCI_IOC_CFGREAD, PCI_IOC_CFGWRITE
No functional changes.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/pci/pci_usrreq.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/pci/pci_usrreq.c
diff -u src/sys/dev/pci/pci_usrreq.c:1.17 src/sys/dev/pci/pci_usrreq.c:1.18
--- src/sys/dev/pci/pci_usrreq.c:1.17	Sat Jul  4 21:01:10 2009
+++ src/sys/dev/pci/pci_usrreq.c	Sat Jul  4 21:20:56 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci_usrreq.c,v 1.17 2009/07/04 21:01:10 cegger Exp $	*/
+/*	$NetBSD: pci_usrreq.c,v 1.18 2009/07/04 21:20:56 cegger Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.17 2009/07/04 21:01:10 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.18 2009/07/04 21:20:56 cegger Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -84,15 +84,23 @@
 			return EINVAL;
 		tag = pci_make_tag(sc->sc_pc, bdfr->bus, bdfr->device,
 		    bdfr->function);
-		if (cmd == PCI_IOC_BDF_CFGREAD)
-			bdfr->cfgreg.val = pci_conf_read(sc->sc_pc, tag,
-			    bdfr->cfgreg.reg);
-		else {
-			if ((flag & FWRITE) == 0)
-				return EBADF;
-			pci_conf_write(sc->sc_pc, tag, bdfr->cfgreg.reg,
-			    bdfr->cfgreg.val);
-		}
+		break;
+
+	default:
+		break;
+	}
+
+	switch (cmd) {
+	case PCI_IOC_BDF_CFGREAD:
+		bdfr->cfgreg.val = pci_conf_read(sc->sc_pc, tag,
+		    bdfr->cfgreg.reg);
+		break;
+
+	case PCI_IOC_BDF_CFGWRITE:
+		if ((flag & FWRITE) == 0)
+			return EBADF;
+		pci_conf_write(sc->sc_pc, tag, bdfr->cfgreg.reg,
+		    bdfr->cfgreg.val);
 		break;
 
 	case PCI_IOC_BUSINFO:
@@ -145,14 +153,13 @@
 
 	switch (cmd) {
 	case PCI_IOC_CFGREAD:
+		r->val = pci_conf_read(pc, tag, r->reg);
+		break;
+
 	case PCI_IOC_CFGWRITE:
-		if (cmd == PCI_IOC_CFGREAD)
-			r->val = pci_conf_read(pc, tag, r->reg);
-		else {
-			if ((flag & FWRITE) == 0)
-				return EBADF;
-			pci_conf_write(pc, tag, r->reg, r->val);
-		}
+		if ((flag & FWRITE) == 0)
+			return EBADF;
+		pci_conf_write(pc, tag, r->reg, r->val);
 		break;
 
 	default:

Reply via email to