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: