All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20080820173909.7344EB58071@mail95-dub.bigfish.com>

diff --git a/a/1.txt b/N1/1.txt
index 25a85f3..78f353d 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -4,29 +4,21 @@ Some of the comments are nits.
 Thanks for the effort you're putting in on this.
 
 > Linux Device Driver for Xilinx LL TEMAC 10/100/1000 Ethernet NIC
-> =
-
+> 
 > Original Author Yoshio Kashiwagi
 > Updated and Maintained by David Lynch
-> =
-
+> 
 > Signed-off-by: David H. Lynch Jr. <dhlii@dlasys.net>
-> =
-
+> 
 > ---
-> =
-
->  drivers/net/Kconfig            |    5 =
-
->  drivers/net/Makefile           |    1 =
-
+> 
+>  drivers/net/Kconfig            |    5 
+>  drivers/net/Makefile           |    1 
 >  drivers/net/xps_lltemac.c      | 1562
 ++++++++++++++++++++++++++++++++++++++++
->  include/linux/xilinx_devices.h |    2 =
-
+>  include/linux/xilinx_devices.h |    2 
 >  4 files changed, 1569 insertions(+), 1 deletions(-)
-> =
-
+> 
 > diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
 > index 033e13f..71b4c17 100644
 > --- a/drivers/net/Kconfig
@@ -34,8 +26,7 @@ Thanks for the effort you're putting in on this.
 > @@ -2332,6 +2332,11 @@ config MV643XX_ETH
 >  	  Some boards that use the Discovery chipset are the Momenco
 >  	  Ocelot C and Jaguar ATX and Pegasos II.
->  =
-
+>  
 > +config XPS_LLTEMAC
 > +	tristate "Xilinx LLTEMAC 10/100/1000 Ethernet MAC driver"
 > +	help
@@ -43,8 +34,7 @@ Thanks for the effort you're putting in on this.
 Virtex 4 FPGAs
 
 It might be helpful to say only in DMA mode as our traditional drivers
-support FIFO mode and DMA. =
-
+support FIFO mode and DMA. 
 Since the FPGA is pretty flexible people tend to do things different
 than I sometimes expect.
 
@@ -56,15 +46,14 @@ than I sometimes expect.
 > index 1f09934..9196bab 100644
 > --- a/drivers/net/Makefile
 > +++ b/drivers/net/Makefile
-> @@ -126,6 +126,7 @@ obj-$(CONFIG_AX88796) +=3D ax88796.o
->  obj-$(CONFIG_TSI108_ETH) +=3D tsi108_eth.o
->  obj-$(CONFIG_PICO_TEMAC) +=3D pico_temac.o
->  obj-$(CONFIG_MV643XX_ETH) +=3D mv643xx_eth.o
-> +obj-$(CONFIG_XPS_LLTEMAC) +=3D xps_lltemac.o
->  obj-$(CONFIG_QLA3XXX) +=3D qla3xxx.o
->  =
-
->  obj-$(CONFIG_PPP) +=3D ppp_generic.o
+> @@ -126,6 +126,7 @@ obj-$(CONFIG_AX88796) += ax88796.o
+>  obj-$(CONFIG_TSI108_ETH) += tsi108_eth.o
+>  obj-$(CONFIG_PICO_TEMAC) += pico_temac.o
+>  obj-$(CONFIG_MV643XX_ETH) += mv643xx_eth.o
+> +obj-$(CONFIG_XPS_LLTEMAC) += xps_lltemac.o
+>  obj-$(CONFIG_QLA3XXX) += qla3xxx.o
+>  
+>  obj-$(CONFIG_PPP) += ppp_generic.o
 > diff --git a/drivers/net/xps_lltemac.c b/drivers/net/xps_lltemac.c
 > new file mode 100644
 > index 0000000..8af4e7a
@@ -72,10 +61,8 @@ than I sometimes expect.
 > +++ b/drivers/net/xps_lltemac.c
 > @@ -0,0 +1,1562 @@
 >
-+/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
-=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
-=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
-=3D
++/*=====================================================================
+=
 > +
 > + Driver for Xilinx temac ethernet NIC's
 
@@ -93,9 +80,7 @@ an SOC core.
 > + Copyright (C) 2005-2008 DLA Systems
 > +
 >
-+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
-=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
-=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*
++======================================================================*
 /
 > +/* DRV_NAME is for compatibility with existing xilinx ll temac driver
 > + * also with  of/dtc object names */
@@ -140,13 +125,13 @@ phy is not address 0.
 > +static unsigned int
 > +mdio_read(struct net_device *ndev, int phy_id, int reg_num)
 > +{
-> +	struct temac_local *lp =3D netdev_priv(ndev);
-> +	u32 timeout =3D PHY_TIMEOUT;
-> +	u32 rv =3D 0;
+> +	struct temac_local *lp = netdev_priv(ndev);
+> +	u32 timeout = PHY_TIMEOUT;
+> +	u32 rv = 0;
 > +	unsigned long flags;
 > +
 > +	if ((reg_num >  MII_REG_MAX) ||
-> +		(phy_id =3D=3D PHY_ADDR_INVALID)) {
+> +		(phy_id == PHY_ADDR_INVALID)) {
 
 The phy_id never gets set to PHY_ADDR_INVALID, is there something I'm
 missing or should this be removed?  Maybe this is related to the PHY_NUM
@@ -175,13 +160,13 @@ hope.
 > +			XTE_MIIMAI_OFFSET | (lp->emac_num << 10));
 > +	while (!(tior(ndev, XTE_RDY0_OFFSET) & XTE_RSE_MIIM_RR_MASK)) {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev, "read_MII busy
 timeout!!\n");
 > +			return -1;
 > +		}
 > +	}
-> +	rv =3D tior(ndev, XTE_LSW0_OFFSET);
+> +	rv = tior(ndev, XTE_LSW0_OFFSET);
 > +
 > +	spin_unlock_irqrestore(&lp->lock, flags);
 > +	return rv;
