summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>2003-04-16 06:27:39 +0000
committermdodd <mdodd@FreeBSD.org>2003-04-16 06:27:39 +0000
commit66621997776872f20aecc99946c2cd01e533ed52 (patch)
tree87cbc55f889a02e45f6da4d7f5025eac8cb1fc1c
parent13f420d95cacf8495f13fb8368df386403b25c5b (diff)
downloadFreeBSD-src-66621997776872f20aecc99946c2cd01e533ed52.zip
FreeBSD-src-66621997776872f20aecc99946c2cd01e533ed52.tar.gz
- Set if_unit, if_init, and ifq_maxlen.
- Remove unnecessary initializations; ether_ifattach() takes care of them. - Change function argument types to avoid nasty casts.
-rw-r--r--sys/i386/isa/if_le.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/sys/i386/isa/if_le.c b/sys/i386/isa/if_le.c
index 5d4c5a4..808e1be 100644
--- a/sys/i386/isa/if_le.c
+++ b/sys/i386/isa/if_le.c
@@ -195,7 +195,7 @@ static void (*le_intrvec[NLE])(le_softc_t *sc);
*/
struct le_softc {
struct arpcom le_ac; /* Common Ethernet/ARP Structure */
- void (*if_init)(le_softc_t *);/* Interface init routine */
+ void (*if_init)(void *);/* Interface init routine */
void (*if_reset)(le_softc_t *);/* Interface reset routine */
caddr_t le_membase; /* Starting memory address (virtual) */
unsigned le_iobase; /* Starting I/O base address */
@@ -345,17 +345,16 @@ le_attach(
dvp->id_ointr = le_intr;
ifp->if_softc = sc;
- ifp->if_mtu = ETHERMTU;
+ ifp->if_unit = dvp->id_unit;
+ ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+ ifp->if_ioctl = le_ioctl;
+ ifp->if_init = sc->if_init;
+ ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+
if_printf(ifp, "%s ethernet address %6D\n",
sc->le_prodname,
sc->le_ac.ac_enaddr, ":");
- ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
- ifp->if_ioctl = le_ioctl;
- ifp->if_type = IFT_ETHER;
- ifp->if_addrlen = 6;
- ifp->if_hdrlen = 14;
-
ether_ifattach(ifp, sc->le_ac.ac_enaddr);
return 1;
@@ -605,7 +604,7 @@ le_multi_op(
#define LEMAC_32K_MODE(mbase) (((mbase) >= 0x14) && ((mbase) <= 0x1F))
#define LEMAC_2K_MODE(mbase) ( (mbase) >= 0x40)
-static void lemac_init(le_softc_t *sc);
+static void lemac_init(void *);
static void lemac_start(struct ifnet *ifp);
static void lemac_reset(le_softc_t *sc);
static void lemac_intr(le_softc_t *sc);
@@ -769,11 +768,13 @@ lemac_reset(
}
static void
-lemac_init(
- le_softc_t *sc)
+lemac_init(void *xsc)
{
+ le_softc_t *sc;
int s;
+ sc = (le_softc_t *)xsc;
+
if ((sc->le_flags & IFF_UP) == 0)
return;
@@ -1127,7 +1128,7 @@ static int lance_init_adapmem(le_softc_t *sc);
static int lance_init_ring(le_softc_t *sc, ln_ring_t *rp, lance_ring_t *ri,
unsigned ndescs, unsigned bufoffset,
unsigned descoffset);
-static void lance_init(le_softc_t *sc);
+static void lance_init(void *);
static void lance_reset(le_softc_t *sc);
static void lance_intr(le_softc_t *sc);
static int lance_rx_intr(le_softc_t *sc);
@@ -1566,13 +1567,15 @@ lance_reset(
}
static void
-lance_init(
- le_softc_t *sc)
+lance_init(void *xsc)
{
+ le_softc_t *sc;
lance_ring_t *ri;
lance_descinfo_t *di;
ln_desc_t desc;
+ sc = (le_softc_t *)xsc;
+
LN_STAT(inits++);
if (sc->le_if.if_flags & IFF_RUNNING) {
sc->if_reset(sc);
OpenPOWER on IntegriCloud