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

Reply via email to