Module Name:    src
Committed By:   tsutsui
Date:           Sat May 16 07:34:05 UTC 2009

Modified Files:
        src/sys/dev/pci: if_vge.c

Log Message:
Split device_t/softc split, tested on VT6212L.


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/dev/pci/if_vge.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/dev/pci/if_vge.c
diff -u src/sys/dev/pci/if_vge.c:1.47 src/sys/dev/pci/if_vge.c:1.48
--- src/sys/dev/pci/if_vge.c:1.47	Tue May 12 08:23:01 2009
+++ src/sys/dev/pci/if_vge.c	Sat May 16 07:34:05 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: if_vge.c,v 1.47 2009/05/12 08:23:01 cegger Exp $ */
+/* $NetBSD: if_vge.c,v 1.48 2009/05/16 07:34:05 tsutsui Exp $ */
 
 /*-
  * Copyright (c) 2004
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vge.c,v 1.47 2009/05/12 08:23:01 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vge.c,v 1.48 2009/05/16 07:34:05 tsutsui Exp $");
 
 /*
  * VIA Networking Technologies VT612x PCI gigabit ethernet NIC driver.
@@ -190,7 +190,7 @@
 
 
 struct vge_softc {
-	struct device		sc_dev;
+	device_t		sc_dev;
 
 	bus_space_tag_t		sc_bst;		/* bus space tag */
 	bus_space_handle_t	sc_bsh;		/* bus space handle */
@@ -333,7 +333,7 @@
 static void vge_setmulti(struct vge_softc *);
 static void vge_reset(struct vge_softc *);
 
-CFATTACH_DECL(vge, sizeof(struct vge_softc),
+CFATTACH_DECL_NEW(vge, sizeof(struct vge_softc),
     vge_match, vge_attach, NULL, NULL);
 
 static inline void
@@ -446,7 +446,7 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "EEPROM read timed out\n");
+		printf("%s: EEPROM read timed out\n", device_xname(sc->sc_dev));
 		return 0;
 	}
 
@@ -474,7 +474,8 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "failed to idle MII autopoll\n");
+		printf("%s: failed to idle MII autopoll\n",
+		    device_xname(sc->sc_dev));
 	}
 }
 
@@ -495,7 +496,8 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "failed to idle MII autopoll\n");
+		printf("%s: failed to idle MII autopoll\n",
+		    device_xname(sc->sc_dev));
 		return;
 	}
 
@@ -512,7 +514,8 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "failed to start MII autopoll\n");
+		printf("%s: failed to start MII autopoll\n",
+		    device_xname(sc->sc_dev));
 	}
 }
 
@@ -545,7 +548,7 @@
 	}
 
 	if (i == VGE_TIMEOUT)
-		aprint_error_dev(&sc->sc_dev, "MII read timed out\n");
+		printf("%s: MII read timed out\n", device_xname(sc->sc_dev));
 	else
 		rval = CSR_READ_2(sc, VGE_MIIDATA);
 
@@ -585,7 +588,7 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "MII write timed out\n");
+		printf("%s: MII write timed out\n", device_xname(sc->sc_dev));
 	}
 
 	vge_miipoll_start(sc);
@@ -654,7 +657,8 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "setting CAM filter failed\n");
+		printf("%s: setting CAM filter failed\n",
+		    device_xname(sc->sc_dev));
 		error = EIO;
 		goto fail;
 	}
@@ -769,7 +773,7 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "soft reset timed out");
+		printf("%s: soft reset timed out", device_xname(sc->sc_dev));
 		CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_STOP_FORCE);
 		DELAY(2000);
 	}
@@ -785,7 +789,8 @@
 	}
 
 	if (i == VGE_TIMEOUT) {
-		aprint_error_dev(&sc->sc_dev, "EEPROM reload timed out\n");
+		printf("%s: EEPROM reload timed out\n",
+		    device_xname(sc->sc_dev));
 		return;
 	}
 
@@ -829,7 +834,8 @@
 	error = bus_dmamem_alloc(sc->sc_dmat, sizeof(struct vge_control_data),
 	     VGE_RING_ALIGN, 0, &seg, 1, &nseg, BUS_DMA_NOWAIT);
 	if (error) {
-		aprint_error_dev(&sc->sc_dev, "could not allocate control data dma memory\n");
+		aprint_error_dev(sc->sc_dev,
+		    "could not allocate control data dma memory\n");
 		goto fail_1;
 	}
 
