Factor out an_detach, since the implementation for all busses is
authorJoerg Sonnenberger <joerg@dragonflybsd.org>
Wed, 27 Jul 2005 21:56:32 +0000 (21:56 +0000)
committerJoerg Sonnenberger <joerg@dragonflybsd.org>
Wed, 27 Jul 2005 21:56:32 +0000 (21:56 +0000)
(almost) identical. Remove useless .PATH.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
sys/dev/netif/an/Makefile
sys/dev/netif/an/if_an.c
sys/dev/netif/an/if_an_isa.c
sys/dev/netif/an/if_an_pccard.c
sys/dev/netif/an/if_an_pci.c
sys/dev/netif/an/if_anreg.h

index 83994bc..9420033 100644 (file)
@@ -1,7 +1,6 @@
 # $FreeBSD: src/sys/modules/an/Makefile,v 1.2 2000/01/28 11:26:26 bde Exp $
-# $DragonFly: src/sys/dev/netif/an/Makefile,v 1.4 2005/02/18 11:41:42 corecode Exp $
+# $DragonFly: src/sys/dev/netif/an/Makefile,v 1.5 2005/07/27 21:56:32 joerg Exp $
 
-.PATH: ${.CURDIR}/../../dev/an
 KMOD   = if_an
 SRCS   = if_an.c if_an_pccard.c if_an_pci.c if_an_isa.c
 SRCS   += opt_inet.h device_if.h bus_if.h pci_if.h isa_if.h card_if.h
index 005619b..d58bcab 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/an/if_an.c,v 1.2.2.13 2003/02/11 03:32:48 ambrisko Exp $
- * $DragonFly: src/sys/dev/netif/an/if_an.c,v 1.26 2005/06/11 04:26:53 hsu Exp $
+ * $DragonFly: src/sys/dev/netif/an/if_an.c,v 1.27 2005/07/27 21:56:32 joerg Exp $
  */
 
 /*
@@ -804,6 +804,23 @@ an_attach(sc, dev, flags)
        return(0);
 }
 
+int
+an_detach(device_t dev)
+{
+       struct an_softc *sc = device_get_softc(dev);
+       struct ifnet *ifp = &sc->arpcom.ac_if;
+
+       crit_enter();
+       an_stop(sc);
+       ifmedia_removeall(&sc->an_ifmedia);
+       ether_ifdetach(ifp);
+       bus_teardown_intr(dev, sc->irq_res, sc->irq_handle);
+       crit_exit();
+
+       an_release_resources(dev);
+       return 0;
+}
+
 static void
 an_rxeof(sc)
        struct an_softc *sc;
index 65d47fc..e8b9d70 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/an/if_an_isa.c,v 1.1.2.5 2003/02/01 03:25:12 ambrisko Exp $
- * $DragonFly: src/sys/dev/netif/an/if_an_isa.c,v 1.10 2005/06/15 11:35:22 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/an/if_an_isa.c,v 1.11 2005/07/27 21:56:32 joerg Exp $
  */
 
 /*
@@ -79,7 +79,6 @@ static struct isa_pnp_id an_ids[] = {
 
 static int an_probe_isa                (device_t);
 static int an_attach_isa       (device_t);
-static int an_detach_isa       (device_t);
 
 static int
 an_probe_isa(dev)
@@ -136,26 +135,11 @@ fail:
        return(error);
 }
 
-static int
-an_detach_isa(device_t dev)
-{
-       struct an_softc         *sc = device_get_softc(dev);
-       struct ifnet            *ifp = &sc->arpcom.ac_if;
-
-       an_stop(sc);
-       ifmedia_removeall(&sc->an_ifmedia);
-       ether_ifdetach(ifp);
-       bus_teardown_intr(dev, sc->irq_res, sc->irq_handle);
-       an_release_resources(dev);
-
-       return (0);
-}
-
 static device_method_t an_isa_methods[] = {
        /* Device interface */
        DEVMETHOD(device_probe,         an_probe_isa),
        DEVMETHOD(device_attach,        an_attach_isa),
-       DEVMETHOD(device_detach,        an_detach_isa),
+       DEVMETHOD(device_detach,        an_detach),
        DEVMETHOD(device_shutdown,      an_shutdown),
        { 0, 0 }
 };
