Date: Tue, 3 Jan 2006 22:37:36 GMT From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 89111 for review Message-ID: <200601032237.k03MbaYJ033503@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=89111 Change 89111 by imp@imp_Speedy on 2006/01/03 22:37:30 compile Affected files ... .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#2 (text+ko) ==== @@ -29,8 +29,11 @@ #include <sys/systm.h> #include <sys/bus.h> #include <sys/kernel.h> +#include <sys/mbuf.h> #include <sys/malloc.h> #include <sys/module.h> +#include <sys/socket.h> +#include <sys/sockio.h> #include <net/ethernet.h> #include <net/if.h> @@ -53,6 +56,15 @@ { struct ifnet *ifp; struct mtx sc_mtx; + device_t dev; + void *intrhand; + struct resource *irq_res; + int irq_rid; + struct resource *port_res; + int port_rid; + + // XXX bogus + int intr; }; #define ATE_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) @@ -82,6 +94,7 @@ static int ate_probe(device_t dev); static int ate_attach(device_t dev); static int ate_detach(device_t dev); +static void ate_intr(void *); /* helper routines */ static int ate_activate(device_t dev); @@ -104,9 +117,11 @@ ate_attach(device_t dev) { struct ate_softc *sc = device_get_softc(dev); - struct ifnet *ifp; + struct ifnet *ifp = NULL; int err; + u_char eaddr[6]; + sc->dev = dev; err = ate_activate(dev); if (err) goto out; @@ -114,7 +129,7 @@ /* calling atestop before ifp is set is OK */ atestop(sc); ATE_LOCK_INIT(sc); - ifp = sc->ifp = if_alloc(IFT_ETHER); + sc->ifp = ifp = if_alloc(IFT_ETHER); ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_mtu = ETHERMTU; @@ -134,14 +149,14 @@ /* * Activate the interrupt */ - err = bus_seutp_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE, + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE, ate_intr, sc, &sc->intrhand); if (err) - ether_detach(ifp); + ether_ifdetach(ifp); ATE_LOCK_DESTROY(sc); out:; if (err) - ate_deactive(dev); + ate_deactivate(dev); if (err && ifp) if_free(ifp); return (err); @@ -150,6 +165,7 @@ static int ate_detach(device_t dev) { + return EBUSY; /* XXX */ } static int @@ -164,29 +180,38 @@ return EINVAL; /* XXX */ } +static void +ate_intr(void *xsc) +{ + struct ate_softc *sc = xsc; + + sc->intr++; +} + /* * Reset and initialize the chip */ static void -ateinit_locked(void *) +ateinit_locked(void *xsc) { - struct sn_softc *sc = xsc; - struct ifnet *ifp = sc->ifp; + struct ate_softc *sc = xsc; +// struct ifnet *ifp = sc->ifp; ATE_ASSERT_LOCKED(sc); /* Insert code here */ + sc->intr++; } /* * dequeu packets and transmit */ static void -atestart_locked(struct ifnet *) +atestart_locked(struct ifnet *ifp) { - struct sn_softc *sc = ifp->if_softc; + struct ate_softc *sc = ifp->if_softc; - SN_ASSERT_LOCKED(sc); + ATE_ASSERT_LOCKED(sc); if (sc->ifp->if_drv_flags & IFF_DRV_OACTIVE) return; /* XXX deque packets and transmit */ @@ -215,18 +240,18 @@ * so be careful. */ static void -atestop(struct ate_softc *) +atestop(struct ate_softc *sc) { } static void -atewatchdog(struct ifnet *) +atewatchdog(struct ifnet *ifp) { /* timeout, not sure what to do */ } static int -ateioctl(struct ifnet * ifp, u_long, caddr_t) +ateioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { struct ate_softc *sc = ifp->if_softc; int error = 0;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601032237.k03MbaYJ033503>