@@ -839,7 +845,8 @@
 	    sizeof(struct vge_control_data), (void **)&sc->sc_control_data,
 	    BUS_DMA_NOWAIT);
 	if (error) {
-		aprint_error_dev(&sc->sc_dev, "could not map control data dma memory\n");
+		aprint_error_dev(sc->sc_dev,
+		    "could not map control data dma memory\n");
 		goto fail_2;
 	}
 	memset(sc->sc_control_data, 0, sizeof(struct vge_control_data));
@@ -852,7 +859,8 @@
 	    sizeof(struct vge_control_data), 0, BUS_DMA_NOWAIT,
 	    &sc->sc_cddmamap);
 	if (error) {
-		aprint_error_dev(&sc->sc_dev, "could not create control data dmamap\n");
+		aprint_error_dev(sc->sc_dev,
+		    "could not create control data dmamap\n");
 		goto fail_3;
 	}
 
@@ -861,7 +869,8 @@
 	    sc->sc_control_data, sizeof(struct vge_control_data), NULL,
 	    BUS_DMA_NOWAIT);
 	if (error) {
-		aprint_error_dev(&sc->sc_dev, "could not load control data dma memory\n");
+		aprint_error_dev(sc->sc_dev,
+		    "could not load control data dma memory\n");
 		goto fail_4;
 	}
 
@@ -872,7 +881,8 @@
 		    VGE_TX_FRAGS, VGE_TX_MAXLEN, 0, BUS_DMA_NOWAIT,
 		    &sc->sc_txsoft[i].txs_dmamap);
 		if (error) {
-			aprint_error_dev(&sc->sc_dev, "can't create DMA map for TX descs\n");
+			aprint_error_dev(sc->sc_dev,
+			    "can't create DMA map for TX descs\n");
 			goto fail_5;
 		}
 	}
@@ -884,7 +894,8 @@
 		    1, MCLBYTES, 0, BUS_DMA_NOWAIT,
 		    &sc->sc_rxsoft[i].rxs_dmamap);
 		if (error) {
-			aprint_error_dev(&sc->sc_dev, "can't create DMA map for RX descs\n");
+			aprint_error_dev(sc->sc_dev,
+			    "can't create DMA map for RX descs\n");
 			goto fail_6;
 		}
 		sc->sc_rxsoft[i].rxs_mbuf = NULL;
@@ -932,6 +943,8 @@
 	pci_intr_handle_t ih;
 	uint16_t val;
 
+	sc->sc_dev = self;
+
 	aprint_normal(": VIA VT612X Gigabit Ethernet (rev. %#x)\n",
 	    PCI_REVISION(pa->pa_class));
 
@@ -945,7 +958,7 @@
 	 */
 	if (pci_mapreg_map(pa, VGE_PCI_LOMEM, PCI_MAPREG_TYPE_MEM, 0,
 	    &sc->sc_bst, &sc->sc_bsh, NULL, NULL) != 0) {
-		aprint_error_dev(&sc->sc_dev, "couldn't map memory\n");
+		aprint_error_dev(self, "couldn't map memory\n");
 		return;
 	}
 
@@ -953,19 +966,19 @@
          * Map and establish our interrupt.
          */
 	if (pci_intr_map(pa, &ih)) {
-		aprint_error_dev(&sc->sc_dev, "unable to map interrupt\n");
+		aprint_error_dev(self, "unable to map interrupt\n");
 		return;
 	}
 	intrstr = pci_intr_string(pc, ih);
 	sc->sc_intrhand = pci_intr_establish(pc, ih, IPL_NET, vge_intr, sc);
 	if (sc->sc_intrhand == NULL) {
-		aprint_error_dev(&sc->sc_dev, "unable to establish interrupt");
+		aprint_error_dev(self, "unable to establish interrupt");
 		if (intrstr != NULL)
 			aprint_error(" at %s", intrstr);
 		aprint_error("\n");
 		return;
 	}
-	aprint_normal_dev(&sc->sc_dev, "interrupting at %s\n", intrstr);
+	aprint_normal_dev(self, "interrupting at %s\n", intrstr);
 
 	/* Reset the adapter. */
 	vge_reset(sc);
@@ -984,7 +997,7 @@
 	eaddr[4] = val & 0xff;
 	eaddr[5] = val >> 8;
 
