Module Name: src
Committed By: tsutsui
Date: Tue Sep 22 14:55:20 UTC 2009
Modified Files:
src/sys/arch/acorn32/eb7500atx: if_cs.c
src/sys/arch/evbarm/smdk2xx0: if_cs_smdk24x0.c
src/sys/arch/evbppc/pmppc/dev: if_cs_mainbus.c
src/sys/dev/ic: cs89x0.c cs89x0var.h
src/sys/dev/isa: if_cs_isa.c if_tscs_isa.c
src/sys/dev/isapnp: if_cs_isapnp.c
src/sys/dev/ofisa: if_cs_ofisa.c
Log Message:
Split device_t/softc. Tested only on cs at ofisa on shark.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/acorn32/eb7500atx/if_cs.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/evbarm/smdk2xx0/if_cs_smdk24x0.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbppc/pmppc/dev/if_cs_mainbus.c
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/ic/cs89x0.c
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/ic/cs89x0var.h
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/isa/if_cs_isa.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/isa/if_tscs_isa.c
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/isapnp/if_cs_isapnp.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/ofisa/if_cs_ofisa.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/acorn32/eb7500atx/if_cs.c
diff -u src/sys/arch/acorn32/eb7500atx/if_cs.c:1.5 src/sys/arch/acorn32/eb7500atx/if_cs.c:1.6
--- src/sys/arch/acorn32/eb7500atx/if_cs.c:1.5 Tue May 12 06:57:51 2009
+++ src/sys/arch/acorn32/eb7500atx/if_cs.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_cs.c,v 1.5 2009/05/12 06:57:51 cegger Exp $ */
+/* $NetBSD: if_cs.c,v 1.6 2009/09/22 14:55:19 tsutsui Exp $ */
/*
* Copyright (c) 2004 Christopher Gilbert
@@ -58,7 +58,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cs.c,v 1.5 2009/05/12 06:57:51 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cs.c,v 1.6 2009/09/22 14:55:19 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -116,12 +116,12 @@
*/
static struct bus_space cs_rsbus_bs_tag;
-int cs_rsbus_probe(struct device *, struct cfdata *, void *);
-void cs_rsbus_attach(struct device *, struct device *, void *);
+int cs_rsbus_probe(device_t, cfdata_t, void *);
+void cs_rsbus_attach(device_t, device_t, void *);
static u_int8_t cs_rbus_read_1(struct cs_softc *, bus_size_t);
-CFATTACH_DECL(cs_rsbus, sizeof(struct cs_softc),
+CFATTACH_DECL_NEW(cs_rsbus, sizeof(struct cs_softc),
cs_rsbus_probe, cs_rsbus_attach, NULL, NULL);
/* Available media */
@@ -131,19 +131,21 @@
};
int
-cs_rsbus_probe(struct device *parent, struct cfdata *cf, void *aux)
+cs_rsbus_probe(device_t parent, cfdata_t cf, void *aux)
{
/* for now it'll always attach */
return 1;
}
void
-cs_rsbus_attach(struct device *parent, struct device *self, void *aux)
+cs_rsbus_attach(device_t parent, device_t self, void *aux)
{
- struct cs_softc *sc = (struct cs_softc *)self;
- struct rsbus_attach_args *rs = (void *)aux;
+ struct cs_softc *sc = device_private(self);
+ struct rsbus_attach_args *rs = aux;
u_int iobase;
+ sc->sc_dev = self;
+
/* member copy */
cs_rsbus_bs_tag = *rs->sa_iot;
@@ -152,13 +154,12 @@
sc->sc_iot = sc->sc_memt = &cs_rsbus_bs_tag;
- /*
- * Do DMA later
+#if 0 /* Do DMA later */
if (ia->ia_ndrq > 0)
isc->sc_drq = ia->ia_drq[0].ir_drq;
else
isc->sc_drq = -1;
- */
+#endif
/* device always interrupts on 3 but that routes to IRQ 5 */
sc->sc_irq = 3;
@@ -171,15 +172,14 @@
iobase = 0x03010600;
if (bus_space_map(sc->sc_iot, iobase, CS8900_IOSIZE * 4,
0, &sc->sc_ioh)) {
- printf("%s: unable to map i/o space\n", device_xname(&sc->sc_dev));
+ printf("%s: unable to map i/o space\n", device_xname(self));
return;
}
#if 0
if (bus_space_map(sc->sc_memt, iobase + 0x3A00,
CS8900_MEMSIZE * 4, 0, &sc->sc_memh)) {
- printf("%s: unable to map memory space\n",
- device_xname(&sc->sc_dev));
+ printf("%s: unable to map memory space\n", device_xname(self));
} else {
sc->sc_cfgflags |= CFGFLG_MEM_MODE | CFGFLG_USE_SA;
sc->sc_pktpgaddr = 1<<23;
@@ -189,7 +189,7 @@
sc->sc_ih = intr_claim(IRQ_INT5, IPL_NET, "cs", cs_intr, sc);
if (sc->sc_ih == NULL) {
printf("%s: unable to establish interrupt\n",
- device_xname(&sc->sc_dev));
+ device_xname(sc->sc_dev));
return;
}
Index: src/sys/arch/evbarm/smdk2xx0/if_cs_smdk24x0.c
diff -u src/sys/arch/evbarm/smdk2xx0/if_cs_smdk24x0.c:1.2 src/sys/arch/evbarm/smdk2xx0/if_cs_smdk24x0.c:1.3
--- src/sys/arch/evbarm/smdk2xx0/if_cs_smdk24x0.c:1.2 Sun Dec 11 12:17:09 2005
+++ src/sys/arch/evbarm/smdk2xx0/if_cs_smdk24x0.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_cs_smdk24x0.c,v 1.2 2005/12/11 12:17:09 christos Exp $ */
+/* $NetBSD: if_cs_smdk24x0.c,v 1.3 2009/09/22 14:55:19 tsutsui Exp $ */
/*
* Copyright (c) 2003 Genetec corporation. All rights reserved.
@@ -72,7 +72,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cs_smdk24x0.c,v 1.2 2005/12/11 12:17:09 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cs_smdk24x0.c,v 1.3 2009/09/22 14:55:19 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -100,8 +100,8 @@
#include "locators.h"
#include "opt_smdk2xx0.h" /* SMDK24X0_ETHER_ADDR_FIXED */
-int cs_ssextio_probe(struct device *, struct cfdata *, void *);
-void cs_ssextio_attach(struct device *, struct device *, void *);
+int cs_ssextio_probe(device_t, cfdata_t, void *);
+void cs_ssextio_attach(device_t, device_t, void *);
/*
* I/O access is done when A24==1.
@@ -109,11 +109,11 @@
*/
#define IOADDR(base) (base + (1<<24) + 0x0300)
-CFATTACH_DECL(cs_ssextio, sizeof(struct cs_softc),
+CFATTACH_DECL_NEW(cs_ssextio, sizeof(struct cs_softc),
cs_ssextio_probe, cs_ssextio_attach, NULL, NULL);
int
-cs_ssextio_probe(struct device *parent, struct cfdata *cf, void *aux)
+cs_ssextio_probe(device_t parent, cfdata_t cf, void *aux)
{
struct s3c2xx0_attach_args *sa = aux;
bus_space_tag_t iot = sa->sa_iot;
@@ -182,9 +182,9 @@
};
void
-cs_ssextio_attach(struct device *parent, struct device *self, void *aux)
+cs_ssextio_attach(device_t parent, device_t self, void *aux)
{
- struct cs_softc *sc = (struct cs_softc *) self;
+ struct cs_softc *sc = device_private(self);
struct s3c2xx0_attach_args *sa = aux;
vaddr_t ioaddr;
#ifdef SMDK24X0_ETHER_ADDR_FIXED
@@ -193,6 +193,7 @@
#define enaddr NULL
#endif
+ sc->sc_dev = self;
sc->sc_iot = sc->sc_memt = sa->sa_iot;
/* sc_irq is an IRQ number in ISA world. set 10 for INTRQ0 of CS8900A */
sc->sc_irq = 10;
Index: src/sys/arch/evbppc/pmppc/dev/if_cs_mainbus.c
diff -u src/sys/arch/evbppc/pmppc/dev/if_cs_mainbus.c:1.3 src/sys/arch/evbppc/pmppc/dev/if_cs_mainbus.c:1.4
--- src/sys/arch/evbppc/pmppc/dev/if_cs_mainbus.c:1.3 Mon Apr 28 20:23:17 2008
+++ src/sys/arch/evbppc/pmppc/dev/if_cs_mainbus.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_cs_mainbus.c,v 1.3 2008/04/28 20:23:17 martin Exp $ */
+/* $NetBSD: if_cs_mainbus.c,v 1.4 2009/09/22 14:55:19 tsutsui Exp $ */
/*
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cs_mainbus.c,v 1.3 2008/04/28 20:23:17 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cs_mainbus.c,v 1.4 2009/09/22 14:55:19 tsutsui Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -68,11 +68,11 @@
static int cs_mainbus_match(struct device *, struct cfdata *, void *);
static void cs_mainbus_attach(struct device *, struct device *, void *);
-CFATTACH_DECL(cs_mainbus, sizeof(struct cs_softc),
+CFATTACH_DECL_NEW(cs_mainbus, sizeof(struct cs_softc),
cs_mainbus_match, cs_mainbus_attach, NULL, NULL);
int
-cs_mainbus_match(struct device *parent, struct cfdata *cf, void *aux)
+cs_mainbus_match(device_t parent, cfdata_t cf, void *aux)
{
struct mainbus_attach_args *maa = aux;
@@ -238,21 +238,22 @@
}
void
-cs_mainbus_attach(struct device *parent, struct device *self, void *aux)
+cs_mainbus_attach(device_t parent, device_t self, void *aux)
{
- struct cs_softc *sc = (struct cs_softc *)self;
+ struct cs_softc *sc = device_private(self);
struct mainbus_attach_args *maa = aux;
int media[1] = { IFM_ETHER | IFM_10_T };
printf("\n");
+ sc->sc_dev = self;
sc->sc_iot = maa->mb_bt;
sc->sc_memt = maa->mb_bt;
sc->sc_irq = maa->mb_irq;
if (bus_space_map(sc->sc_iot, PMPPC_CS_IO, CS8900_IOSIZE*4,
0, &sc->sc_ioh)) {
- printf("%s: failed to map io\n", self->dv_xname);
+ printf("%s: failed to map io\n", device_xname(self));
return;
}
@@ -261,7 +262,7 @@
sc->sc_ih = intr_establish(sc->sc_irq, IST_LEVEL, IPL_NET, cs_intr, sc);
if (!sc->sc_ih) {
printf("%s: unable to establish interrupt\n",
- self->dv_xname);
+ device_xname(self));
goto fail;
}
@@ -285,7 +286,7 @@
/* Use half duplex 10baseT. */
if (cs_attach(sc, NULL, media, 1, IFM_ETHER | IFM_10_T)) {
- printf("%s: unable to attach\n", self->dv_xname);
+ printf("%s: unable to attach\n", device_xname(self));
goto fail;
}
@@ -348,7 +349,8 @@
/* Check to make sure EEPROM is ready. */
if (!cs_wait_eeprom_ready(sc)) {
- printf("%s: write EEPROM not ready\n", sc->sc_dev.dv_xname);
+ printf("%s: write EEPROM not ready\n",
+ device_xname(sc->sc_dev));
return;
}
@@ -357,7 +359,8 @@
/* Wait for WRITE_ENABLE command to complete. */
if (!cs_wait_eeprom_ready(sc)) {
- printf("%s: EEPROM WRITE_ENABLE timeout", sc->sc_dev.dv_xname);
+ printf("%s: EEPROM WRITE_ENABLE timeout",
+ device_xname(sc->sc_dev));
} else {
/* Write data into EEPROM_DATA register. */
cs_writereg(sc, PKTPG_EEPROM_DATA, data);
@@ -367,7 +370,7 @@
/* Wait for WRITE_REGISTER command to complete. */
if (!cs_wait_eeprom_ready(sc)) {
printf("%s: EEPROM WRITE_REGISTER timeout\n",
- sc->sc_dev.dv_xname);
+ device_xname(sc->sc_dev));
}
}
@@ -376,7 +379,7 @@
/* Wait for WRITE_DISABLE command to complete. */
if (!cs_wait_eeprom_ready(sc)) {
- printf("%s: WRITE_DISABLE timeout\n", sc->sc_dev.dv_xname);
+ printf("%s: WRITE_DISABLE timeout\n", device_xname(sc->sc_dev));
}
}
@@ -385,13 +388,13 @@
{
if (!cs_wait_eeprom_ready(sc)) {
- printf("%s: read EEPROM not ready\n", sc->sc_dev.dv_xname);
+ printf("%s: read EEPROM not ready\n", device_xname(sc->sc_dev));
return 0;
}
cs_writereg(sc, PKTPG_EEPROM_CMD, EEPROM_CMD_READ | offset);
if (!cs_wait_eeprom_ready(sc)) {
- printf("%s: EEPROM_READ timeout\n", sc->sc_dev.dv_xname);
+ printf("%s: EEPROM_READ timeout\n", device_xname(sc->sc_dev));
return 0;
}
return cs_readreg(sc, PKTPG_EEPROM_DATA);
@@ -410,10 +413,10 @@
*/
if (cs_readreg(sc, PKTPG_SELF_ST) & SELF_ST_EEP_OK) {
printf("%s: EEPROM OK, skipping initialization\n",
- sc->sc_dev.dv_xname);
+ device_xname(sc->sc_dev));
return;
}
- printf("%s: updating EEPROM\n", sc->sc_dev.dv_xname);
+ printf("%s: updating EEPROM\n", device_xname(sc->sc_dev));
/*
* Calculate the size (in bytes) of the default config array and write
Index: src/sys/dev/ic/cs89x0.c
diff -u src/sys/dev/ic/cs89x0.c:1.25 src/sys/dev/ic/cs89x0.c:1.26
--- src/sys/dev/ic/cs89x0.c:1.25 Tue Sep 22 13:31:26 2009
+++ src/sys/dev/ic/cs89x0.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: cs89x0.c,v 1.25 2009/09/22 13:31:26 tsutsui Exp $ */
+/* $NetBSD: cs89x0.c,v 1.26 2009/09/22 14:55:19 tsutsui Exp $ */
/*
* Copyright (c) 2004 Christopher Gilbert
@@ -212,7 +212,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cs89x0.c,v 1.25 2009/09/22 13:31:26 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cs89x0.c,v 1.26 2009/09/22 14:55:19 tsutsui Exp $");
#include "opt_inet.h"
@@ -354,7 +354,7 @@
}
}
if (i == 10000) {
- aprint_error_dev(&sc->sc_dev, "wrong id(0x%x)\n", reg);
+ aprint_error_dev(sc->sc_dev, "wrong id(0x%x)\n", reg);
return 1; /* XXX should panic? */
}
@@ -389,7 +389,7 @@
if (MCLBYTES < ETHER_MAX_LEN + 1 +
ALIGN(sizeof(struct ether_header)) - sizeof(struct ether_header)) {
printf("%s: MCLBYTES too small for Ethernet frame\n",
- device_xname(&sc->sc_dev));
+ device_xname(sc->sc_dev));
return 1;
}
@@ -401,7 +401,7 @@
sc->sc_xe_togo = cs_xmit_early_table[sc->sc_xe_ent].better_count;
/* Initialize ifnet structure. */
- strlcpy(ifp->if_xname, device_xname(&sc->sc_dev), IFNAMSIZ);
+ strlcpy(ifp->if_xname, device_xname(sc->sc_dev), IFNAMSIZ);
ifp->if_softc = sc;
ifp->if_start = cs_start_output;
ifp->if_init = cs_init;
@@ -429,7 +429,7 @@
if (sc->sc_cfgflags & CFGFLG_PARSE_EEPROM) {
if (cs_scan_eeprom(sc) == CS_ERROR) {
/* failed to scan the eeprom, pretend there isn't an eeprom */
- aprint_error_dev(&sc->sc_dev, "unable to scan EEPROM\n");
+ aprint_error_dev(sc->sc_dev, "unable to scan EEPROM\n");
sc->sc_cfgflags |= CFGFLG_NOT_EEPROM;
}
}
@@ -437,7 +437,8 @@
if ((sc->sc_cfgflags & CFGFLG_NOT_EEPROM) == 0) {
/* Get parameters from the EEPROM */
if (cs_get_params(sc) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "unable to get settings from EEPROM\n");
+ aprint_error_dev(sc->sc_dev,
+ "unable to get settings from EEPROM\n");
return 1;
}
}
@@ -447,7 +448,8 @@
else if ((sc->sc_cfgflags & CFGFLG_NOT_EEPROM) == 0) {
/* Get and store the Ethernet address */
if (cs_get_enaddr(sc) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "unable to read Ethernet address\n");
+ aprint_error_dev(sc->sc_dev,
+ "unable to read Ethernet address\n");
return 1;
}
} else {
@@ -461,7 +463,7 @@
sc->sc_enaddr[j + 1] = v >> 8;
}
#else
- printf("%s: no Ethernet address!\n", device_xname(&sc->sc_dev));
+ printf("%s: no Ethernet address!\n", device_xname(sc->sc_dev));
return 1;
#endif
}
@@ -482,7 +484,8 @@
default:
panic("cs_attach: impossible");
}
- printf("%s: %s rev. %c, address %s, media %s\n", device_xname(&sc->sc_dev),
+ printf("%s: %s rev. %c, address %s, media %s\n",
+ device_xname(sc->sc_dev),
chipname, sc->sc_prodrev + 'A', ether_sprintf(sc->sc_enaddr),
medname);
@@ -494,20 +497,20 @@
ether_ifattach(ifp, sc->sc_enaddr);
#if NRND > 0
- rnd_attach_source(&sc->rnd_source, device_xname(&sc->sc_dev),
+ rnd_attach_source(&sc->rnd_source, device_xname(sc->sc_dev),
RND_TYPE_NET, 0);
#endif
sc->sc_cfgflags |= CFGFLG_ATTACHED;
- if (pmf_device_register1(&sc->sc_dev, NULL, NULL, cs_shutdown))
- pmf_class_network_register(&sc->sc_dev, ifp);
+ if (pmf_device_register1(sc->sc_dev, NULL, NULL, cs_shutdown))
+ pmf_class_network_register(sc->sc_dev, ifp);
else
- aprint_error_dev(&sc->sc_dev,
+ aprint_error_dev(sc->sc_dev,
"couldn't establish power handler\n");
/* Reset the chip */
if (cs_reset_chip(sc) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "reset failed\n");
+ aprint_error_dev(sc->sc_dev, "reset failed\n");
cs_detach(sc);
return 1;
}
@@ -541,7 +544,7 @@
}
#endif
- pmf_device_deregister(&sc->sc_dev);
+ pmf_device_deregister(sc->sc_dev);
return 0;
}
@@ -563,17 +566,20 @@
u_int16_t adp_cfg, xmit_ctl;
if (cs_verify_eeprom(sc) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "cs_get_default_media: EEPROM missing or bad\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_get_default_media: EEPROM missing or bad\n");
goto fakeit;
}
if (cs_read_eeprom(sc, EEPROM_ADPTR_CFG, &adp_cfg) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "unable to read adapter config from EEPROM\n");
+ aprint_error_dev(sc->sc_dev,
+ "unable to read adapter config from EEPROM\n");
goto fakeit;
}
if (cs_read_eeprom(sc, EEPROM_XMIT_CTL, &xmit_ctl) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "unable to read transmit control from EEPROM\n");
+ aprint_error_dev(sc->sc_dev,
+ "unable to read transmit control from EEPROM\n");
goto fakeit;
}
@@ -595,7 +601,8 @@
return;
fakeit:
- aprint_error_dev(&sc->sc_dev, "WARNING: default media setting may be inaccurate\n");
+ aprint_error_dev(sc->sc_dev,
+ "WARNING: default media setting may be inaccurate\n");
/* XXX Arbitrary... */
ifmedia_set(&sc->sc_media, IFM_ETHER|IFM_10_T);
}
@@ -618,7 +625,8 @@
u_int8_t checksum = 0;
if (cs_verify_eeprom(sc) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "cs_scan_params: EEPROM missing or bad\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_scan_params: EEPROM missing or bad\n");
return (CS_ERROR);
}
@@ -661,7 +669,7 @@
* sum to that point.
*/
if (checksum != 0) {
- aprint_error_dev(&sc->sc_dev, "eeprom checksum failure\n");
+ aprint_error_dev(sc->sc_dev, "eeprom checksum failure\n");
return (CS_ERROR);
}
@@ -741,7 +749,8 @@
u_int16_t adapterConfig;
if (cs_verify_eeprom(sc) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "cs_get_params: EEPROM missing or bad\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_get_params: EEPROM missing or bad\n");
return (CS_ERROR);
}
@@ -795,7 +804,8 @@
return (CS_OK);
eeprom_bad:
- aprint_error_dev(&sc->sc_dev, "cs_get_params: unable to read from EEPROM\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_get_params: unable to read from EEPROM\n");
return (CS_ERROR);
}
@@ -805,7 +815,8 @@
u_int16_t *myea;
if (cs_verify_eeprom(sc) == CS_ERROR) {
- aprint_error_dev(&sc->sc_dev, "cs_get_enaddr: EEPROM missing or bad\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_get_enaddr: EEPROM missing or bad\n");
return (CS_ERROR);
}
@@ -835,7 +846,8 @@
return (CS_OK);
eeprom_bad:
- aprint_error_dev(&sc->sc_dev, "cs_get_enaddr: unable to read from EEPROM\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_get_enaddr: unable to read from EEPROM\n");
return (CS_ERROR);
}
@@ -1101,7 +1113,8 @@
* chip in memory mode.
*/
if (isaId != EISA_NUM_CRYSTAL) {
- aprint_error_dev(&sc->sc_dev, "failed to enable memory mode\n");
+ aprint_error_dev(sc->sc_dev,
+ "failed to enable memory mode\n");
sc->sc_memorymode = FALSE;
} else {
/*
@@ -1188,7 +1201,7 @@
/* Assume we have carrier until we are told otherwise. */
sc->sc_carrier = 1;
} else {
- aprint_error_dev(&sc->sc_dev, "unable to reset chip\n");
+ aprint_error_dev(sc->sc_dev, "unable to reset chip\n");
}
splx(intState);
@@ -1310,7 +1323,7 @@
cs_ioctl(struct ifnet *ifp, u_long cmd, void *data)
{
struct cs_softc *sc = ifp->if_softc;
- struct ifreq *ifr = (struct ifreq *) data;
+ struct ifreq *ifr = data;
int state;
int result;
@@ -1387,7 +1400,7 @@
/* Ignore any interrupts that happen while the chip is being reset */
if (sc->sc_resetting) {
printf("%s: cs_intr: reset in progress\n",
- device_xname(&sc->sc_dev));
+ device_xname(sc->sc_dev));
return 1;
}
@@ -1423,7 +1436,7 @@
break;
default:
printf("%s: unknown interrupt event 0x%x\n",
- device_xname(&sc->sc_dev), Event);
+ device_xname(sc->sc_dev), Event);
break;
}
@@ -1503,7 +1516,7 @@
(*sc->sc_dma_process_rx)(sc);
else
/* should panic? */
- aprint_error_dev(&sc->sc_dev, "unexpected DMA event\n");
+ aprint_error_dev(sc->sc_dev, "unexpected DMA event\n");
}
if (bufEvent & BUF_EVENT_TX_UNDR) {
@@ -1513,7 +1526,7 @@
* about.
*/
printf("%s: transmit underrun (%d -> %d)\n",
- device_xname(&sc->sc_dev), sc->sc_xe_ent,
+ device_xname(sc->sc_dev), sc->sc_xe_ent,
cs_xmit_early_table[sc->sc_xe_ent].worse);
#endif
sc->sc_xe_ent = cs_xmit_early_table[sc->sc_xe_ent].worse;
@@ -1526,7 +1539,7 @@
if (bufEvent & BUF_EVENT_SW_INT) {
printf("%s: software initiated interrupt\n",
- device_xname(&sc->sc_dev));
+ device_xname(sc->sc_dev));
}
}
@@ -1548,19 +1561,20 @@
/* If debugging is enabled then log error messages */
if (ifp->if_flags & IFF_DEBUG) {
if (txEvent & TX_EVENT_LOSS_CRS) {
- aprint_error_dev(&sc->sc_dev, "lost carrier\n");
+ aprint_error_dev(sc->sc_dev, "lost carrier\n");
}
if (txEvent & TX_EVENT_SQE_ERR) {
- aprint_error_dev(&sc->sc_dev, "SQE error\n");
+ aprint_error_dev(sc->sc_dev, "SQE error\n");
}
if (txEvent & TX_EVENT_OUT_WIN) {
- aprint_error_dev(&sc->sc_dev, "out-of-window collision\n");
+ aprint_error_dev(sc->sc_dev,
+ "out-of-window collision\n");
}
if (txEvent & TX_EVENT_JABBER) {
- aprint_error_dev(&sc->sc_dev, "jabber\n");
+ aprint_error_dev(sc->sc_dev, "jabber\n");
}
if (txEvent & TX_EVENT_16_COLL) {
- aprint_error_dev(&sc->sc_dev, "16 collisions\n");
+ aprint_error_dev(sc->sc_dev, "16 collisions\n");
}
}
}
@@ -1596,19 +1610,19 @@
{
if (rxEvent & RX_EVENT_RUNT)
- aprint_error_dev(&sc->sc_dev, "runt\n");
+ aprint_error_dev(sc->sc_dev, "runt\n");
if (rxEvent & RX_EVENT_X_DATA)
- aprint_error_dev(&sc->sc_dev, "extra data\n");
+ aprint_error_dev(sc->sc_dev, "extra data\n");
if (rxEvent & RX_EVENT_CRC_ERR) {
if (rxEvent & RX_EVENT_DRIBBLE)
- aprint_error_dev(&sc->sc_dev, "alignment error\n");
+ aprint_error_dev(sc->sc_dev, "alignment error\n");
else
- aprint_error_dev(&sc->sc_dev, "CRC error\n");
+ aprint_error_dev(sc->sc_dev, "CRC error\n");
} else {
if (rxEvent & RX_EVENT_DRIBBLE)
- aprint_error_dev(&sc->sc_dev, "dribble bits\n");
+ aprint_error_dev(sc->sc_dev, "dribble bits\n");
}
}
@@ -1640,7 +1654,7 @@
CS_READ_PACKET_PAGE(sc, PKTPG_RX_CFG) |
RX_CFG_SKIP);
} else {
- aprint_error_dev(&sc->sc_dev, "implied skip\n");
+ aprint_error_dev(sc->sc_dev, "implied skip\n");
}
}
} else {
@@ -1708,7 +1722,7 @@
}
if (totlen > ETHER_MAX_LEN) {
- aprint_error_dev(&sc->sc_dev, "invalid packet length %d\n",
+ aprint_error_dev(sc->sc_dev, "invalid packet length %d\n",
totlen);
/* skip the received frame */
@@ -1719,7 +1733,8 @@
MGETHDR(m, M_DONTWAIT, MT_DATA);
if (m == 0) {
- aprint_error_dev(&sc->sc_dev, "cs_process_receive: unable to allocate mbuf\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_process_receive: unable to allocate mbuf\n");
ifp->if_ierrors++;
/*
* couldn't allocate an mbuf so things are not good, may as
@@ -1747,7 +1762,9 @@
MCLGET(m, M_DONTWAIT);
if ((m->m_flags & M_EXT) == 0) {
/* couldn't allocate an mbuf cluster */
- aprint_error_dev(&sc->sc_dev, "cs_process_receive: unable to allocate a cluster\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_process_receive: "
+ "unable to allocate a cluster\n");
m_freem(m);
/* skip the received frame */
@@ -1798,7 +1815,8 @@
MGETHDR(m, M_DONTWAIT, MT_DATA);
if (m == 0) {
- aprint_error_dev(&sc->sc_dev, "cs_process_rx_early: unable to allocate mbuf\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_process_rx_early: unable to allocate mbuf\n");
ifp->if_ierrors++;
/*
* couldn't allocate an mbuf so things are not good, may as
@@ -1819,7 +1837,8 @@
MCLGET(m, M_DONTWAIT);
if ((m->m_flags & M_EXT) == 0) {
/* couldn't allocate an mbuf cluster */
- aprint_error_dev(&sc->sc_dev, "cs_process_rx_early: unable to allocate a cluster\n");
+ aprint_error_dev(sc->sc_dev,
+ "cs_process_rx_early: unable to allocate a cluster\n");
m_freem(m);
/* skip the frame */
CS_WRITE_PACKET_PAGE(sc, PKTPG_RX_CFG,
@@ -1970,7 +1989,8 @@
* corrupt.
*/
if (BusStatus & BUS_ST_TX_BID_ERR) {
- aprint_error_dev(&sc->sc_dev, "transmit bid error (too big)");
+ aprint_error_dev(sc->sc_dev,
+ "transmit bid error (too big)");
/* Discard the bad mbuf chain */
m_freem(pMbufChain);
@@ -2174,7 +2194,7 @@
int
cs_activate(device_t self, enum devact act)
{
- struct cs_softc *sc = (void *)self;
+ struct cs_softc *sc = device_private(self);
int s, error = 0;
s = splnet();
Index: src/sys/dev/ic/cs89x0var.h
diff -u src/sys/dev/ic/cs89x0var.h:1.13 src/sys/dev/ic/cs89x0var.h:1.14
--- src/sys/dev/ic/cs89x0var.h:1.13 Tue Sep 22 13:31:26 2009
+++ src/sys/dev/ic/cs89x0var.h Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: cs89x0var.h,v 1.13 2009/09/22 13:31:26 tsutsui Exp $ */
+/* $NetBSD: cs89x0var.h,v 1.14 2009/09/22 14:55:19 tsutsui Exp $ */
/*
* Copyright 1997
@@ -66,7 +66,7 @@
* its address, ...
*/
struct cs_softc {
- struct device sc_dev; /* base device glue */
+ device_t sc_dev; /* base device glue */
struct ethercom sc_ethercom; /* Ethernet common */
struct ifmedia sc_media; /* media control structures */
Index: src/sys/dev/isa/if_cs_isa.c
diff -u src/sys/dev/isa/if_cs_isa.c:1.23 src/sys/dev/isa/if_cs_isa.c:1.24
--- src/sys/dev/isa/if_cs_isa.c:1.23 Tue Sep 22 14:04:56 2009
+++ src/sys/dev/isa/if_cs_isa.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_cs_isa.c,v 1.23 2009/09/22 14:04:56 tsutsui Exp $ */
+/* $NetBSD: if_cs_isa.c,v 1.24 2009/09/22 14:55:19 tsutsui Exp $ */
/*
* Copyright 1997
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cs_isa.c,v 1.23 2009/09/22 14:04:56 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cs_isa.c,v 1.24 2009/09/22 14:55:19 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -64,7 +64,7 @@
int cs_isa_probe(device_t, cfdata_t, void *);
void cs_isa_attach(device_t, device_t, void *);
-CFATTACH_DECL(cs_isa, sizeof(struct cs_softc_isa),
+CFATTACH_DECL_NEW(cs_isa, sizeof(struct cs_softc_isa),
cs_isa_probe, cs_isa_attach, NULL, NULL);
int
@@ -215,10 +215,11 @@
void
cs_isa_attach(device_t parent, device_t self, void *aux)
{
- struct cs_softc *sc = (struct cs_softc *) self;
- struct cs_softc_isa *isc = (void *) self;
+ struct cs_softc_isa *isc = device_private(self);
+ struct cs_softc *sc = &isc->sc_cs;
struct isa_attach_args *ia = aux;
+ sc->sc_dev = self;
isc->sc_ic = ia->ia_ic;
sc->sc_iot = ia->ia_iot;
sc->sc_memt = ia->ia_memt;
@@ -237,7 +238,7 @@
*/
if (bus_space_map(sc->sc_iot, ia->ia_io[0].ir_addr, CS8900_IOSIZE,
0, &sc->sc_ioh)) {
- aprint_error_dev(&sc->sc_dev, "unable to map i/o space\n");
+ aprint_error_dev(self, "unable to map i/o space\n");
return;
}
@@ -245,7 +246,7 @@
* Validate IRQ.
*/
if (CS8900_IRQ_ISVALID(sc->sc_irq) == 0) {
- aprint_error_dev(&sc->sc_dev, "invalid IRQ %d\n", sc->sc_irq);
+ aprint_error_dev(self, "invalid IRQ %d\n", sc->sc_irq);
return;
}
@@ -259,7 +260,7 @@
CS8900_MEMBASE_ISVALID(ia->ia_iomem[0].ir_addr)) {
if (bus_space_map(sc->sc_memt, ia->ia_iomem[0].ir_addr,
CS8900_MEMSIZE, 0, &sc->sc_memh)) {
- aprint_error_dev(&sc->sc_dev, "unable to map memory space\n");
+ aprint_error_dev(self, "unable to map memory space\n");
} else {
sc->sc_cfgflags |= CFGFLG_MEM_MODE;
sc->sc_pktpgaddr = ia->ia_iomem[0].ir_addr;
@@ -269,7 +270,7 @@
sc->sc_ih = isa_intr_establish(ia->ia_ic, sc->sc_irq, IST_EDGE,
IPL_NET, cs_intr, sc);
if (sc->sc_ih == NULL) {
- aprint_error_dev(&sc->sc_dev, "unable to establish interrupt\n");
+ aprint_error_dev(self, "unable to establish interrupt\n");
return;
}
Index: src/sys/dev/isa/if_tscs_isa.c
diff -u src/sys/dev/isa/if_tscs_isa.c:1.12 src/sys/dev/isa/if_tscs_isa.c:1.13
--- src/sys/dev/isa/if_tscs_isa.c:1.12 Tue Sep 22 14:04:56 2009
+++ src/sys/dev/isa/if_tscs_isa.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_tscs_isa.c,v 1.12 2009/09/22 14:04:56 tsutsui Exp $ */
+/* $NetBSD: if_tscs_isa.c,v 1.13 2009/09/22 14:55:19 tsutsui Exp $ */
/*-
* Copyright (c) 2005 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_tscs_isa.c,v 1.12 2009/09/22 14:04:56 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_tscs_isa.c,v 1.13 2009/09/22 14:55:19 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -60,7 +60,7 @@
int tscs_isa_probe(device_t, cfdata_t, void *);
void tscs_isa_attach(device_t, device_t, void *);
-CFATTACH_DECL(tscs_isa, sizeof(struct cs_softc_isa),
+CFATTACH_DECL_NEW(tscs_isa, sizeof(struct cs_softc_isa),
tscs_isa_probe, tscs_isa_attach, NULL, NULL);
int
@@ -170,10 +170,11 @@
void
tscs_isa_attach(device_t parent, device_t self, void *aux)
{
- struct cs_softc *sc = (struct cs_softc *) self;
- struct cs_softc_isa *isc = (void *) self;
+ struct cs_softc_isa *isc = device_private(self);
+ struct cs_softc *sc = &isc->sc_cs;
struct isa_attach_args *ia = aux;
+ sc->sc_dev = self;
isc->sc_ic = ia->ia_ic;
sc->sc_iot = ia->ia_iot;
sc->sc_memt = ia->ia_memt;
@@ -188,14 +189,14 @@
*/
if (bus_space_map(sc->sc_iot, ia->ia_io[0].ir_addr, CS8900_IOSIZE,
0, &sc->sc_ioh)) {
- aprint_error_dev(&sc->sc_dev, "unable to map i/o space\n");
+ aprint_error_dev(self, "unable to map i/o space\n");
return;
}
sc->sc_ih = isa_intr_establish(ia->ia_ic, sc->sc_irq, IST_EDGE,
IPL_NET, cs_intr, sc);
if (sc->sc_ih == NULL) {
- aprint_error_dev(&sc->sc_dev, "unable to establish interrupt\n");
+ aprint_error_dev(self, "unable to establish interrupt\n");
return;
}
Index: src/sys/dev/isapnp/if_cs_isapnp.c
diff -u src/sys/dev/isapnp/if_cs_isapnp.c:1.15 src/sys/dev/isapnp/if_cs_isapnp.c:1.16
--- src/sys/dev/isapnp/if_cs_isapnp.c:1.15 Tue May 12 10:16:35 2009
+++ src/sys/dev/isapnp/if_cs_isapnp.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_cs_isapnp.c,v 1.15 2009/05/12 10:16:35 cegger Exp $ */
+/* $NetBSD: if_cs_isapnp.c,v 1.16 2009/09/22 14:55:19 tsutsui Exp $ */
/*-
* Copyright (c)2001 YAMAMOTO Takashi,
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cs_isapnp.c,v 1.15 2009/05/12 10:16:35 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cs_isapnp.c,v 1.16 2009/09/22 14:55:19 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -55,13 +55,18 @@
#include <dev/isapnp/isapnpvar.h>
#include <dev/isapnp/isapnpdevs.h>
-#define DEVNAME(sc) device_xname(&((sc)->sc_dev))
+#define DEVNAME(sc) device_xname((sc)->sc_dev)
int cs_isapnp_match(device_t, cfdata_t, void *);
void cs_isapnp_attach(device_t, device_t, void *);
-CFATTACH_DECL(cs_isapnp, sizeof(struct cs_softc),
+#ifdef notyet
+CFATTACH_DECL_NEW(cs_isapnp, sizeof(struct cs_softc_isa),
+ cs_isapnp_match, cs_isapnp_attach, NULL, NULL);
+#else
+CFATTACH_DECL_NEW(cs_isapnp, sizeof(struct cs_softc),
cs_isapnp_match, cs_isapnp_attach, NULL, NULL);
+#endif
int
cs_isapnp_match(device_t parent, cfdata_t match, void *aux)
@@ -77,13 +82,19 @@
void
cs_isapnp_attach(device_t parent, device_t self, void *aux)
{
+#ifdef notyet
+ struct cs_softc_isa *isc = device_private(sc);
+ struct cs_softc *sc = &sc->sc_cs;
+#else
struct cs_softc *sc = device_private(self);
+#endif
struct isapnp_attach_args *ipa = aux;
#ifdef notyet
- struct cs_softc_isa *isc = (void *)sc;
int i;
#endif
+ sc->sc_dev = self;
+
printf("\n");
if (ipa->ipa_nio != 1 || ipa->ipa_nirq != 1 || ipa->ipa_ndrq) {
Index: src/sys/dev/ofisa/if_cs_ofisa.c
diff -u src/sys/dev/ofisa/if_cs_ofisa.c:1.22 src/sys/dev/ofisa/if_cs_ofisa.c:1.23
--- src/sys/dev/ofisa/if_cs_ofisa.c:1.22 Tue May 12 14:38:56 2009
+++ src/sys/dev/ofisa/if_cs_ofisa.c Tue Sep 22 14:55:19 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_cs_ofisa.c,v 1.22 2009/05/12 14:38:56 cegger Exp $ */
+/* $NetBSD: if_cs_ofisa.c,v 1.23 2009/09/22 14:55:19 tsutsui Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_cs_ofisa.c,v 1.22 2009/05/12 14:38:56 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_cs_ofisa.c,v 1.23 2009/09/22 14:55:19 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -66,7 +66,7 @@
int cs_ofisa_match(device_t, cfdata_t, void *);
void cs_ofisa_attach(device_t, device_t, void *);
-CFATTACH_DECL(cs_ofisa, sizeof(struct cs_softc_isa),
+CFATTACH_DECL_NEW(cs_ofisa, sizeof(struct cs_softc_isa),
cs_ofisa_match, cs_ofisa_attach, NULL, NULL);
int
@@ -93,8 +93,8 @@
void
cs_ofisa_attach(device_t parent, device_t self, void *aux)
{
- struct cs_softc *sc = device_private(self);
- struct cs_softc_isa *isc = (void *)sc;
+ struct cs_softc_isa *isc = device_private(self);
+ struct cs_softc *sc = &isc->sc_cs;
struct ofisa_attach_args *aa = aux;
struct ofisa_reg_desc reg[2];
struct ofisa_intr_desc intr;
@@ -105,6 +105,7 @@
const char *message = NULL;
u_int8_t enaddr[6];
+ sc->sc_dev = self;
isc->sc_ic = aa->ic;
sc->sc_iot = aa->iot;
sc->sc_memt = aa->memt;
@@ -232,17 +233,17 @@
printf("\n");
if (message != NULL)
- printf("%s: %s\n", device_xname(&sc->sc_dev), message);
+ printf("%s: %s\n", device_xname(self), message);
if (defmedia == -1) {
- aprint_error_dev(&sc->sc_dev, "unable to get default media\n");
+ aprint_error_dev(self, "unable to get default media\n");
defmedia = media[0]; /* XXX What to do? */
}
sc->sc_ih = isa_intr_establish(isc->sc_ic, sc->sc_irq, intr.share,
IPL_NET, cs_intr, sc);
if (sc->sc_ih == NULL) {
- aprint_error_dev(&sc->sc_dev, "unable to establish interrupt\n");
+ aprint_error_dev(self, "unable to establish interrupt\n");
return;
}