summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2003-10-31 18:32:15 +0000
committerbrooks <brooks@FreeBSD.org>2003-10-31 18:32:15 +0000
commitf1e94c6f29b079e4ad9d9305ef3e90a719bcbbda (patch)
tree4d9e6671d486576767506230a4240131526fea49 /sys/i386/isa
parentbe546fdee455a96afdefee10d0bdba8547399f5b (diff)
downloadFreeBSD-src-f1e94c6f29b079e4ad9d9305ef3e90a719bcbbda.zip
FreeBSD-src-f1e94c6f29b079e4ad9d9305ef3e90a719bcbbda.tar.gz
Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
Diffstat (limited to 'sys/i386/isa')
-rw-r--r--sys/i386/isa/cx.c9
-rw-r--r--sys/i386/isa/if_cx.c3
-rw-r--r--sys/i386/isa/if_el.c5
-rw-r--r--sys/i386/isa/if_le.c10
-rw-r--r--sys/i386/isa/if_rdp.c5
5 files changed, 14 insertions, 18 deletions
diff --git a/sys/i386/isa/cx.c b/sys/i386/isa/cx.c
index c0fc028..fd5b686 100644
--- a/sys/i386/isa/cx.c
+++ b/sys/i386/isa/cx.c
@@ -285,11 +285,11 @@ cxioctl (dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td)
master = *o->master ? ifunit (o->master) : c->ifp;
if (! master)
return (EINVAL);
- m = cxchan[master->if_unit];
+ m = cxchan[master->if_dunit];
/* Leave the previous master queue. */
if (c->master != c->ifp) {
- cx_chan_t *p = cxchan[c->master->if_unit];
+ cx_chan_t *p = cxchan[c->master->if_dunit];
for (; p; p=p->slaveq)
if (p->slaveq == c)
@@ -355,9 +355,8 @@ cxioctl (dev_t dev, u_long cmd, caddr_t data, int flag, struct thread *td)
case 8: o->iftype = c->board->if8type; break;
}
if (c->master != c->ifp)
- snprintf (o->master, sizeof(o->master),
- "%s%d", c->master->if_name,
- c->master->if_unit);
+ strlcpy(o->master, c->master->if_xname,
+ sizeof(o->master));
else
*o->master = 0;
break;
diff --git a/sys/i386/isa/if_cx.c b/sys/i386/isa/if_cx.c
index 192ab64..1fe8b2f 100644
--- a/sys/i386/isa/if_cx.c
+++ b/sys/i386/isa/if_cx.c
@@ -269,8 +269,7 @@ cxattach (struct isa_device *id)
bzero (c->ifp, IFSTRUCTSZ);
c->master = c->ifp;
c->ifp->if_softc = c;
- c->ifp->if_unit = u;
- c->ifp->if_name = "cx";
+ if_initname(c->ifp, "cx", u);
c->ifp->if_mtu = PP_MTU;
c->ifp->if_flags = IFF_POINTOPOINT | IFF_MULTICAST;
c->ifp->if_ioctl = cxsioctl;
diff --git a/sys/i386/isa/if_el.c b/sys/i386/isa/if_el.c
index de28c81..62dd35d 100644
--- a/sys/i386/isa/if_el.c
+++ b/sys/i386/isa/if_el.c
@@ -264,8 +264,7 @@ el_attach(device_t dev)
/* Initialize ifnet structure */
ifp->if_softc = sc;
- ifp->if_unit = device_get_unit(dev);;
- ifp->if_name = "el";
+ if_initname(ifp, device_get_name(dev), device_get_unit(dev));
ifp->if_mtu = ETHERMTU;
ifp->if_start = el_start;
ifp->if_ioctl = el_ioctl;
@@ -765,7 +764,7 @@ el_ioctl(ifp, command, data)
static void
el_watchdog(struct ifnet *ifp)
{
- log(LOG_ERR,"el%d: device timeout\n", ifp->if_unit);
+ log(LOG_ERR,"%s: device timeout\n", ifp->if_xname);
ifp->if_oerrors++;
el_reset(ifp->if_softc);
}
diff --git a/sys/i386/isa/if_le.c b/sys/i386/isa/if_le.c
index e55fe96..165ecac 100644
--- a/sys/i386/isa/if_le.c
+++ b/sys/i386/isa/if_le.c
@@ -196,6 +196,7 @@ static void (*le_intrvec[NLE])(le_softc_t *sc);
*/
struct le_softc {
struct arpcom le_ac; /* Common Ethernet/ARP Structure */
+ int le_unit; /* Unit number */
void (*if_init)(void *);/* Interface init routine */
void (*if_reset)(le_softc_t *);/* Interface reset routine */
caddr_t le_membase; /* Starting memory address (virtual) */
@@ -319,8 +320,7 @@ le_probe(
sc->le_iobase = dvp->id_iobase;
sc->le_membase = (u_char *) dvp->id_maddr;
sc->le_irq = dvp->id_irq;
- sc->le_if.if_name = (char *)(uintptr_t)(const void *)ledriver.name;
- sc->le_if.if_unit = dvp->id_unit;
+ sc->le_unit = dvp->id_unit;
/*
* Find and Initialize board..
@@ -346,7 +346,7 @@ le_attach(
dvp->id_ointr = le_intr;
ifp->if_softc = sc;
- ifp->if_unit = dvp->id_unit;
+ if_initname(ifp, ledriver.name, dvp->id_unit);
ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
ifp->if_ioctl = le_ioctl;
ifp->if_init = sc->if_init;
@@ -704,7 +704,7 @@ lemac_probe(
sc->le_mcmask = (1 << LEMAC_MCTBL_BITS) - 1;
sc->lemac_txmax = lemac_deftxmax;
*msize = 2048;
- le_intrvec[sc->le_if.if_unit] = lemac_intr;
+ le_intrvec[sc->le_unit] = lemac_intr;
return LEMAC_IOSPACE;
}
@@ -1346,7 +1346,7 @@ depca_probe(
*/
DEPCA_WRNICSR(sc, DEPCA_RDNICSR(sc) | DEPCA_NICSR_SHE);
- le_intrvec[sc->le_if.if_unit] = depca_intr;
+ le_intrvec[sc->le_unit] = depca_intr;
if (!lance_init_adapmem(sc))
return 0;
diff --git a/sys/i386/isa/if_rdp.c b/sys/i386/isa/if_rdp.c
index e9ba78a..23fb4c0 100644
--- a/sys/i386/isa/if_rdp.c
+++ b/sys/i386/isa/if_rdp.c
@@ -595,8 +595,7 @@ rdp_attach(struct isa_device *isa_dev)
* Initialize ifnet structure
*/
ifp->if_softc = sc;
- ifp->if_unit = unit;
- ifp->if_name = "rdp";
+ if_initname(ifp, "rdp", unit);
ifp->if_start = rdp_start;
ifp->if_ioctl = rdp_ioctl;
ifp->if_watchdog = rdp_watchdog;
@@ -668,7 +667,7 @@ static void
rdp_watchdog(struct ifnet *ifp)
{
- log(LOG_ERR, "rdp%d: device timeout\n", ifp->if_unit);
+ log(LOG_ERR, "%s: device timeout\n", ifp->if_xname);
ifp->if_oerrors++;
rdp_reset(ifp);
OpenPOWER on IntegriCloud