-	aprint_normal_dev(&sc->sc_dev, "Ethernet address: %s\n",
+	aprint_normal_dev(self, "Ethernet address: %s\n",
 	    ether_sprintf(eaddr));
 
 	/*
@@ -998,7 +1011,7 @@
 
 	ifp = &sc->sc_ethercom.ec_if;
 	ifp->if_softc = sc;
-	strlcpy(ifp->if_xname, device_xname(&sc->sc_dev), IFNAMSIZ);
+	strlcpy(ifp->if_xname, device_xname(self), IFNAMSIZ);
 	ifp->if_mtu = ETHERMTU;
 	ifp->if_baudrate = IF_Gbps(1);
 	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
@@ -1043,7 +1056,7 @@
 	sc->sc_ethercom.ec_mii = &sc->sc_mii;
 	ifmedia_init(&sc->sc_mii.mii_media, 0, ether_mediachange,
 	    ether_mediastatus);
-	mii_attach(&sc->sc_dev, &sc->sc_mii, 0xffffffff, MII_PHY_ANY,
+	mii_attach(self, &sc->sc_mii, 0xffffffff, MII_PHY_ANY,
 	    MII_OFFSET_ANY, MIIF_DOPAUSE);
 	if (LIST_FIRST(&sc->sc_mii.mii_phys) == NULL) {
 		ifmedia_add(&sc->sc_mii.mii_media, IFM_ETHER|IFM_NONE, 0, NULL);
@@ -1065,7 +1078,8 @@
 	 * Make sure the interface is shutdown during reboot.
 	 */
 	if (shutdownhook_establish(vge_shutdown, sc) == NULL) {
-		aprint_error_dev(&sc->sc_dev, "WARNING: unable to establish shutdown hook\n");
+		aprint_error_dev(self,
+		    "WARNING: unable to establish shutdown hook\n");
 	}
 }
 
@@ -1127,7 +1141,7 @@
 	VGE_RXDESCSYNC(sc, idx, BUS_DMASYNC_PREREAD);
 	if (rd_sts & VGE_RDSTS_OWN) {
 		panic("%s: tried to map busy RX descriptor",
-		    device_xname(&sc->sc_dev));
+		    device_xname(sc->sc_dev));
 	}
 #endif
 
@@ -1428,14 +1442,14 @@
 }
 
 static void
-vge_tick(void *xsc)
+vge_tick(void *arg)
 {
 	struct vge_softc *sc;
 	struct ifnet *ifp;
 	struct mii_data *mii;
 	int s;
 
-	sc = xsc;
+	sc = arg;
 	ifp = &sc->sc_ethercom.ec_if;
 	mii = &sc->sc_mii;
 
@@ -1694,8 +1708,9 @@
 
 		if ((error = vge_encap(sc, m_head, idx))) {
 			if (error == EFBIG) {
-				aprint_error_dev(&sc->sc_dev, "Tx packet consumes too many "
-				    "DMA segments, dropping...\n");
+				printf("%s: Tx packet consumes too many "
+				    "DMA segments, dropping...\n",
+				    device_xname(sc->sc_dev));
 				IFQ_DEQUEUE(&ifp->if_snd, m_head);
 				m_freem(m_head);
 				continue;
@@ -1783,8 +1798,8 @@
 	sc->sc_rx_consumed = 0;
 	for (i = 0; i < VGE_NRXDESC; i++) {
 		if (vge_newbuf(sc, i, NULL) == ENOBUFS) {
-			aprint_error_dev(&sc->sc_dev, "unable to allocate or map "
-			    "rx buffer\n");
+			printf("%s: unable to allocate or map rx buffer\n",
+			    device_xname(sc->sc_dev));
 			return 1; /* XXX */
 		}
 	}
@@ -1959,7 +1974,7 @@
 	struct mii_data *mii;
 	struct ifmedia_entry *ife;
 
-	sc = (void *)self;
+	sc = device_private(self);
 	mii = &sc->sc_mii;
 	ife = mii->mii_media.ifm_cur;
 	/*
@@ -1992,7 +2007,8 @@
 		}
 		break;
 	default:
-		aprint_error_dev(&sc->sc_dev, "unknown media type: %x\n",
+		printf("%s: unknown media type: %x\n",
+		    device_xname(sc->sc_dev),
 		    IFM_SUBTYPE(ife->ifm_media));
 		break;
 	}
@@ -2057,7 +2073,7 @@
 
 	sc = ifp->if_softc;
 	s = splnet();
-	aprint_error_dev(&sc->sc_dev, "watchdog timeout\n");
+	printf("%s: watchdog timeout\n", device_xname(sc->sc_dev));
 	ifp->if_oerrors++;
 
 	vge_txeof(sc);

Reply via email to