Module Name: src Committed By: jakllsch Date: Fri Nov 5 19:50:18 UTC 2010
Modified Files: src/sys/dev/pci: pciide.c Log Message: pciide(4): Sprinkle static, add detachment support. To generate a diff of this commit: cvs rdiff -u -r1.217 -r1.218 src/sys/dev/pci/pciide.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/pciide.c diff -u src/sys/dev/pci/pciide.c:1.217 src/sys/dev/pci/pciide.c:1.218 --- src/sys/dev/pci/pciide.c:1.217 Mon Oct 19 18:41:15 2009 +++ src/sys/dev/pci/pciide.c Fri Nov 5 19:50:18 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: pciide.c,v 1.217 2009/10/19 18:41:15 bouyer Exp $ */ +/* $NetBSD: pciide.c,v 1.218 2010/11/05 19:50:18 jakllsch Exp $ */ /* @@ -70,7 +70,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pciide.c,v 1.217 2009/10/19 18:41:15 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pciide.c,v 1.218 2010/11/05 19:50:18 jakllsch Exp $"); #include <sys/param.h> @@ -78,13 +78,14 @@ #include <dev/pci/pciidereg.h> #include <dev/pci/pciidevar.h> -int pciide_match(device_t, cfdata_t, void *); -void pciide_attach(device_t, device_t, void *); +static int pciide_match(device_t, cfdata_t, void *); +static void pciide_attach(device_t, device_t, void *); +static int pciide_detach(device_t, int); CFATTACH_DECL_NEW(pciide, sizeof(struct pciide_softc), - pciide_match, pciide_attach, NULL, NULL); + pciide_match, pciide_attach, pciide_detach, NULL); -int +static int pciide_match(device_t parent, cfdata_t match, void *aux) { struct pci_attach_args *pa = aux; @@ -102,7 +103,7 @@ return (0); } -void +static void pciide_attach(device_t parent, device_t self, void *aux) { struct pci_attach_args *pa = aux; @@ -112,3 +113,19 @@ pciide_common_attach(sc, pa, NULL); } + +static int +pciide_detach(device_t self, int flags) +{ + struct pciide_softc *sc = device_private(self); + int ret; + + ret = pciide_common_detach(sc, flags); + + if (ret != 0) + return ret; + + pci_intr_disestablish(sc->sc_pc, sc->sc_pci_ih); + + return ret; +}