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;
+}