@@ -191,12 +176,12 @@ timeout!!\n");
 > +mdio_write(struct net_device *ndev, int phy_id, int reg_num, int
 reg_val)
 > +{
-> +	struct temac_local *lp =3D netdev_priv(ndev);
-> +	u32 timeout =3D PHY_TIMEOUT, status;
+> +	struct temac_local *lp = netdev_priv(ndev);
+> +	u32 timeout = PHY_TIMEOUT, status;
 > +	unsigned long flags;
 > +
 > +	if ((reg_num >  MII_REG_MAX) ||
-> +		(phy_id =3D=3D PHY_ADDR_INVALID)) {
+> +		(phy_id == PHY_ADDR_INVALID)) {
 > +		dev_err(&ndev->dev,
 > +			"mdio_write(%x, %x)invalid reg_num or invalid
 phy_id\n",
@@ -204,8 +189,7 @@ phy_id\n",
 > +		return -1;
 
 The return type is void yet it tries to return -1, should it be int
-return? =
-
+return? 
 
 > +	}
 > +
@@ -221,10 +205,10 @@ return? =
 > +			CNTLREG_WRITE_ENABLE_MASK
 > +			| XTE_MIIMAI_OFFSET
 > +			| (lp->emac_num << 10));
-> +	while (!(status =3D tior(ndev, XTE_RDY0_OFFSET) &
+> +	while (!(status = tior(ndev, XTE_RDY0_OFFSET) &
 XTE_RSE_MIIM_WR_MASK)) {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev, "write_MII busy
 timeout!!\n");
 > +			return ;
@@ -241,8 +225,8 @@ read().
 > +static u32
 > +emac_cfg_read(struct net_device *ndev, u16 reg_num)
 > +{
-> +	struct temac_local *lp =3D netdev_priv(ndev);
-> +	u32 timeout =3D PHY_TIMEOUT;
+> +	struct temac_local *lp = netdev_priv(ndev);
+> +	u32 timeout = PHY_TIMEOUT;
 > +
 > +	if (reg_num > TEMAC_REG_MAX) {
 > +		dev_err(&ndev->dev,
@@ -259,7 +243,7 @@ looks like a failure?
 > +	tiow(ndev, XTE_CTL0_OFFSET, (lp->emac_num << 10) | reg_num);
 > +	while (!(tior(ndev, XTE_RDY0_OFFSET) & XTE_RSE_CFG_RR_MASK)) {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev, "read temac busy
 timeout!!\n");
 > +			return -1;
@@ -272,8 +256,8 @@ timeout!!\n");
 > +static void
 > +emac_cfg_write(struct net_device *ndev, u32 reg_num, u32 val)
 > +{
-> +	struct temac_local *lp =3D netdev_priv(ndev);
-> +	u32 timeout =3D PHY_TIMEOUT;
+> +	struct temac_local *lp = netdev_priv(ndev);
+> +	u32 timeout = PHY_TIMEOUT;
 > +
 > +	if (reg_num > TEMAC_REG_MAX) {
 > +		dev_err(&ndev->dev,
@@ -284,8 +268,7 @@ timeout!!\n");
 > +
 
 Same thing returning a value when void return, and timeout below again
-should =
-
+should 
 return failure?  It would seem like these be compiler warnings?
 
 > +	tiow(ndev, XTE_LSW0_OFFSET, val);
@@ -296,7 +279,7 @@ return failure?  It would seem like these be compiler warnings?
 > +			 | reg_num));
 > +	while (!(tior(ndev, XTE_RDY0_OFFSET) & XTE_RSE_CFG_WR_MASK)) {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev, "write temac busy
 timeout!!\n");
 > +			return ;
@@ -324,9 +307,9 @@ value
 to be returned.
 
 > +
-> +	Reg =3D emac_cfg_read(ndev, reg_num) & ~val;
+> +	Reg = emac_cfg_read(ndev, reg_num) & ~val;
 > +	if (flg)
-> +		Reg |=3D val;
+> +		Reg |= val;
 > +	emac_cfg_write(ndev, reg_num, Reg);
 > +	return 0;
 > +}
@@ -337,19 +320,19 @@ to be returned.
 > +static int
 > +temac_bd_init(struct net_device *ndev)
 > +{
-> +	struct temac_local *lp =3D netdev_priv(ndev);
+> +	struct temac_local *lp = netdev_priv(ndev);
 > +	struct sk_buff *skb;
 > +	int ii;
 > +
-> +	lp->rx_skb =3D kzalloc(sizeof(struct sk_buff)*RX_BD_NUM,
+> +	lp->rx_skb = kzalloc(sizeof(struct sk_buff)*RX_BD_NUM,
 GFP_KERNEL);
 > +	/* allocate the tx and rx ring buffer descriptors. */
 > +	/* returns a virtual addres and a physical address. */
-> +	lp->tx_bd_v =3D dma_alloc_coherent(NULL,
+> +	lp->tx_bd_v = dma_alloc_coherent(NULL,
 > +			sizeof(struct cdmac_bd) * TX_BD_NUM,
 > +			(dma_addr_t *)&lp->tx_bd_p,
 > +			GFP_KERNEL);
-> +	lp->rx_bd_v =3D dma_alloc_coherent(NULL,
+> +	lp->rx_bd_v = dma_alloc_coherent(NULL,
 > +			sizeof(struct cdmac_bd) * RX_BD_NUM,
 > +			(dma_addr_t *)&lp->rx_bd_p,
 > +			GFP_KERNEL);
@@ -361,13 +344,13 @@ cacheline). Other powerpc processors might be a problem. A more specific
 dependency on 4xx might be useful?
 
 > +
-> +	for (ii =3D 0; ii < TX_BD_NUM; ii++) {
+> +	for (ii = 0; ii < TX_BD_NUM; ii++) {
 > +		memset((char *)&lp->tx_bd_v[ii], 0, sizeof(struct
 cdmac_bd));
-> +		if (ii =3D=3D (TX_BD_NUM - 1))
-> +			lp->tx_bd_v[ii].next =3D &lp->tx_bd_p[0];
+> +		if (ii == (TX_BD_NUM - 1))
+> +			lp->tx_bd_v[ii].next = &lp->tx_bd_p[0];
 > +		else
-> +			lp->tx_bd_v[ii].next =3D &lp->tx_bd_p[ii + 1];
+> +			lp->tx_bd_v[ii].next = &lp->tx_bd_p[ii + 1];
 > +
 > +	}
 
@@ -378,8 +361,8 @@ cdmac_bd));
 > +static void
 > +temac_device_reset(struct net_device *ndev)
 > +{
-> +	struct temac_local *lp =3D netdev_priv(ndev);
-> +	u32 timeout =3D 1000;
+> +	struct temac_local *lp = netdev_priv(ndev);
+> +	u32 timeout = 1000;
 > +
 > +	/* Perform a software reset */
 > +
@@ -395,7 +378,7 @@ Seems like the above comments should be removed.
 > +	while (emac_cfg_read(ndev, XTE_RXC1_OFFSET) &
 XTE_RXC1_RXRST_MASK) {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev,
 > +				"temac_device_reset RX reset
 timeout!!\n");
@@ -405,11 +388,11 @@ timeout!!\n");
 > +
 > +	emac_cfg_write(ndev, XTE_TXC_OFFSET, XTE_TXC_TXRST_MASK);
 > +	/* Wait for the transmitter to finish reset */
-> +	timeout =3D 1000;
+> +	timeout = 1000;
 > +	while (emac_cfg_read(ndev, XTE_TXC_OFFSET) & XTE_TXC_TXRST_MASK)
 {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev,
 > +				"temac_device_reset TX reset
 timeout!!\n");
@@ -426,10 +409,10 @@ timeout!!\n");
 > +	/* reset */
 > +	tiow(ndev, XTE_RAF0_OFFSET, 1);
 > +	/* wait for reset */
-> +	timeout =3D 1000;
+> +	timeout = 1000;
 > +	while (tior(ndev, XTE_RAF0_OFFSET) & 1) {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev,
 > +				"temac_device_reset RAF reset
 timeout!!\n");
@@ -441,15 +424,15 @@ timeout!!\n");
 > +	/* b1         autoneg complete */
 > +	/* b2         receive complete */
 > +	/* b5         transmit complete */
-> +	/* b0       =3D interrupts from TIS/TIE registers */
+> +	/* b0       = interrupts from TIS/TIE registers */
 > +
 > +
 > +	/* Reset */
 > +	sd_iow(ndev, DMA_CONTROL_REG, DMA_CONTROL_RST);
-> +	timeout =3D 1000;
+> +	timeout = 1000;
 > +	while (sd_ior(ndev, DMA_CONTROL_REG) & DMA_CONTROL_RST) {
 > +		udelay(1);
-> +		if (--timeout =3D=3D 0) {
+> +		if (--timeout == 0) {
 > +			dev_err(&ndev->dev,
 > +				"temac_device_reset DMA reset
 timeout!!\n");
@@ -489,7 +472,7 @@ XTE_OPTION_RXEN));
 > +		dev_err(&ndev->dev, "Error setting TEMAC options\n");
 > +
 > +	/* Init Driver variable */
-> +	ndev->trans_start =3D 0;
+> +	ndev->trans_start = 0;
 > +	spin_lock_init(&lp->lock);
 > +	spin_lock_init(&lp->rx_lock);
 > +}
@@ -497,12 +480,12 @@ XTE_OPTION_RXEN));
 > +static void
 > +temac_hard_start_xmit_done(struct net_device *ndev)
 > +{
-> +	struct temac_local *lp =3D netdev_priv(ndev);
+> +	struct temac_local *lp = netdev_priv(ndev);
 > +	struct cdmac_bd *cur_p;
-> +	unsigned int stat =3D 0;
+> +	unsigned int stat = 0;
 > +
-> +	cur_p =3D &lp->tx_bd_v[lp->tx_bd_ci];
-> +	stat =3D cur_p->app0;
+> +	cur_p = &lp->tx_bd_v[lp->tx_bd_ci];
+> +	stat = cur_p->app0;
 > +
 > +	while (stat & STS_CTRL_APP0_CMPLT) {
 > +		pci_unmap_single(NULL,
@@ -511,8 +494,7 @@ XTE_OPTION_RXEN));
 > +				PCI_DMA_TODEVICE);
 
 It seems like the PCI calls would be better replaced with
-dma_unmap_single() =
-
+dma_unmap_single() 
 and dma_map_single to be more accurate and probably less overhead?
 
 The dma functions, not sure on the pci, should handle when we change the
@@ -522,17 +504,17 @@ to cache the BDs as that will be needed eventually for good performance.
 > +		if (cur_p->app4)
 > +			dev_kfree_skb_irq((struct sk_buff
 *)cur_p->app4);
-> +		cur_p->app0 =3D 0;
+> +		cur_p->app0 = 0;
 > +
 > +		lp->stats.tx_packets++;
-> +		lp->stats.tx_bytes +=3D cur_p->len;
+> +		lp->stats.tx_bytes += cur_p->len;
 > +
 > +		lp->tx_bd_ci++;
-> +		if (lp->tx_bd_ci >=3D TX_BD_NUM)
-> +			lp->tx_bd_ci =3D 0;
+> +		if (lp->tx_bd_ci >= TX_BD_NUM)
+> +			lp->tx_bd_ci = 0;
 > +
-> +		cur_p =3D &lp->tx_bd_v[lp->tx_bd_ci];
-> +		stat =3D cur_p->app0;
+> +		cur_p = &lp->tx_bd_v[lp->tx_bd_ci];
+> +		stat = cur_p->app0;
 > +	}
 > +
 > +	netif_wake_queue(ndev);
@@ -547,34 +529,33 @@ to cache the BDs as that will be needed eventually for good performance.
 > +		int num, struct temac_region *reg)
 > +{
 > +	struct resource *res;
-> +	int erC =3D 0;
+> +	int erC = 0;
 > +
-> +	res =3D platform_get_resource(pdev, IORESOURCE_MEM, num);
-> +	if (res =3D=3D 0) {
-> +		erC =3D -ENODEV;
+> +	res = platform_get_resource(pdev, IORESOURCE_MEM, num);
+> +	if (res == 0) {
+> +		erC = -ENODEV;
 > +		goto fail;
 > +	}
 > +	if (request_mem_region(res->start, res->end - res->start,
-> +				pdev->name) =3D=3D 0) {
+> +				pdev->name) == 0) {
 > +		dev_err(&pdev->dev,
 > +				"%s: failed to request registers\n",
 > +				pdev->name);
-> +		erC =3D -ENXIO;
+> +		erC = -ENXIO;
 > +		goto fail;
 > +	}
 > +
-> +	reg->base =3D (uintptr_t)res->start;
-> +	reg->len  =3D res->end - res->start;
-
-Should this really be res->end - res->start + 1 to include the =
+> +	reg->base = (uintptr_t)res->start;
+> +	reg->len  = res->end - res->start;
 
+Should this really be res->end - res->start + 1 to include the 
 memory region?  It's also used up above in the mem_region call.
 
-> +	reg->addr =3D ioremap_nocache((uintptr_t)reg->base, reg->len);
-> +	if (reg->addr =3D=3D 0) {
+> +	reg->addr = ioremap_nocache((uintptr_t)reg->base, reg->len);
+> +	if (reg->addr == 0) {
 > +		dev_err(&pdev->dev,
 > +			"%s: failed to remap registers\n", pdev->name);
-> +		erC =3D -ENXIO;
+> +		erC = -ENXIO;
 > +		goto fail_remap;
 > +	}
 > +	return 0;
@@ -587,20 +568,15 @@ memory region?  It's also used up above in the mem_region call.
 <snip>
 
 > -----Original Message-----
-> From: linuxppc-embedded-bounces+john.linn=3Dxilinx.com@ozlabs.org
+> From: linuxppc-embedded-bounces+john.linn=xilinx.com@ozlabs.org
 [mailto:linuxppc-embedded-
-> bounces+john.linn=3Dxilinx.com@ozlabs.org] On Behalf Of David H. Lynch
+> bounces+john.linn=xilinx.com@ozlabs.org] On Behalf Of David H. Lynch
 Jr.
 > Sent: Tuesday, August 19, 2008 3:34 AM
 > To: linuxppc-embedded; netdev@vger.kernel.org
 > Subject: [PATCH] Linux Device Driver for Xilinx LL TEMAC 10/100/1000
 EthernetNIC
-> =
-
+> 
 > Pass II
 
-This email and any attachments are intended for the sole use of the named r=
-ecipient(s) and contain(s) confidential information that may be proprietary=
-, privileged or copyrighted under applicable law. If you are not the intend=
-ed recipient, do not read, copy, or forward this email message or any attac=
-hments. Delete this email message and any attachments immediately.
+This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
diff --git a/a/content_digest b/N1/content_digest
index b620814..c8d888d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -15,29 +15,21 @@
  "Thanks for the effort you're putting in on this.\n"
  "\n"
  "> Linux Device Driver for Xilinx LL TEMAC 10/100/1000 Ethernet NIC\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Original Author Yoshio Kashiwagi\n"
  "> Updated and Maintained by David Lynch\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Signed-off-by: David H. Lynch Jr. <dhlii@dlasys.net>\n"
- "> =\n"
- "\n"
+ "> \n"
  "> ---\n"
- "> =\n"
- "\n"
- ">  drivers/net/Kconfig            |    5 =\n"
- "\n"
- ">  drivers/net/Makefile           |    1 =\n"
- "\n"
+ "> \n"
+ ">  drivers/net/Kconfig            |    5 \n"
+ ">  drivers/net/Makefile           |    1 \n"
  ">  drivers/net/xps_lltemac.c      | 1562\n"
  "++++++++++++++++++++++++++++++++++++++++\n"
- ">  include/linux/xilinx_devices.h |    2 =\n"
- "\n"
+ ">  include/linux/xilinx_devices.h |    2 \n"
  ">  4 files changed, 1569 insertions(+), 1 deletions(-)\n"
- "> =\n"
- "\n"
+ "> \n"
  "> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig\n"
  "> index 033e13f..71b4c17 100644\n"
  "> --- a/drivers/net/Kconfig\n"
@@ -45,8 +37,7 @@
  "> @@ -2332,6 +2332,11 @@ config MV643XX_ETH\n"
  ">  \t  Some boards that use the Discovery chipset are the Momenco\n"
  ">  \t  Ocelot C and Jaguar ATX and Pegasos II.\n"
- ">  =\n"
- "\n"
+ ">  \n"
  "> +config XPS_LLTEMAC\n"
  "> +\ttristate \"Xilinx LLTEMAC 10/100/1000 Ethernet MAC driver\"\n"
  "> +\thelp\n"
@@ -54,8 +45,7 @@
  "Virtex 4 FPGAs\n"
  "\n"
  "It might be helpful to say only in DMA mode as our traditional drivers\n"
- "support FIFO mode and DMA. =\n"
- "\n"
+ "support FIFO mode and DMA. \n"
  "Since the FPGA is pretty flexible people tend to do things different\n"
  "than I sometimes expect.\n"
  "\n"
@@ -67,15 +57,14 @@
  "> index 1f09934..9196bab 100644\n"
  "> --- a/drivers/net/Makefile\n"
  "> +++ b/drivers/net/Makefile\n"
- "> @@ -126,6 +126,7 @@ obj-$(CONFIG_AX88796) +=3D ax88796.o\n"
- ">  obj-$(CONFIG_TSI108_ETH) +=3D tsi108_eth.o\n"
- ">  obj-$(CONFIG_PICO_TEMAC) +=3D pico_temac.o\n"
- ">  obj-$(CONFIG_MV643XX_ETH) +=3D mv643xx_eth.o\n"
- "> +obj-$(CONFIG_XPS_LLTEMAC) +=3D xps_lltemac.o\n"
- ">  obj-$(CONFIG_QLA3XXX) +=3D qla3xxx.o\n"
- ">  =\n"
- "\n"
- ">  obj-$(CONFIG_PPP) +=3D ppp_generic.o\n"
+ "> @@ -126,6 +126,7 @@ obj-$(CONFIG_AX88796) += ax88796.o\n"
+ ">  obj-$(CONFIG_TSI108_ETH) += tsi108_eth.o\n"
+ ">  obj-$(CONFIG_PICO_TEMAC) += pico_temac.o\n"
+ ">  obj-$(CONFIG_MV643XX_ETH) += mv643xx_eth.o\n"
+ "> +obj-$(CONFIG_XPS_LLTEMAC) += xps_lltemac.o\n"
+ ">  obj-$(CONFIG_QLA3XXX) += qla3xxx.o\n"
+ ">  \n"
+ ">  obj-$(CONFIG_PPP) += ppp_generic.o\n"
  "> diff --git a/drivers/net/xps_lltemac.c b/drivers/net/xps_lltemac.c\n"
  "> new file mode 100644\n"
  "> index 0000000..8af4e7a\n"
@@ -83,10 +72,8 @@
  "> +++ b/drivers/net/xps_lltemac.c\n"
  "> @@ -0,0 +1,1562 @@\n"
  ">\n"
- "+/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n"
- "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n"
- "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n"
- "=3D\n"
+ "+/*=====================================================================\n"
+ "=\n"
  "> +\n"
  "> + Driver for Xilinx temac ethernet NIC's\n"
  "\n"
@@ -104,9 +91,7 @@
  "> + Copyright (C) 2005-2008 DLA Systems\n"
  "> +\n"
  ">\n"
- "+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n"
- "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=\n"
- "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*\n"
+ "+======================================================================*\n"
  "/\n"
  "> +/* DRV_NAME is for compatibility with existing xilinx ll temac driver\n"
  "> + * also with  of/dtc object names */\n"
@@ -151,13 +136,13 @@
  "> +static unsigned int\n"
  "> +mdio_read(struct net_device *ndev, int phy_id, int reg_num)\n"
  "> +{\n"
- "> +\tstruct temac_local *lp =3D netdev_priv(ndev);\n"
- "> +\tu32 timeout =3D PHY_TIMEOUT;\n"
- "> +\tu32 rv =3D 0;\n"
+ "> +\tstruct temac_local *lp = netdev_priv(ndev);\n"
+ "> +\tu32 timeout = PHY_TIMEOUT;\n"
+ "> +\tu32 rv = 0;\n"
  "> +\tunsigned long flags;\n"
  "> +\n"
  "> +\tif ((reg_num >  MII_REG_MAX) ||\n"
- "> +\t\t(phy_id =3D=3D PHY_ADDR_INVALID)) {\n"
+ "> +\t\t(phy_id == PHY_ADDR_INVALID)) {\n"
  "\n"
  "The phy_id never gets set to PHY_ADDR_INVALID, is there something I'm\n"
  "missing or should this be removed?  Maybe this is related to the PHY_NUM\n"
@@ -186,13 +171,13 @@
  "> +\t\t\tXTE_MIIMAI_OFFSET | (lp->emac_num << 10));\n"
  "> +\twhile (!(tior(ndev, XTE_RDY0_OFFSET) & XTE_RSE_MIIM_RR_MASK)) {\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev, \"read_MII busy\n"
  "timeout!!\\n\");\n"
  "> +\t\t\treturn -1;\n"
  "> +\t\t}\n"
  "> +\t}\n"
- "> +\trv =3D tior(ndev, XTE_LSW0_OFFSET);\n"
+ "> +\trv = tior(ndev, XTE_LSW0_OFFSET);\n"
  "> +\n"
  "> +\tspin_unlock_irqrestore(&lp->lock, flags);\n"
  "> +\treturn rv;\n"
@@ -202,12 +187,12 @@
  "> +mdio_write(struct net_device *ndev, int phy_id, int reg_num, int\n"
  "reg_val)\n"
  "> +{\n"
- "> +\tstruct temac_local *lp =3D netdev_priv(ndev);\n"
- "> +\tu32 timeout =3D PHY_TIMEOUT, status;\n"
+ "> +\tstruct temac_local *lp = netdev_priv(ndev);\n"
+ "> +\tu32 timeout = PHY_TIMEOUT, status;\n"
  "> +\tunsigned long flags;\n"
  "> +\n"
  "> +\tif ((reg_num >  MII_REG_MAX) ||\n"
- "> +\t\t(phy_id =3D=3D PHY_ADDR_INVALID)) {\n"
+ "> +\t\t(phy_id == PHY_ADDR_INVALID)) {\n"
  "> +\t\tdev_err(&ndev->dev,\n"
  "> +\t\t\t\"mdio_write(%x, %x)invalid reg_num or invalid\n"
  "phy_id\\n\",\n"
@@ -215,8 +200,7 @@
  "> +\t\treturn -1;\n"
  "\n"
  "The return type is void yet it tries to return -1, should it be int\n"
- "return? =\n"
- "\n"
+ "return? \n"
  "\n"
  "> +\t}\n"
  "> +\n"
@@ -232,10 +216,10 @@
  "> +\t\t\tCNTLREG_WRITE_ENABLE_MASK\n"
  "> +\t\t\t| XTE_MIIMAI_OFFSET\n"
  "> +\t\t\t| (lp->emac_num << 10));\n"
- "> +\twhile (!(status =3D tior(ndev, XTE_RDY0_OFFSET) &\n"
+ "> +\twhile (!(status = tior(ndev, XTE_RDY0_OFFSET) &\n"
  "XTE_RSE_MIIM_WR_MASK)) {\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev, \"write_MII busy\n"
  "timeout!!\\n\");\n"
  "> +\t\t\treturn ;\n"
@@ -252,8 +236,8 @@
  "> +static u32\n"
  "> +emac_cfg_read(struct net_device *ndev, u16 reg_num)\n"
  "> +{\n"
- "> +\tstruct temac_local *lp =3D netdev_priv(ndev);\n"
- "> +\tu32 timeout =3D PHY_TIMEOUT;\n"
+ "> +\tstruct temac_local *lp = netdev_priv(ndev);\n"
+ "> +\tu32 timeout = PHY_TIMEOUT;\n"
  "> +\n"
  "> +\tif (reg_num > TEMAC_REG_MAX) {\n"
  "> +\t\tdev_err(&ndev->dev,\n"
@@ -270,7 +254,7 @@
  "> +\ttiow(ndev, XTE_CTL0_OFFSET, (lp->emac_num << 10) | reg_num);\n"
  "> +\twhile (!(tior(ndev, XTE_RDY0_OFFSET) & XTE_RSE_CFG_RR_MASK)) {\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev, \"read temac busy\n"
  "timeout!!\\n\");\n"
  "> +\t\t\treturn -1;\n"
@@ -283,8 +267,8 @@
  "> +static void\n"
  "> +emac_cfg_write(struct net_device *ndev, u32 reg_num, u32 val)\n"
  "> +{\n"
- "> +\tstruct temac_local *lp =3D netdev_priv(ndev);\n"
- "> +\tu32 timeout =3D PHY_TIMEOUT;\n"
+ "> +\tstruct temac_local *lp = netdev_priv(ndev);\n"
+ "> +\tu32 timeout = PHY_TIMEOUT;\n"
  "> +\n"
  "> +\tif (reg_num > TEMAC_REG_MAX) {\n"
  "> +\t\tdev_err(&ndev->dev,\n"
@@ -295,8 +279,7 @@
  "> +\n"
  "\n"
  "Same thing returning a value when void return, and timeout below again\n"
- "should =\n"
- "\n"
+ "should \n"
  "return failure?  It would seem like these be compiler warnings?\n"
  "\n"
  "> +\ttiow(ndev, XTE_LSW0_OFFSET, val);\n"
@@ -307,7 +290,7 @@
  "> +\t\t\t | reg_num));\n"
  "> +\twhile (!(tior(ndev, XTE_RDY0_OFFSET) & XTE_RSE_CFG_WR_MASK)) {\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev, \"write temac busy\n"
  "timeout!!\\n\");\n"
  "> +\t\t\treturn ;\n"
@@ -335,9 +318,9 @@
  "to be returned.\n"
  "\n"
  "> +\n"
- "> +\tReg =3D emac_cfg_read(ndev, reg_num) & ~val;\n"
+ "> +\tReg = emac_cfg_read(ndev, reg_num) & ~val;\n"
  "> +\tif (flg)\n"
- "> +\t\tReg |=3D val;\n"
+ "> +\t\tReg |= val;\n"
  "> +\temac_cfg_write(ndev, reg_num, Reg);\n"
  "> +\treturn 0;\n"
  "> +}\n"
@@ -348,19 +331,19 @@
  "> +static int\n"
  "> +temac_bd_init(struct net_device *ndev)\n"
  "> +{\n"
- "> +\tstruct temac_local *lp =3D netdev_priv(ndev);\n"
+ "> +\tstruct temac_local *lp = netdev_priv(ndev);\n"
  "> +\tstruct sk_buff *skb;\n"
  "> +\tint ii;\n"
  "> +\n"
- "> +\tlp->rx_skb =3D kzalloc(sizeof(struct sk_buff)*RX_BD_NUM,\n"
+ "> +\tlp->rx_skb = kzalloc(sizeof(struct sk_buff)*RX_BD_NUM,\n"
  "GFP_KERNEL);\n"
  "> +\t/* allocate the tx and rx ring buffer descriptors. */\n"
  "> +\t/* returns a virtual addres and a physical address. */\n"
- "> +\tlp->tx_bd_v =3D dma_alloc_coherent(NULL,\n"
+ "> +\tlp->tx_bd_v = dma_alloc_coherent(NULL,\n"
  "> +\t\t\tsizeof(struct cdmac_bd) * TX_BD_NUM,\n"
  "> +\t\t\t(dma_addr_t *)&lp->tx_bd_p,\n"
  "> +\t\t\tGFP_KERNEL);\n"
- "> +\tlp->rx_bd_v =3D dma_alloc_coherent(NULL,\n"
+ "> +\tlp->rx_bd_v = dma_alloc_coherent(NULL,\n"
  "> +\t\t\tsizeof(struct cdmac_bd) * RX_BD_NUM,\n"
  "> +\t\t\t(dma_addr_t *)&lp->rx_bd_p,\n"
  "> +\t\t\tGFP_KERNEL);\n"
@@ -372,13 +355,13 @@
  "dependency on 4xx might be useful?\n"
  "\n"
  "> +\n"
- "> +\tfor (ii =3D 0; ii < TX_BD_NUM; ii++) {\n"
+ "> +\tfor (ii = 0; ii < TX_BD_NUM; ii++) {\n"
  "> +\t\tmemset((char *)&lp->tx_bd_v[ii], 0, sizeof(struct\n"
  "cdmac_bd));\n"
- "> +\t\tif (ii =3D=3D (TX_BD_NUM - 1))\n"
- "> +\t\t\tlp->tx_bd_v[ii].next =3D &lp->tx_bd_p[0];\n"
+ "> +\t\tif (ii == (TX_BD_NUM - 1))\n"
+ "> +\t\t\tlp->tx_bd_v[ii].next = &lp->tx_bd_p[0];\n"
  "> +\t\telse\n"
- "> +\t\t\tlp->tx_bd_v[ii].next =3D &lp->tx_bd_p[ii + 1];\n"
+ "> +\t\t\tlp->tx_bd_v[ii].next = &lp->tx_bd_p[ii + 1];\n"
  "> +\n"
  "> +\t}\n"
  "\n"
@@ -389,8 +372,8 @@
  "> +static void\n"
  "> +temac_device_reset(struct net_device *ndev)\n"
  "> +{\n"
- "> +\tstruct temac_local *lp =3D netdev_priv(ndev);\n"
- "> +\tu32 timeout =3D 1000;\n"
+ "> +\tstruct temac_local *lp = netdev_priv(ndev);\n"
+ "> +\tu32 timeout = 1000;\n"
  "> +\n"
  "> +\t/* Perform a software reset */\n"
  "> +\n"
@@ -406,7 +389,7 @@
  "> +\twhile (emac_cfg_read(ndev, XTE_RXC1_OFFSET) &\n"
  "XTE_RXC1_RXRST_MASK) {\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev,\n"
  "> +\t\t\t\t\"temac_device_reset RX reset\n"
  "timeout!!\\n\");\n"
@@ -416,11 +399,11 @@
  "> +\n"
  "> +\temac_cfg_write(ndev, XTE_TXC_OFFSET, XTE_TXC_TXRST_MASK);\n"
  "> +\t/* Wait for the transmitter to finish reset */\n"
- "> +\ttimeout =3D 1000;\n"
+ "> +\ttimeout = 1000;\n"
  "> +\twhile (emac_cfg_read(ndev, XTE_TXC_OFFSET) & XTE_TXC_TXRST_MASK)\n"
  "{\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev,\n"
  "> +\t\t\t\t\"temac_device_reset TX reset\n"
  "timeout!!\\n\");\n"
@@ -437,10 +420,10 @@
  "> +\t/* reset */\n"
  "> +\ttiow(ndev, XTE_RAF0_OFFSET, 1);\n"
  "> +\t/* wait for reset */\n"
- "> +\ttimeout =3D 1000;\n"
+ "> +\ttimeout = 1000;\n"
  "> +\twhile (tior(ndev, XTE_RAF0_OFFSET) & 1) {\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev,\n"
  "> +\t\t\t\t\"temac_device_reset RAF reset\n"
  "timeout!!\\n\");\n"
@@ -452,15 +435,15 @@
  "> +\t/* b1         autoneg complete */\n"
  "> +\t/* b2         receive complete */\n"
  "> +\t/* b5         transmit complete */\n"
- "> +\t/* b0       =3D interrupts from TIS/TIE registers */\n"
+ "> +\t/* b0       = interrupts from TIS/TIE registers */\n"
  "> +\n"
  "> +\n"
  "> +\t/* Reset */\n"
  "> +\tsd_iow(ndev, DMA_CONTROL_REG, DMA_CONTROL_RST);\n"
- "> +\ttimeout =3D 1000;\n"
+ "> +\ttimeout = 1000;\n"
  "> +\twhile (sd_ior(ndev, DMA_CONTROL_REG) & DMA_CONTROL_RST) {\n"
  "> +\t\tudelay(1);\n"
- "> +\t\tif (--timeout =3D=3D 0) {\n"
+ "> +\t\tif (--timeout == 0) {\n"
  "> +\t\t\tdev_err(&ndev->dev,\n"
  "> +\t\t\t\t\"temac_device_reset DMA reset\n"
  "timeout!!\\n\");\n"
@@ -500,7 +483,7 @@
  "> +\t\tdev_err(&ndev->dev, \"Error setting TEMAC options\\n\");\n"
  "> +\n"
  "> +\t/* Init Driver variable */\n"
- "> +\tndev->trans_start =3D 0;\n"
+ "> +\tndev->trans_start = 0;\n"
  "> +\tspin_lock_init(&lp->lock);\n"
  "> +\tspin_lock_init(&lp->rx_lock);\n"
  "> +}\n"
@@ -508,12 +491,12 @@
  "> +static void\n"
  "> +temac_hard_start_xmit_done(struct net_device *ndev)\n"
  "> +{\n"
- "> +\tstruct temac_local *lp =3D netdev_priv(ndev);\n"
+ "> +\tstruct temac_local *lp = netdev_priv(ndev);\n"
  "> +\tstruct cdmac_bd *cur_p;\n"
- "> +\tunsigned int stat =3D 0;\n"
+ "> +\tunsigned int stat = 0;\n"
  "> +\n"
- "> +\tcur_p =3D &lp->tx_bd_v[lp->tx_bd_ci];\n"
- "> +\tstat =3D cur_p->app0;\n"
+ "> +\tcur_p = &lp->tx_bd_v[lp->tx_bd_ci];\n"
+ "> +\tstat = cur_p->app0;\n"
  "> +\n"
  "> +\twhile (stat & STS_CTRL_APP0_CMPLT) {\n"
  "> +\t\tpci_unmap_single(NULL,\n"
@@ -522,8 +505,7 @@
  "> +\t\t\t\tPCI_DMA_TODEVICE);\n"
  "\n"
  "It seems like the PCI calls would be better replaced with\n"
- "dma_unmap_single() =\n"
- "\n"
+ "dma_unmap_single() \n"
  "and dma_map_single to be more accurate and probably less overhead?\n"
  "\n"
  "The dma functions, not sure on the pci, should handle when we change the\n"
@@ -533,17 +515,17 @@
  "> +\t\tif (cur_p->app4)\n"
  "> +\t\t\tdev_kfree_skb_irq((struct sk_buff\n"
  "*)cur_p->app4);\n"
- "> +\t\tcur_p->app0 =3D 0;\n"
+ "> +\t\tcur_p->app0 = 0;\n"
  "> +\n"
  "> +\t\tlp->stats.tx_packets++;\n"
- "> +\t\tlp->stats.tx_bytes +=3D cur_p->len;\n"
+ "> +\t\tlp->stats.tx_bytes += cur_p->len;\n"
  "> +\n"
  "> +\t\tlp->tx_bd_ci++;\n"
- "> +\t\tif (lp->tx_bd_ci >=3D TX_BD_NUM)\n"
- "> +\t\t\tlp->tx_bd_ci =3D 0;\n"
+ "> +\t\tif (lp->tx_bd_ci >= TX_BD_NUM)\n"
+ "> +\t\t\tlp->tx_bd_ci = 0;\n"
  "> +\n"
- "> +\t\tcur_p =3D &lp->tx_bd_v[lp->tx_bd_ci];\n"
- "> +\t\tstat =3D cur_p->app0;\n"
+ "> +\t\tcur_p = &lp->tx_bd_v[lp->tx_bd_ci];\n"
+ "> +\t\tstat = cur_p->app0;\n"
  "> +\t}\n"
  "> +\n"
  "> +\tnetif_wake_queue(ndev);\n"
@@ -558,34 +540,33 @@
  "> +\t\tint num, struct temac_region *reg)\n"
  "> +{\n"
  "> +\tstruct resource *res;\n"
- "> +\tint erC =3D 0;\n"
+ "> +\tint erC = 0;\n"
  "> +\n"
- "> +\tres =3D platform_get_resource(pdev, IORESOURCE_MEM, num);\n"
- "> +\tif (res =3D=3D 0) {\n"
- "> +\t\terC =3D -ENODEV;\n"
+ "> +\tres = platform_get_resource(pdev, IORESOURCE_MEM, num);\n"
+ "> +\tif (res == 0) {\n"
+ "> +\t\terC = -ENODEV;\n"
  "> +\t\tgoto fail;\n"
  "> +\t}\n"
  "> +\tif (request_mem_region(res->start, res->end - res->start,\n"
- "> +\t\t\t\tpdev->name) =3D=3D 0) {\n"
+ "> +\t\t\t\tpdev->name) == 0) {\n"
  "> +\t\tdev_err(&pdev->dev,\n"
  "> +\t\t\t\t\"%s: failed to request registers\\n\",\n"
  "> +\t\t\t\tpdev->name);\n"
- "> +\t\terC =3D -ENXIO;\n"
+ "> +\t\terC = -ENXIO;\n"
  "> +\t\tgoto fail;\n"
  "> +\t}\n"
  "> +\n"
- "> +\treg->base =3D (uintptr_t)res->start;\n"
- "> +\treg->len  =3D res->end - res->start;\n"
- "\n"
- "Should this really be res->end - res->start + 1 to include the =\n"
+ "> +\treg->base = (uintptr_t)res->start;\n"
+ "> +\treg->len  = res->end - res->start;\n"
  "\n"
+ "Should this really be res->end - res->start + 1 to include the \n"
  "memory region?  It's also used up above in the mem_region call.\n"
  "\n"
- "> +\treg->addr =3D ioremap_nocache((uintptr_t)reg->base, reg->len);\n"
- "> +\tif (reg->addr =3D=3D 0) {\n"
+ "> +\treg->addr = ioremap_nocache((uintptr_t)reg->base, reg->len);\n"
+ "> +\tif (reg->addr == 0) {\n"
  "> +\t\tdev_err(&pdev->dev,\n"
  "> +\t\t\t\"%s: failed to remap registers\\n\", pdev->name);\n"
- "> +\t\terC =3D -ENXIO;\n"
+ "> +\t\terC = -ENXIO;\n"
  "> +\t\tgoto fail_remap;\n"
  "> +\t}\n"
  "> +\treturn 0;\n"
@@ -598,22 +579,17 @@
  "<snip>\n"
  "\n"
  "> -----Original Message-----\n"
- "> From: linuxppc-embedded-bounces+john.linn=3Dxilinx.com@ozlabs.org\n"
+ "> From: linuxppc-embedded-bounces+john.linn=xilinx.com@ozlabs.org\n"
  "[mailto:linuxppc-embedded-\n"
- "> bounces+john.linn=3Dxilinx.com@ozlabs.org] On Behalf Of David H. Lynch\n"
+ "> bounces+john.linn=xilinx.com@ozlabs.org] On Behalf Of David H. Lynch\n"
  "Jr.\n"
  "> Sent: Tuesday, August 19, 2008 3:34 AM\n"
  "> To: linuxppc-embedded; netdev@vger.kernel.org\n"
  "> Subject: [PATCH] Linux Device Driver for Xilinx LL TEMAC 10/100/1000\n"
  "EthernetNIC\n"
- "> =\n"
- "\n"
+ "> \n"
  "> Pass II\n"
  "\n"
- "This email and any attachments are intended for the sole use of the named r=\n"
- "ecipient(s) and contain(s) confidential information that may be proprietary=\n"
- ", privileged or copyrighted under applicable law. If you are not the intend=\n"
- "ed recipient, do not read, copy, or forward this email message or any attac=\n"
- hments. Delete this email message and any attachments immediately.
+ This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
 
-e6bdef351f4fc09e6a37c282832e76c879b806890792db35713c9c934825b970
+fb8521a18078a55ea445018d40511c053fc2b0be0db3d8d71b9b81a371061794

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.