index 7a63089..f3f97a1 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/an/if_an_pccard.c,v 1.1.2.6 2003/02/01 03:25:12 ambrisko Exp $
- * $DragonFly: src/sys/dev/netif/an/if_an_pccard.c,v 1.10 2005/06/15 11:35:22 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/an/if_an_pccard.c,v 1.11 2005/07/27 21:56:32 joerg Exp $
  */
 
 /*
 static int  an_pccard_match(device_t);
 static int  an_pccard_probe(device_t);
 static int  an_pccard_attach(device_t);
-static int  an_pccard_detach(device_t);
 
 static device_method_t an_pccard_methods[] = {
        /* Device interface */
        DEVMETHOD(device_probe,         pccard_compat_probe),
        DEVMETHOD(device_attach,        pccard_compat_attach),
        DEVMETHOD(device_shutdown,      an_shutdown),
-       DEVMETHOD(device_detach,        an_pccard_detach),
+       DEVMETHOD(device_detach,        an_detach),
 
        /* Card interface */
        DEVMETHOD(card_compat_match,    an_pccard_match),
@@ -127,21 +126,6 @@ an_pccard_match(device_t dev)
        return (ENXIO);
 }
 
-static int
-an_pccard_detach(device_t dev)
-{
-       struct an_softc         *sc = device_get_softc(dev);
-       struct ifnet            *ifp = &sc->arpcom.ac_if;
-
-       an_stop(sc);
-       ifmedia_removeall(&sc->an_ifmedia);
-       ifp->if_flags &= ~IFF_RUNNING;
-       ether_ifdetach(ifp);
-       bus_teardown_intr(dev, sc->irq_res, sc->irq_handle);
-       an_release_resources(dev);
-       return (0);
-}
-
 static int
 an_pccard_probe(device_t dev)
 {
index 67eb8f0..9670e2d 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/an/if_an_pci.c,v 1.2.2.8 2003/02/11 03:32:48 ambrisko Exp $
- * $DragonFly: src/sys/dev/netif/an/if_an_pci.c,v 1.12 2005/06/15 11:35:22 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/an/if_an_pci.c,v 1.13 2005/07/27 21:56:32 joerg Exp $
  */
 
 /*
@@ -111,7 +111,6 @@ static struct an_type an_devs[] = {
 
 static int an_probe_pci                (device_t);
 static int an_attach_pci       (device_t);
-static int an_detach_pci       (device_t);
 static int an_suspend_pci      (device_t);
 static int an_resume_pci       (device_t);
 
@@ -238,21 +237,6 @@ fail:
        return(error);
 }
 
-static int
-an_detach_pci(device_t dev)
-{
-       struct an_softc         *sc = device_get_softc(dev);
-       struct ifnet            *ifp = &sc->arpcom.ac_if;
-
-       an_stop(sc);
-       ifmedia_removeall(&sc->an_ifmedia);
-       ether_ifdetach(ifp);
-       bus_teardown_intr(dev, sc->irq_res, sc->irq_handle);
-       an_release_resources(dev);
-
-       return (0);
-}
-
 static int
 an_suspend_pci(device_t dev)
 {
@@ -273,7 +257,7 @@ static device_method_t an_pci_methods[] = {
         /* Device interface */
         DEVMETHOD(device_probe,         an_probe_pci),
         DEVMETHOD(device_attach,        an_attach_pci),
-       DEVMETHOD(device_detach,        an_detach_pci),
+       DEVMETHOD(device_detach,        an_detach),
        DEVMETHOD(device_shutdown,      an_shutdown),
        DEVMETHOD(device_suspend,       an_suspend_pci),
        DEVMETHOD(device_resume,        an_resume_pci),
index f1d8509..596df08 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/an/if_anreg.h,v 1.1.2.8 2003/02/11 03:32:48 ambrisko Exp $
- * $DragonFly: src/sys/dev/netif/an/if_anreg.h,v 1.6 2005/06/06 16:16:13 joerg Exp $
+ * $DragonFly: src/sys/dev/netif/an/if_anreg.h,v 1.7 2005/07/27 21:56:32 joerg Exp $
  */
 
 #define AN_TIMEOUT     65536
@@ -497,6 +497,7 @@ int an_probe                (device_t);
 void   an_shutdown             (device_t);
 void   an_resume               (device_t);
 int    an_attach               (struct an_softc *, device_t, int);
+int    an_detach               (device_t);
 void    an_stop                        (struct an_softc *);
 
 driver_intr_t  an_intr;