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: