diff mbox

[14/19] tulip: convert drivers to netdev_tx_t

Message ID 20090901055129.814907029@vyatta.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

stephen hemminger Sept. 1, 2009, 5:50 a.m. UTC
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
---
 drivers/net/tulip/de2104x.c     |    3 ++-
 drivers/net/tulip/de4x5.c       |   11 +++++------
 drivers/net/tulip/dmfe.c        |    5 +++--
 drivers/net/tulip/tulip_core.c  |    5 +++--
 drivers/net/tulip/uli526x.c     |    6 ++++--
 drivers/net/tulip/winbond-840.c |    4 ++--
 drivers/net/tulip/xircom_cb.c   |    6 ++++--
 7 files changed, 23 insertions(+), 17 deletions(-)

Comments

Grant Grundler Sept. 2, 2009, 5:48 a.m. UTC | #1
On Mon, Aug 31, 2009 at 10:50:53PM -0700, Stephen Hemminger wrote:
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> ---
>  drivers/net/tulip/de2104x.c     |    3 ++-
>  drivers/net/tulip/de4x5.c       |   11 +++++------
>  drivers/net/tulip/dmfe.c        |    5 +++--
>  drivers/net/tulip/tulip_core.c  |    5 +++--
>  drivers/net/tulip/uli526x.c     |    6 ++++--
>  drivers/net/tulip/winbond-840.c |    4 ++--
>  drivers/net/tulip/xircom_cb.c   |    6 ++++--
>  7 files changed, 23 insertions(+), 17 deletions(-)
> 
> --- a/drivers/net/tulip/de2104x.c	2009-08-29 23:10:19.609527457 -0700
> +++ b/drivers/net/tulip/de2104x.c	2009-08-29 23:12:54.117527675 -0700
> @@ -599,7 +599,8 @@ next:
>  		netif_wake_queue(de->dev);
>  }
>  
> -static int de_start_xmit (struct sk_buff *skb, struct net_device *dev)
> +static netdev_tx_t de_start_xmit (struct sk_buff *skb,
> +					struct net_device *dev)

Stephen,
The patches look harmless and I'm inclined to ACK them...but google can't find
any context or explanation for "netdev_tx_t". URL to email which proposed
netdev_tx_t?

thanks,
grant
>  {
>  	struct de_private *de = netdev_priv(dev);
>  	unsigned int entry, tx_free;
> --- a/drivers/net/tulip/de4x5.c	2009-08-29 23:10:19.553491700 -0700
> +++ b/drivers/net/tulip/de4x5.c	2009-08-29 23:12:54.125526807 -0700
> @@ -895,7 +895,8 @@ static struct {
>  ** Public Functions
>  */
>  static int     de4x5_open(struct net_device *dev);
> -static int     de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev);
> +static netdev_tx_t de4x5_queue_pkt(struct sk_buff *skb,
> +					 struct net_device *dev);
>  static irqreturn_t de4x5_interrupt(int irq, void *dev_id);
>  static int     de4x5_close(struct net_device *dev);
>  static struct  net_device_stats *de4x5_get_stats(struct net_device *dev);
> @@ -1456,18 +1457,16 @@ de4x5_sw_reset(struct net_device *dev)
>  /*
>  ** Writes a socket buffer address to the next available transmit descriptor.
>  */
> -static int
> +static netdev_tx_t
>  de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
>  {
>      struct de4x5_private *lp = netdev_priv(dev);
>      u_long iobase = dev->base_addr;
> -    int status = NETDEV_TX_OK;
>      u_long flags = 0;
>  
>      netif_stop_queue(dev);
> -    if (!lp->tx_enable) {                   /* Cannot send for now */
> +    if (!lp->tx_enable)                   /* Cannot send for now */
>  	return NETDEV_TX_LOCKED;
> -    }
>  
>      /*
>      ** Clean out the TX ring asynchronously to interrupts - sometimes the
> @@ -1521,7 +1520,7 @@ de4x5_queue_pkt(struct sk_buff *skb, str
>  
>      lp->cache.lock = 0;
>  
> -    return status;
> +    return NETDEV_TX_OK;
>  }
>  
>  /*
> --- a/drivers/net/tulip/dmfe.c	2009-08-29 23:10:19.521492310 -0700
> +++ b/drivers/net/tulip/dmfe.c	2009-08-29 23:12:54.129527736 -0700
> @@ -311,7 +311,7 @@ static u8 SF_mode;		/* Special Function:
>  
>  /* function declaration ------------------------------------- */
>  static int dmfe_open(struct DEVICE *);
> -static int dmfe_start_xmit(struct sk_buff *, struct DEVICE *);
> +static netdev_tx_t dmfe_start_xmit(struct sk_buff *, struct DEVICE *);
>  static int dmfe_stop(struct DEVICE *);
>  static void dmfe_set_filter_mode(struct DEVICE *);
>  static const struct ethtool_ops netdev_ethtool_ops;
> @@ -661,7 +661,8 @@ static void dmfe_init_dm910x(struct DEVI
>   *	Send a packet to media from the upper layer.
>   */
>  
> -static int dmfe_start_xmit(struct sk_buff *skb, struct DEVICE *dev)
> +static netdev_tx_t dmfe_start_xmit(struct sk_buff *skb,
> +					 struct DEVICE *dev)
>  {
>  	struct dmfe_board_info *db = netdev_priv(dev);
>  	struct tx_desc *txptr;
> --- a/drivers/net/tulip/tulip_core.c	2009-08-29 23:10:19.589491808 -0700
> +++ b/drivers/net/tulip/tulip_core.c	2009-08-29 23:12:54.129527736 -0700
> @@ -256,7 +256,8 @@ const char tulip_media_cap[32] =
>  static void tulip_tx_timeout(struct net_device *dev);
>  static void tulip_init_ring(struct net_device *dev);
>  static void tulip_free_ring(struct net_device *dev);
> -static int tulip_start_xmit(struct sk_buff *skb, struct net_device *dev);
> +static netdev_tx_t tulip_start_xmit(struct sk_buff *skb,
> +					  struct net_device *dev);
>  static int tulip_open(struct net_device *dev);
>  static int tulip_close(struct net_device *dev);
>  static void tulip_up(struct net_device *dev);
> @@ -645,7 +646,7 @@ static void tulip_init_ring(struct net_d
>  	tp->tx_ring[i-1].buffer2 = cpu_to_le32(tp->tx_ring_dma);
>  }
>  
> -static int
> +static netdev_tx_t
>  tulip_start_xmit(struct sk_buff *skb, struct net_device *dev)
>  {
>  	struct tulip_private *tp = netdev_priv(dev);
> --- a/drivers/net/tulip/uli526x.c	2009-08-29 23:10:19.637530461 -0700
> +++ b/drivers/net/tulip/uli526x.c	2009-08-29 23:12:54.133492067 -0700
> @@ -215,7 +215,8 @@ static int mode = 8;
>  
>  /* function declaration ------------------------------------- */
>  static int uli526x_open(struct net_device *);
> -static int uli526x_start_xmit(struct sk_buff *, struct net_device *);
> +static netdev_tx_t uli526x_start_xmit(struct sk_buff *,
> +					    struct net_device *);
>  static int uli526x_stop(struct net_device *);
>  static void uli526x_set_filter_mode(struct net_device *);
>  static const struct ethtool_ops netdev_ethtool_ops;
> @@ -567,7 +568,8 @@ static void uli526x_init(struct net_devi
>   *	Send a packet to media from the upper layer.
>   */
>  
> -static int uli526x_start_xmit(struct sk_buff *skb, struct net_device *dev)
> +static netdev_tx_t uli526x_start_xmit(struct sk_buff *skb,
> +					    struct net_device *dev)
>  {
>  	struct uli526x_board_info *db = netdev_priv(dev);
>  	struct tx_desc *txptr;
> --- a/drivers/net/tulip/winbond-840.c	2009-08-29 23:10:19.537492110 -0700
> +++ b/drivers/net/tulip/winbond-840.c	2009-08-29 23:12:54.133492067 -0700
> @@ -333,7 +333,7 @@ static void init_registers(struct net_de
>  static void tx_timeout(struct net_device *dev);
>  static int alloc_ringdesc(struct net_device *dev);
>  static void free_ringdesc(struct netdev_private *np);
> -static int  start_tx(struct sk_buff *skb, struct net_device *dev);
> +static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev);
>  static irqreturn_t intr_handler(int irq, void *dev_instance);
>  static void netdev_error(struct net_device *dev, int intr_status);
>  static int  netdev_rx(struct net_device *dev);
> @@ -997,7 +997,7 @@ static void free_ringdesc(struct netdev_
>  
>  }
>  
> -static int start_tx(struct sk_buff *skb, struct net_device *dev)
> +static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev)
>  {
>  	struct netdev_private *np = netdev_priv(dev);
>  	unsigned entry;
> --- a/drivers/net/tulip/xircom_cb.c	2009-08-29 23:10:19.505491812 -0700
> +++ b/drivers/net/tulip/xircom_cb.c	2009-08-29 23:12:54.137512691 -0700
> @@ -113,7 +113,8 @@ struct xircom_private {
>  static int xircom_probe(struct pci_dev *pdev, const struct pci_device_id *id);
>  static void xircom_remove(struct pci_dev *pdev);
>  static irqreturn_t xircom_interrupt(int irq, void *dev_instance);
> -static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
> +static netdev_tx_t xircom_start_xmit(struct sk_buff *skb,
> +					   struct net_device *dev);
>  static int xircom_open(struct net_device *dev);
>  static int xircom_close(struct net_device *dev);
>  static void xircom_up(struct xircom_private *card);
> @@ -384,7 +385,8 @@ static irqreturn_t xircom_interrupt(int 
>  	return IRQ_HANDLED;
>  }
>  
> -static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev)
> +static netdev_tx_t xircom_start_xmit(struct sk_buff *skb,
> +					   struct net_device *dev)
>  {
>  	struct xircom_private *card;
>  	unsigned long flags;
> 
> -- 
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
stephen hemminger Sept. 2, 2009, 6:04 a.m. UTC | #2
On Tue, 1 Sep 2009 23:48:01 -0600
Grant Grundler <grundler@parisc-linux.org> wrote:

> On Mon, Aug 31, 2009 at 10:50:53PM -0700, Stephen Hemminger wrote:
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> > ---
> >  drivers/net/tulip/de2104x.c     |    3 ++-
> >  drivers/net/tulip/de4x5.c       |   11 +++++------
> >  drivers/net/tulip/dmfe.c        |    5 +++--
> >  drivers/net/tulip/tulip_core.c  |    5 +++--
> >  drivers/net/tulip/uli526x.c     |    6 ++++--
> >  drivers/net/tulip/winbond-840.c |    4 ++--
> >  drivers/net/tulip/xircom_cb.c   |    6 ++++--
> >  7 files changed, 23 insertions(+), 17 deletions(-)
> > 
> > --- a/drivers/net/tulip/de2104x.c	2009-08-29 23:10:19.609527457 -0700
> > +++ b/drivers/net/tulip/de2104x.c	2009-08-29 23:12:54.117527675 -0700
> > @@ -599,7 +599,8 @@ next:
> >  		netif_wake_queue(de->dev);
> >  }
> >  
> > -static int de_start_xmit (struct sk_buff *skb, struct net_device *dev)
> > +static netdev_tx_t de_start_xmit (struct sk_buff *skb,
> > +					struct net_device *dev)
> 
> Stephen,
> The patches look harmless and I'm inclined to ACK them...but google can't find
> any context or explanation for "netdev_tx_t". URL to email which proposed
> netdev_tx_t?
> 
> thanks,
> grant

From patch series intro:

> This is a little change over a lot of files. It changes the
> return value of network device transmit from an integer to
> an enum type (like irqreturn_t).  This allows compiler to warn
> about stupid code that tries to return -ENOBUFS or other mistakes
> like that. All the code that did that is gone, but it would
> be better to try and do some decent type checking.
> 
> This patch converts all the x86 drivers (except staging).
> Other drivers will work but produce a warning until converted.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Grant Grundler Sept. 2, 2009, 6:08 a.m. UTC | #3
On Tue, Sep 01, 2009 at 11:48:01PM -0600, Grant Grundler wrote:
> On Mon, Aug 31, 2009 at 10:50:53PM -0700, Stephen Hemminger wrote:
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> > ---
> >  drivers/net/tulip/de2104x.c     |    3 ++-
> >  drivers/net/tulip/de4x5.c       |   11 +++++------
> >  drivers/net/tulip/dmfe.c        |    5 +++--
> >  drivers/net/tulip/tulip_core.c  |    5 +++--
> >  drivers/net/tulip/uli526x.c     |    6 ++++--
> >  drivers/net/tulip/winbond-840.c |    4 ++--
> >  drivers/net/tulip/xircom_cb.c   |    6 ++++--
> >  7 files changed, 23 insertions(+), 17 deletions(-)
> > 
> > --- a/drivers/net/tulip/de2104x.c	2009-08-29 23:10:19.609527457 -0700
> > +++ b/drivers/net/tulip/de2104x.c	2009-08-29 23:12:54.117527675 -0700
> > @@ -599,7 +599,8 @@ next:
> >  		netif_wake_queue(de->dev);
> >  }
> >  
> > -static int de_start_xmit (struct sk_buff *skb, struct net_device *dev)
> > +static netdev_tx_t de_start_xmit (struct sk_buff *skb,
> > +					struct net_device *dev)
> 
> Stephen,
> The patches look harmless and I'm inclined to ACK them...but google can't find
> any context or explanation for "netdev_tx_t". URL to email which proposed
> netdev_tx_t?

Finally found it...archives just had to catch up:
    http://thread.gmane.org/gmane.linux.network/136658/

ACKed-by: Grant Grundler <grundler@parisc-linux.org>

thanks,
grant

> 
> thanks,
> grant
> >  {
> >  	struct de_private *de = netdev_priv(dev);
> >  	unsigned int entry, tx_free;
> > --- a/drivers/net/tulip/de4x5.c	2009-08-29 23:10:19.553491700 -0700
> > +++ b/drivers/net/tulip/de4x5.c	2009-08-29 23:12:54.125526807 -0700
> > @@ -895,7 +895,8 @@ static struct {
> >  ** Public Functions
> >  */
> >  static int     de4x5_open(struct net_device *dev);
> > -static int     de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev);
> > +static netdev_tx_t de4x5_queue_pkt(struct sk_buff *skb,
> > +					 struct net_device *dev);
> >  static irqreturn_t de4x5_interrupt(int irq, void *dev_id);
> >  static int     de4x5_close(struct net_device *dev);
> >  static struct  net_device_stats *de4x5_get_stats(struct net_device *dev);
> > @@ -1456,18 +1457,16 @@ de4x5_sw_reset(struct net_device *dev)
> >  /*
> >  ** Writes a socket buffer address to the next available transmit descriptor.
> >  */
> > -static int
> > +static netdev_tx_t
> >  de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
> >  {
> >      struct de4x5_private *lp = netdev_priv(dev);
> >      u_long iobase = dev->base_addr;
> > -    int status = NETDEV_TX_OK;
> >      u_long flags = 0;
> >  
> >      netif_stop_queue(dev);
> > -    if (!lp->tx_enable) {                   /* Cannot send for now */
> > +    if (!lp->tx_enable)                   /* Cannot send for now */
> >  	return NETDEV_TX_LOCKED;
> > -    }
> >  
> >      /*
> >      ** Clean out the TX ring asynchronously to interrupts - sometimes the
> > @@ -1521,7 +1520,7 @@ de4x5_queue_pkt(struct sk_buff *skb, str
> >  
> >      lp->cache.lock = 0;
> >  
> > -    return status;
> > +    return NETDEV_TX_OK;
> >  }
> >  
> >  /*
> > --- a/drivers/net/tulip/dmfe.c	2009-08-29 23:10:19.521492310 -0700
> > +++ b/drivers/net/tulip/dmfe.c	2009-08-29 23:12:54.129527736 -0700
> > @@ -311,7 +311,7 @@ static u8 SF_mode;		/* Special Function:
> >  
> >  /* function declaration ------------------------------------- */
> >  static int dmfe_open(struct DEVICE *);
> > -static int dmfe_start_xmit(struct sk_buff *, struct DEVICE *);
> > +static netdev_tx_t dmfe_start_xmit(struct sk_buff *, struct DEVICE *);
> >  static int dmfe_stop(struct DEVICE *);
> >  static void dmfe_set_filter_mode(struct DEVICE *);
> >  static const struct ethtool_ops netdev_ethtool_ops;
> > @@ -661,7 +661,8 @@ static void dmfe_init_dm910x(struct DEVI
> >   *	Send a packet to media from the upper layer.
> >   */
> >  
> > -static int dmfe_start_xmit(struct sk_buff *skb, struct DEVICE *dev)
> > +static netdev_tx_t dmfe_start_xmit(struct sk_buff *skb,
> > +					 struct DEVICE *dev)
> >  {
> >  	struct dmfe_board_info *db = netdev_priv(dev);
> >  	struct tx_desc *txptr;
> > --- a/drivers/net/tulip/tulip_core.c	2009-08-29 23:10:19.589491808 -0700
> > +++ b/drivers/net/tulip/tulip_core.c	2009-08-29 23:12:54.129527736 -0700
> > @@ -256,7 +256,8 @@ const char tulip_media_cap[32] =
> >  static void tulip_tx_timeout(struct net_device *dev);
> >  static void tulip_init_ring(struct net_device *dev);
> >  static void tulip_free_ring(struct net_device *dev);
> > -static int tulip_start_xmit(struct sk_buff *skb, struct net_device *dev);
> > +static netdev_tx_t tulip_start_xmit(struct sk_buff *skb,
> > +					  struct net_device *dev);
> >  static int tulip_open(struct net_device *dev);
> >  static int tulip_close(struct net_device *dev);
> >  static void tulip_up(struct net_device *dev);
> > @@ -645,7 +646,7 @@ static void tulip_init_ring(struct net_d
> >  	tp->tx_ring[i-1].buffer2 = cpu_to_le32(tp->tx_ring_dma);
> >  }
> >  
> > -static int
> > +static netdev_tx_t
> >  tulip_start_xmit(struct sk_buff *skb, struct net_device *dev)
> >  {
> >  	struct tulip_private *tp = netdev_priv(dev);
> > --- a/drivers/net/tulip/uli526x.c	2009-08-29 23:10:19.637530461 -0700
> > +++ b/drivers/net/tulip/uli526x.c	2009-08-29 23:12:54.133492067 -0700
> > @@ -215,7 +215,8 @@ static int mode = 8;
> >  
> >  /* function declaration ------------------------------------- */
> >  static int uli526x_open(struct net_device *);
> > -static int uli526x_start_xmit(struct sk_buff *, struct net_device *);
> > +static netdev_tx_t uli526x_start_xmit(struct sk_buff *,
> > +					    struct net_device *);
> >  static int uli526x_stop(struct net_device *);
> >  static void uli526x_set_filter_mode(struct net_device *);
> >  static const struct ethtool_ops netdev_ethtool_ops;
> > @@ -567,7 +568,8 @@ static void uli526x_init(struct net_devi
> >   *	Send a packet to media from the upper layer.
> >   */
> >  
> > -static int uli526x_start_xmit(struct sk_buff *skb, struct net_device *dev)
> > +static netdev_tx_t uli526x_start_xmit(struct sk_buff *skb,
> > +					    struct net_device *dev)
> >  {
> >  	struct uli526x_board_info *db = netdev_priv(dev);
> >  	struct tx_desc *txptr;
> > --- a/drivers/net/tulip/winbond-840.c	2009-08-29 23:10:19.537492110 -0700
> > +++ b/drivers/net/tulip/winbond-840.c	2009-08-29 23:12:54.133492067 -0700
> > @@ -333,7 +333,7 @@ static void init_registers(struct net_de
> >  static void tx_timeout(struct net_device *dev);
> >  static int alloc_ringdesc(struct net_device *dev);
> >  static void free_ringdesc(struct netdev_private *np);
> > -static int  start_tx(struct sk_buff *skb, struct net_device *dev);
> > +static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev);
> >  static irqreturn_t intr_handler(int irq, void *dev_instance);
> >  static void netdev_error(struct net_device *dev, int intr_status);
> >  static int  netdev_rx(struct net_device *dev);
> > @@ -997,7 +997,7 @@ static void free_ringdesc(struct netdev_
> >  
> >  }
> >  
> > -static int start_tx(struct sk_buff *skb, struct net_device *dev)
> > +static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev)
> >  {
> >  	struct netdev_private *np = netdev_priv(dev);
> >  	unsigned entry;
> > --- a/drivers/net/tulip/xircom_cb.c	2009-08-29 23:10:19.505491812 -0700
> > +++ b/drivers/net/tulip/xircom_cb.c	2009-08-29 23:12:54.137512691 -0700
> > @@ -113,7 +113,8 @@ struct xircom_private {
> >  static int xircom_probe(struct pci_dev *pdev, const struct pci_device_id *id);
> >  static void xircom_remove(struct pci_dev *pdev);
> >  static irqreturn_t xircom_interrupt(int irq, void *dev_instance);
> > -static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
> > +static netdev_tx_t xircom_start_xmit(struct sk_buff *skb,
> > +					   struct net_device *dev);
> >  static int xircom_open(struct net_device *dev);
> >  static int xircom_close(struct net_device *dev);
> >  static void xircom_up(struct xircom_private *card);
> > @@ -384,7 +385,8 @@ static irqreturn_t xircom_interrupt(int 
> >  	return IRQ_HANDLED;
> >  }
> >  
> > -static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev)
> > +static netdev_tx_t xircom_start_xmit(struct sk_buff *skb,
> > +					   struct net_device *dev)
> >  {
> >  	struct xircom_private *card;
> >  	unsigned long flags;
> > 
> > -- 
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/drivers/net/tulip/de2104x.c	2009-08-29 23:10:19.609527457 -0700
+++ b/drivers/net/tulip/de2104x.c	2009-08-29 23:12:54.117527675 -0700
@@ -599,7 +599,8 @@  next:
 		netif_wake_queue(de->dev);
 }
 
-static int de_start_xmit (struct sk_buff *skb, struct net_device *dev)
+static netdev_tx_t de_start_xmit (struct sk_buff *skb,
+					struct net_device *dev)
 {
 	struct de_private *de = netdev_priv(dev);
 	unsigned int entry, tx_free;
--- a/drivers/net/tulip/de4x5.c	2009-08-29 23:10:19.553491700 -0700
+++ b/drivers/net/tulip/de4x5.c	2009-08-29 23:12:54.125526807 -0700
@@ -895,7 +895,8 @@  static struct {
 ** Public Functions
 */
 static int     de4x5_open(struct net_device *dev);
-static int     de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev);
+static netdev_tx_t de4x5_queue_pkt(struct sk_buff *skb,
+					 struct net_device *dev);
 static irqreturn_t de4x5_interrupt(int irq, void *dev_id);
 static int     de4x5_close(struct net_device *dev);
 static struct  net_device_stats *de4x5_get_stats(struct net_device *dev);
@@ -1456,18 +1457,16 @@  de4x5_sw_reset(struct net_device *dev)
 /*
 ** Writes a socket buffer address to the next available transmit descriptor.
 */
-static int
+static netdev_tx_t
 de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
 {
     struct de4x5_private *lp = netdev_priv(dev);
     u_long iobase = dev->base_addr;
-    int status = NETDEV_TX_OK;
     u_long flags = 0;
 
     netif_stop_queue(dev);
-    if (!lp->tx_enable) {                   /* Cannot send for now */
+    if (!lp->tx_enable)                   /* Cannot send for now */
 	return NETDEV_TX_LOCKED;
-    }
 
     /*
     ** Clean out the TX ring asynchronously to interrupts - sometimes the
@@ -1521,7 +1520,7 @@  de4x5_queue_pkt(struct sk_buff *skb, str
 
     lp->cache.lock = 0;
 
-    return status;
+    return NETDEV_TX_OK;
 }
 
 /*
--- a/drivers/net/tulip/dmfe.c	2009-08-29 23:10:19.521492310 -0700
+++ b/drivers/net/tulip/dmfe.c	2009-08-29 23:12:54.129527736 -0700
@@ -311,7 +311,7 @@  static u8 SF_mode;		/* Special Function:
 
 /* function declaration ------------------------------------- */
 static int dmfe_open(struct DEVICE *);
-static int dmfe_start_xmit(struct sk_buff *, struct DEVICE *);
+static netdev_tx_t dmfe_start_xmit(struct sk_buff *, struct DEVICE *);
 static int dmfe_stop(struct DEVICE *);
 static void dmfe_set_filter_mode(struct DEVICE *);
 static const struct ethtool_ops netdev_ethtool_ops;
@@ -661,7 +661,8 @@  static void dmfe_init_dm910x(struct DEVI
  *	Send a packet to media from the upper layer.
  */
 
-static int dmfe_start_xmit(struct sk_buff *skb, struct DEVICE *dev)
+static netdev_tx_t dmfe_start_xmit(struct sk_buff *skb,
+					 struct DEVICE *dev)
 {
 	struct dmfe_board_info *db = netdev_priv(dev);
 	struct tx_desc *txptr;
--- a/drivers/net/tulip/tulip_core.c	2009-08-29 23:10:19.589491808 -0700
+++ b/drivers/net/tulip/tulip_core.c	2009-08-29 23:12:54.129527736 -0700
@@ -256,7 +256,8 @@  const char tulip_media_cap[32] =
 static void tulip_tx_timeout(struct net_device *dev);
 static void tulip_init_ring(struct net_device *dev);
 static void tulip_free_ring(struct net_device *dev);
-static int tulip_start_xmit(struct sk_buff *skb, struct net_device *dev);
+static netdev_tx_t tulip_start_xmit(struct sk_buff *skb,
+					  struct net_device *dev);
 static int tulip_open(struct net_device *dev);
 static int tulip_close(struct net_device *dev);
 static void tulip_up(struct net_device *dev);
@@ -645,7 +646,7 @@  static void tulip_init_ring(struct net_d
 	tp->tx_ring[i-1].buffer2 = cpu_to_le32(tp->tx_ring_dma);
 }
 
-static int
+static netdev_tx_t
 tulip_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
 	struct tulip_private *tp = netdev_priv(dev);
--- a/drivers/net/tulip/uli526x.c	2009-08-29 23:10:19.637530461 -0700
+++ b/drivers/net/tulip/uli526x.c	2009-08-29 23:12:54.133492067 -0700
@@ -215,7 +215,8 @@  static int mode = 8;
 
 /* function declaration ------------------------------------- */
 static int uli526x_open(struct net_device *);
-static int uli526x_start_xmit(struct sk_buff *, struct net_device *);
+static netdev_tx_t uli526x_start_xmit(struct sk_buff *,
+					    struct net_device *);
 static int uli526x_stop(struct net_device *);
 static void uli526x_set_filter_mode(struct net_device *);
 static const struct ethtool_ops netdev_ethtool_ops;
@@ -567,7 +568,8 @@  static void uli526x_init(struct net_devi
  *	Send a packet to media from the upper layer.
  */
 
-static int uli526x_start_xmit(struct sk_buff *skb, struct net_device *dev)
+static netdev_tx_t uli526x_start_xmit(struct sk_buff *skb,
+					    struct net_device *dev)
 {
 	struct uli526x_board_info *db = netdev_priv(dev);
 	struct tx_desc *txptr;
--- a/drivers/net/tulip/winbond-840.c	2009-08-29 23:10:19.537492110 -0700
+++ b/drivers/net/tulip/winbond-840.c	2009-08-29 23:12:54.133492067 -0700
@@ -333,7 +333,7 @@  static void init_registers(struct net_de
 static void tx_timeout(struct net_device *dev);
 static int alloc_ringdesc(struct net_device *dev);
 static void free_ringdesc(struct netdev_private *np);
-static int  start_tx(struct sk_buff *skb, struct net_device *dev);
+static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev);
 static irqreturn_t intr_handler(int irq, void *dev_instance);
 static void netdev_error(struct net_device *dev, int intr_status);
 static int  netdev_rx(struct net_device *dev);
@@ -997,7 +997,7 @@  static void free_ringdesc(struct netdev_
 
 }
 
-static int start_tx(struct sk_buff *skb, struct net_device *dev)
+static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev)
 {
 	struct netdev_private *np = netdev_priv(dev);
 	unsigned entry;
--- a/drivers/net/tulip/xircom_cb.c	2009-08-29 23:10:19.505491812 -0700
+++ b/drivers/net/tulip/xircom_cb.c	2009-08-29 23:12:54.137512691 -0700
@@ -113,7 +113,8 @@  struct xircom_private {
 static int xircom_probe(struct pci_dev *pdev, const struct pci_device_id *id);
 static void xircom_remove(struct pci_dev *pdev);
 static irqreturn_t xircom_interrupt(int irq, void *dev_instance);
-static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
+static netdev_tx_t xircom_start_xmit(struct sk_buff *skb,
+					   struct net_device *dev);
 static int xircom_open(struct net_device *dev);
 static int xircom_close(struct net_device *dev);
 static void xircom_up(struct xircom_private *card);
@@ -384,7 +385,8 @@  static irqreturn_t xircom_interrupt(int 
 	return IRQ_HANDLED;
 }
 
-static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev)
+static netdev_tx_t xircom_start_xmit(struct sk_buff *skb,
+					   struct net_device *dev)
 {
 	struct xircom_private *card;
 	unsigned long flags;