diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2009-08-31 15:50:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-09-01 04:13:07 -0400 |
commit | 6fef4c0c8eeff7de13007a5f56113475444a253d (patch) | |
tree | 216bafb88ab84c5e0a048598cd6c05f7eb8f438d | |
parent | dc1f8bf68b311b1537cb65893430b6796118498a (diff) |
netdev: convert pseudo-devices to netdev_tx_t
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/ieee1394/eth1394.c | 14 | ||||
-rw-r--r-- | net/8021q/vlan_dev.c | 7 | ||||
-rw-r--r-- | net/bluetooth/bnep/netdev.c | 3 | ||||
-rw-r--r-- | net/bridge/br_device.c | 2 | ||||
-rw-r--r-- | net/bridge/br_private.h | 3 | ||||
-rw-r--r-- | net/core/pktgen.c | 2 | ||||
-rw-r--r-- | net/dsa/dsa_priv.h | 6 | ||||
-rw-r--r-- | net/dsa/tag_dsa.c | 2 | ||||
-rw-r--r-- | net/dsa/tag_edsa.c | 2 | ||||
-rw-r--r-- | net/dsa/tag_trailer.c | 2 | ||||
-rw-r--r-- | net/ipv4/ip_gre.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipip.c | 2 | ||||
-rw-r--r-- | net/ipv4/ipmr.c | 2 | ||||
-rw-r--r-- | net/ipv6/ip6_tunnel.c | 2 | ||||
-rw-r--r-- | net/ipv6/ip6mr.c | 3 | ||||
-rw-r--r-- | net/ipv6/sit.c | 3 | ||||
-rw-r--r-- | net/sched/sch_teql.c | 4 |
17 files changed, 30 insertions, 31 deletions
diff --git a/drivers/ieee1394/eth1394.c b/drivers/ieee1394/eth1394.c index f5c586c2bba6..1ad8785e398b 100644 --- a/drivers/ieee1394/eth1394.c +++ b/drivers/ieee1394/eth1394.c | |||
@@ -169,7 +169,8 @@ static int ether1394_header_cache(const struct neighbour *neigh, | |||
169 | static void ether1394_header_cache_update(struct hh_cache *hh, | 169 | static void ether1394_header_cache_update(struct hh_cache *hh, |
170 | const struct net_device *dev, | 170 | const struct net_device *dev, |
171 | const unsigned char *haddr); | 171 | const unsigned char *haddr); |
172 | static int ether1394_tx(struct sk_buff *skb, struct net_device *dev); | 172 | static netdev_tx_t ether1394_tx(struct sk_buff *skb, |
173 | struct net_device *dev); | ||
173 | static void ether1394_iso(struct hpsb_iso *iso); | 174 | static void ether1394_iso(struct hpsb_iso *iso); |
174 | 175 | ||
175 | static struct ethtool_ops ethtool_ops; | 176 | static struct ethtool_ops ethtool_ops; |
@@ -1555,7 +1556,8 @@ static void ether1394_complete_cb(void *__ptask) | |||
1555 | } | 1556 | } |
1556 | 1557 | ||
1557 | /* Transmit a packet (called by kernel) */ | 1558 | /* Transmit a packet (called by kernel) */ |
1558 | static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) | 1559 | static netdev_tx_t ether1394_tx(struct sk_buff *skb, |
1560 | struct net_device *dev) | ||
1559 | { | 1561 | { |
1560 | struct eth1394hdr hdr_buf; | 1562 | struct eth1394hdr hdr_buf; |
1561 | struct eth1394_priv *priv = netdev_priv(dev); | 1563 | struct eth1394_priv *priv = netdev_priv(dev); |
@@ -1694,14 +1696,6 @@ fail: | |||
1694 | dev->stats.tx_errors++; | 1696 | dev->stats.tx_errors++; |
1695 | spin_unlock_irqrestore(&priv->lock, flags); | 1697 | spin_unlock_irqrestore(&priv->lock, flags); |
1696 | 1698 | ||
1697 | /* | ||
1698 | * FIXME: According to a patch from 2003-02-26, "returning non-zero | ||
1699 | * causes serious problems" here, allegedly. Before that patch, | ||
1700 | * -ERRNO was returned which is not appropriate under Linux 2.6. | ||
1701 | * Perhaps more needs to be done? Stop the queue in serious | ||
1702 | * conditions and restart it elsewhere? | ||
1703 | */ | ||
1704 | /* return NETDEV_TX_BUSY; */ | ||
1705 | return NETDEV_TX_OK; | 1699 | return NETDEV_TX_OK; |
1706 | } | 1700 | } |
1707 | 1701 | ||
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 6e695acd1ae0..84a2be43185f 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -288,7 +288,8 @@ static int vlan_dev_hard_header(struct sk_buff *skb, struct net_device *dev, | |||
288 | return rc; | 288 | return rc; |
289 | } | 289 | } |
290 | 290 | ||
291 | static int vlan_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | 291 | static netdev_tx_t vlan_dev_hard_start_xmit(struct sk_buff *skb, |
292 | struct net_device *dev) | ||
292 | { | 293 | { |
293 | struct netdev_queue *txq = netdev_get_tx_queue(dev, 0); | 294 | struct netdev_queue *txq = netdev_get_tx_queue(dev, 0); |
294 | struct vlan_ethhdr *veth = (struct vlan_ethhdr *)(skb->data); | 295 | struct vlan_ethhdr *veth = (struct vlan_ethhdr *)(skb->data); |
@@ -325,8 +326,8 @@ static int vlan_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
325 | return NETDEV_TX_OK; | 326 | return NETDEV_TX_OK; |
326 | } | 327 | } |
327 | 328 | ||
328 | static int vlan_dev_hwaccel_hard_start_xmit(struct sk_buff *skb, | 329 | static netdev_tx_t vlan_dev_hwaccel_hard_start_xmit(struct sk_buff *skb, |
329 | struct net_device *dev) | 330 | struct net_device *dev) |
330 | { | 331 | { |
331 | struct netdev_queue *txq = netdev_get_tx_queue(dev, 0); | 332 | struct netdev_queue *txq = netdev_get_tx_queue(dev, 0); |
332 | u16 vlan_tci; | 333 | u16 vlan_tci; |
diff --git a/net/bluetooth/bnep/netdev.c b/net/bluetooth/bnep/netdev.c index 9c42990126a0..26fb831ef7e0 100644 --- a/net/bluetooth/bnep/netdev.c +++ b/net/bluetooth/bnep/netdev.c | |||
@@ -165,7 +165,8 @@ static inline int bnep_net_proto_filter(struct sk_buff *skb, struct bnep_session | |||
165 | } | 165 | } |
166 | #endif | 166 | #endif |
167 | 167 | ||
168 | static int bnep_net_xmit(struct sk_buff *skb, struct net_device *dev) | 168 | static netdev_tx_t bnep_net_xmit(struct sk_buff *skb, |
169 | struct net_device *dev) | ||
169 | { | 170 | { |
170 | struct bnep_session *s = netdev_priv(dev); | 171 | struct bnep_session *s = netdev_priv(dev); |
171 | struct sock *sk = s->sock->sk; | 172 | struct sock *sk = s->sock->sk; |
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index 15d43ba86b53..07a07770c8b6 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include "br_private.h" | 20 | #include "br_private.h" |
21 | 21 | ||
22 | /* net device transmit always called with no BH (preempt_disabled) */ | 22 | /* net device transmit always called with no BH (preempt_disabled) */ |
23 | int br_dev_xmit(struct sk_buff *skb, struct net_device *dev) | 23 | netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev) |
24 | { | 24 | { |
25 | struct net_bridge *br = netdev_priv(dev); | 25 | struct net_bridge *br = netdev_priv(dev); |
26 | const unsigned char *dest = skb->data; | 26 | const unsigned char *dest = skb->data; |
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 8319247dad5d..2114e45682ea 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h | |||
@@ -143,7 +143,8 @@ static inline int br_is_root_bridge(const struct net_bridge *br) | |||
143 | 143 | ||
144 | /* br_device.c */ | 144 | /* br_device.c */ |
145 | extern void br_dev_setup(struct net_device *dev); | 145 | extern void br_dev_setup(struct net_device *dev); |
146 | extern int br_dev_xmit(struct sk_buff *skb, struct net_device *dev); | 146 | extern netdev_tx_t br_dev_xmit(struct sk_buff *skb, |
147 | struct net_device *dev); | ||
147 | 148 | ||
148 | /* br_fdb.c */ | 149 | /* br_fdb.c */ |
149 | extern int br_fdb_init(void); | 150 | extern int br_fdb_init(void); |
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 2001cb1cf5cc..0bcecbf06581 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -3381,7 +3381,7 @@ static void idle(struct pktgen_dev *pkt_dev) | |||
3381 | static void pktgen_xmit(struct pktgen_dev *pkt_dev) | 3381 | static void pktgen_xmit(struct pktgen_dev *pkt_dev) |
3382 | { | 3382 | { |
3383 | struct net_device *odev = pkt_dev->odev; | 3383 | struct net_device *odev = pkt_dev->odev; |
3384 | int (*xmit)(struct sk_buff *, struct net_device *) | 3384 | netdev_tx_t (*xmit)(struct sk_buff *, struct net_device *) |
3385 | = odev->netdev_ops->ndo_start_xmit; | 3385 | = odev->netdev_ops->ndo_start_xmit; |
3386 | struct netdev_queue *txq; | 3386 | struct netdev_queue *txq; |
3387 | u16 queue_map; | 3387 | u16 queue_map; |
diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index 41055f33d28a..4b0ea0540442 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h | |||
@@ -169,13 +169,13 @@ struct net_device *dsa_slave_create(struct dsa_switch *ds, | |||
169 | int port, char *name); | 169 | int port, char *name); |
170 | 170 | ||
171 | /* tag_dsa.c */ | 171 | /* tag_dsa.c */ |
172 | int dsa_xmit(struct sk_buff *skb, struct net_device *dev); | 172 | netdev_tx_t dsa_xmit(struct sk_buff *skb, struct net_device *dev); |
173 | 173 | ||
174 | /* tag_edsa.c */ | 174 | /* tag_edsa.c */ |
175 | int edsa_xmit(struct sk_buff *skb, struct net_device *dev); | 175 | netdev_tx_t edsa_xmit(struct sk_buff *skb, struct net_device *dev); |
176 | 176 | ||
177 | /* tag_trailer.c */ | 177 | /* tag_trailer.c */ |
178 | int trailer_xmit(struct sk_buff *skb, struct net_device *dev); | 178 | netdev_tx_t trailer_xmit(struct sk_buff *skb, struct net_device *dev); |
179 | 179 | ||
180 | 180 | ||
181 | #endif | 181 | #endif |
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c index 8fa25bafe6ca..cdf2d28a0297 100644 --- a/net/dsa/tag_dsa.c +++ b/net/dsa/tag_dsa.c | |||
@@ -15,7 +15,7 @@ | |||
15 | 15 | ||
16 | #define DSA_HLEN 4 | 16 | #define DSA_HLEN 4 |
17 | 17 | ||
18 | int dsa_xmit(struct sk_buff *skb, struct net_device *dev) | 18 | netdev_tx_t dsa_xmit(struct sk_buff *skb, struct net_device *dev) |
19 | { | 19 | { |
20 | struct dsa_slave_priv *p = netdev_priv(dev); | 20 | struct dsa_slave_priv *p = netdev_priv(dev); |
21 | u8 *dsa_header; | 21 | u8 *dsa_header; |
diff --git a/net/dsa/tag_edsa.c b/net/dsa/tag_edsa.c index 815607bd286f..8f53948cff4f 100644 --- a/net/dsa/tag_edsa.c +++ b/net/dsa/tag_edsa.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #define DSA_HLEN 4 | 16 | #define DSA_HLEN 4 |
17 | #define EDSA_HLEN 8 | 17 | #define EDSA_HLEN 8 |
18 | 18 | ||
19 | int edsa_xmit(struct sk_buff *skb, struct net_device *dev) | 19 | netdev_tx_t edsa_xmit(struct sk_buff *skb, struct net_device *dev) |
20 | { | 20 | { |
21 | struct dsa_slave_priv *p = netdev_priv(dev); | 21 | struct dsa_slave_priv *p = netdev_priv(dev); |
22 | u8 *edsa_header; | 22 | u8 *edsa_header; |
diff --git a/net/dsa/tag_trailer.c b/net/dsa/tag_trailer.c index 1c3e30c38b86..a85c829853c0 100644 --- a/net/dsa/tag_trailer.c +++ b/net/dsa/tag_trailer.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/netdevice.h> | 13 | #include <linux/netdevice.h> |
14 | #include "dsa_priv.h" | 14 | #include "dsa_priv.h" |
15 | 15 | ||
16 | int trailer_xmit(struct sk_buff *skb, struct net_device *dev) | 16 | netdev_tx_t trailer_xmit(struct sk_buff *skb, struct net_device *dev) |
17 | { | 17 | { |
18 | struct dsa_slave_priv *p = netdev_priv(dev); | 18 | struct dsa_slave_priv *p = netdev_priv(dev); |
19 | struct sk_buff *nskb; | 19 | struct sk_buff *nskb; |
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index b902ef55be7f..5b1af70cd809 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
@@ -662,7 +662,7 @@ drop_nolock: | |||
662 | return(0); | 662 | return(0); |
663 | } | 663 | } |
664 | 664 | ||
665 | static int ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) | 665 | static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) |
666 | { | 666 | { |
667 | struct ip_tunnel *tunnel = netdev_priv(dev); | 667 | struct ip_tunnel *tunnel = netdev_priv(dev); |
668 | struct net_device_stats *stats = &tunnel->dev->stats; | 668 | struct net_device_stats *stats = &tunnel->dev->stats; |
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 98075b6d619c..62548cb0923c 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c | |||
@@ -387,7 +387,7 @@ static int ipip_rcv(struct sk_buff *skb) | |||
387 | * and that skb is filled properly by that function. | 387 | * and that skb is filled properly by that function. |
388 | */ | 388 | */ |
389 | 389 | ||
390 | static int ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) | 390 | static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) |
391 | { | 391 | { |
392 | struct ip_tunnel *tunnel = netdev_priv(dev); | 392 | struct ip_tunnel *tunnel = netdev_priv(dev); |
393 | struct net_device_stats *stats = &tunnel->dev->stats; | 393 | struct net_device_stats *stats = &tunnel->dev->stats; |
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index 06c33fb6b321..65d421cf5bc7 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c | |||
@@ -201,7 +201,7 @@ failure: | |||
201 | 201 | ||
202 | #ifdef CONFIG_IP_PIMSM | 202 | #ifdef CONFIG_IP_PIMSM |
203 | 203 | ||
204 | static int reg_vif_xmit(struct sk_buff *skb, struct net_device *dev) | 204 | static netdev_tx_t reg_vif_xmit(struct sk_buff *skb, struct net_device *dev) |
205 | { | 205 | { |
206 | struct net *net = dev_net(dev); | 206 | struct net *net = dev_net(dev); |
207 | 207 | ||
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index a1d6045c4694..7d25bbe32110 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c | |||
@@ -1036,7 +1036,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1036 | return 0; | 1036 | return 0; |
1037 | } | 1037 | } |
1038 | 1038 | ||
1039 | static int | 1039 | static netdev_tx_t |
1040 | ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) | 1040 | ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) |
1041 | { | 1041 | { |
1042 | struct ip6_tnl *t = netdev_priv(dev); | 1042 | struct ip6_tnl *t = netdev_priv(dev); |
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 07ded5075b33..19c8dec2ead9 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c | |||
@@ -416,7 +416,8 @@ static struct inet6_protocol pim6_protocol = { | |||
416 | 416 | ||
417 | /* Service routines creating virtual interfaces: PIMREG */ | 417 | /* Service routines creating virtual interfaces: PIMREG */ |
418 | 418 | ||
419 | static int reg_vif_xmit(struct sk_buff *skb, struct net_device *dev) | 419 | static netdev_tx_t reg_vif_xmit(struct sk_buff *skb, |
420 | struct net_device *dev) | ||
420 | { | 421 | { |
421 | struct net *net = dev_net(dev); | 422 | struct net *net = dev_net(dev); |
422 | 423 | ||
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 1d25a4dff0af..0ae4f6448187 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c | |||
@@ -609,7 +609,8 @@ static inline __be32 try_6to4(struct in6_addr *v6dst) | |||
609 | * and that skb is filled properly by that function. | 609 | * and that skb is filled properly by that function. |
610 | */ | 610 | */ |
611 | 611 | ||
612 | static int ipip6_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) | 612 | static netdev_tx_t ipip6_tunnel_xmit(struct sk_buff *skb, |
613 | struct net_device *dev) | ||
613 | { | 614 | { |
614 | struct ip_tunnel *tunnel = netdev_priv(dev); | 615 | struct ip_tunnel *tunnel = netdev_priv(dev); |
615 | struct net_device_stats *stats = &tunnel->dev->stats; | 616 | struct net_device_stats *stats = &tunnel->dev->stats; |
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c index 12434b6c2042..5a002c247231 100644 --- a/net/sched/sch_teql.c +++ b/net/sched/sch_teql.c | |||
@@ -268,7 +268,7 @@ static inline int teql_resolve(struct sk_buff *skb, | |||
268 | return __teql_resolve(skb, skb_res, dev); | 268 | return __teql_resolve(skb, skb_res, dev); |
269 | } | 269 | } |
270 | 270 | ||
271 | static int teql_master_xmit(struct sk_buff *skb, struct net_device *dev) | 271 | static netdev_tx_t teql_master_xmit(struct sk_buff *skb, struct net_device *dev) |
272 | { | 272 | { |
273 | struct teql_master *master = netdev_priv(dev); | 273 | struct teql_master *master = netdev_priv(dev); |
274 | struct netdev_queue *txq = netdev_get_tx_queue(dev, 0); | 274 | struct netdev_queue *txq = netdev_get_tx_queue(dev, 0); |
@@ -307,7 +307,7 @@ restart: | |||
307 | 307 | ||
308 | if (!netif_tx_queue_stopped(slave_txq) && | 308 | if (!netif_tx_queue_stopped(slave_txq) && |
309 | !netif_tx_queue_frozen(slave_txq) && | 309 | !netif_tx_queue_frozen(slave_txq) && |
310 | slave_ops->ndo_start_xmit(skb, slave) == 0) { | 310 | slave_ops->ndo_start_xmit(skb, slave) == NETDEV_TX_OK) { |
311 | txq_trans_update(slave_txq); | 311 | txq_trans_update(slave_txq); |
312 | __netif_tx_unlock(slave_txq); | 312 | __netif_tx_unlock(slave_txq); |
313 | master->slaves = NEXT_SLAVE(q); | 313 | master->slaves = NEXT_SLAVE(q); |