summaryrefslogtreecommitdiffstats
path: root/sys/dev/cs
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/dev/cs
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/dev/cs')
-rw-r--r--sys/dev/cs/if_cs.c12
-rw-r--r--sys/dev/cs/if_cs_isa.c3
-rw-r--r--sys/dev/cs/if_cs_pccard.c3
-rw-r--r--sys/dev/cs/if_csvar.h2
4 files changed, 9 insertions, 11 deletions
diff --git a/sys/dev/cs/if_cs.c b/sys/dev/cs/if_cs.c
index f09bb3d..c67b328 100644
--- a/sys/dev/cs/if_cs.c
+++ b/sys/dev/cs/if_cs.c
@@ -575,16 +575,16 @@ void cs_release_resources(device_t dev)
* Install the interface into kernel networking data structures
*/
int
-cs_attach(struct cs_softc *sc, int unit, int flags)
+cs_attach(device_t dev)
{
int media=0;
+ struct cs_softc *sc = device_get_softc(dev);;
struct ifnet *ifp = &(sc->arpcom.ac_if);
cs_stop( sc );
ifp->if_softc=sc;
- ifp->if_unit=unit;
- ifp->if_name="cs";
+ if_initname(ifp, device_get_name(dev), device_get_unit(dev));
ifp->if_output=ether_output;
ifp->if_start=cs_start;
ifp->if_ioctl=cs_ioctl;
@@ -607,8 +607,8 @@ cs_attach(struct cs_softc *sc, int unit, int flags)
sc->recv_ring=malloc(CS_DMA_BUFFER_SIZE<<1, M_DEVBUF, M_NOWAIT);
if (sc->recv_ring == NULL) {
- log(LOG_ERR,CS_NAME
- "%d: Couldn't allocate memory for NIC\n", unit);
+ log(LOG_ERR,
+ "%s: Couldn't allocate memory for NIC\n", ifp->if_xname);
return(0);
}
if ((sc->recv_ring-(sc->recv_ring & 0x1FFFF))
@@ -1137,7 +1137,7 @@ cs_watchdog(struct ifnet *ifp)
struct cs_softc *sc = ifp->if_softc;
ifp->if_oerrors++;
- log(LOG_ERR, CS_NAME"%d: device timeout\n", ifp->if_unit);
+ log(LOG_ERR, "%s: device timeout\n", ifp->if_xname);
/* Reset the interface */
if (ifp->if_flags & IFF_UP)
diff --git a/sys/dev/cs/if_cs_isa.c b/sys/dev/cs/if_cs_isa.c
index 7b93f07..dcbd02f 100644
--- a/sys/dev/cs/if_cs_isa.c
+++ b/sys/dev/cs/if_cs_isa.c
@@ -90,7 +90,6 @@ static int
cs_isa_attach(device_t dev)
{
struct cs_softc *sc = device_get_softc(dev);
- int flags = device_get_flags(dev);
int error;
cs_alloc_port(dev, 0, CS_89x0_IO_PORTS);
@@ -106,7 +105,7 @@ cs_isa_attach(device_t dev)
return (error);
}
- return (cs_attach(sc, device_get_unit(dev), flags));
+ return (cs_attach(dev));
}
static device_method_t cs_isa_methods[] = {
diff --git a/sys/dev/cs/if_cs_pccard.c b/sys/dev/cs/if_cs_pccard.c
index 2b1f3e8..499cf8f 100644
--- a/sys/dev/cs/if_cs_pccard.c
+++ b/sys/dev/cs/if_cs_pccard.c
@@ -81,7 +81,6 @@ static int
cs_pccard_attach(device_t dev)
{
struct cs_softc *sc = device_get_softc(dev);
- int flags = device_get_flags(dev);
int error;
error = cs_alloc_port(dev, sc->port_rid, CS_89x0_IO_PORTS);
@@ -95,7 +94,7 @@ cs_pccard_attach(device_t dev)
if (error != 0)
goto bad;
- return (cs_attach(sc, device_get_unit(dev), flags));
+ return (cs_attach(dev));
bad:
cs_release_resources(dev);
return (error);
diff --git a/sys/dev/cs/if_csvar.h b/sys/dev/cs/if_csvar.h
index 719a8db..0f62c62 100644
--- a/sys/dev/cs/if_csvar.h
+++ b/sys/dev/cs/if_csvar.h
@@ -70,7 +70,7 @@ struct cs_softc {
int cs_alloc_port(device_t dev, int rid, int size);
int cs_alloc_memory(device_t dev, int rid, int size);
int cs_alloc_irq(device_t dev, int rid, int flags);
-int cs_attach(struct cs_softc *, int, int);
+int cs_attach(device_t dev);
int cs_cs89x0_probe(device_t dev);
void cs_release_resources(device_t dev);
driver_intr_t csintr;
OpenPOWER on IntegriCloud