diff options
Diffstat (limited to 'sys/dev/usb/if_aue.c')
-rw-r--r-- | sys/dev/usb/if_aue.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/sys/dev/usb/if_aue.c b/sys/dev/usb/if_aue.c index 0ce45d8..b584b6f 100644 --- a/sys/dev/usb/if_aue.c +++ b/sys/dev/usb/if_aue.c @@ -83,6 +83,9 @@ __FBSDID("$FreeBSD$"); #include <sys/bus.h> #include <machine/bus.h> +#if __FreeBSD_version < 500000 +#include <machine/clock.h> +#endif #include <dev/usb/usb.h> #include <dev/usb/usbdi.h> @@ -558,7 +561,12 @@ aue_setmulti(struct aue_softc *sc) aue_csr_write_1(sc, AUE_MAR0 + i, 0); /* now program new ones */ - TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { +#if __FreeBSD_version >= 500000 + TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) +#else + LIST_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) +#endif + { if (ifma->ifma_addr->sa_family != AF_LINK) continue; h = aue_crc(LLADDR((struct sockaddr_dl *)ifma->ifma_addr)); @@ -708,8 +716,10 @@ USB_ATTACH(aue) } } +#if __FreeBSD_version >= 500000 mtx_init(&sc->aue_mtx, device_get_nameunit(self), MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); +#endif AUE_LOCK(sc); /* Reset the adapter. */ @@ -758,7 +768,9 @@ USB_ATTACH(aue) aue_ifmedia_upd, aue_ifmedia_sts)) { printf("aue%d: MII without any PHY!\n", sc->aue_unit); AUE_UNLOCK(sc); +#if __FreeBSD_version >= 500000 mtx_destroy(&sc->aue_mtx); +#endif USB_ATTACH_ERROR_RETURN; } @@ -768,7 +780,11 @@ USB_ATTACH(aue) /* * Call MI attach routine. */ +#if __FreeBSD_version >= 500000 ether_ifattach(ifp, eaddr); +#else + ether_ifattach(ifp, ETHER_BPF_SUPPORTED); +#endif callout_handle_init(&sc->aue_stat_ch); usb_register_netisr(); sc->aue_dying = 0; @@ -789,7 +805,11 @@ aue_detach(device_ptr_t dev) sc->aue_dying = 1; untimeout(aue_tick, sc, sc->aue_stat_ch); +#if __FreeBSD_version >= 500000 ether_ifdetach(ifp); +#else + ether_ifdetach(ifp, ETHER_BPF_SUPPORTED); +#endif if (sc->aue_ep[AUE_ENDPT_TX] != NULL) usbd_abort_pipe(sc->aue_ep[AUE_ENDPT_TX]); @@ -801,7 +821,9 @@ aue_detach(device_ptr_t dev) #endif AUE_UNLOCK(sc); +#if __FreeBSD_version >= 500000 mtx_destroy(&sc->aue_mtx); +#endif return (0); } |