diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2009-01-09 08:01:21 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-21 17:02:27 -0500 |
commit | 37423fff4f02fcf6867971dfd678e99a34efeab3 (patch) | |
tree | c0a98ef1c8272bb99aa7c3ff639448b62c589a0c /drivers/net/tokenring/lanstreamer.c | |
parent | c86d87402966dc3f1996d17ef6bc2b676b46bb60 (diff) |
lanstreamer: convert to internal network stats
Use internal network_device_stats to keep track of statistics.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tokenring/lanstreamer.c')
-rw-r--r-- | drivers/net/tokenring/lanstreamer.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c index 239c75217b12..ecfa564489c4 100644 --- a/drivers/net/tokenring/lanstreamer.c +++ b/drivers/net/tokenring/lanstreamer.c | |||
@@ -207,7 +207,6 @@ static int streamer_xmit(struct sk_buff *skb, struct net_device *dev); | |||
207 | static int streamer_close(struct net_device *dev); | 207 | static int streamer_close(struct net_device *dev); |
208 | static void streamer_set_rx_mode(struct net_device *dev); | 208 | static void streamer_set_rx_mode(struct net_device *dev); |
209 | static irqreturn_t streamer_interrupt(int irq, void *dev_id); | 209 | static irqreturn_t streamer_interrupt(int irq, void *dev_id); |
210 | static struct net_device_stats *streamer_get_stats(struct net_device *dev); | ||
211 | static int streamer_set_mac_address(struct net_device *dev, void *addr); | 210 | static int streamer_set_mac_address(struct net_device *dev, void *addr); |
212 | static void streamer_arb_cmd(struct net_device *dev); | 211 | static void streamer_arb_cmd(struct net_device *dev); |
213 | static int streamer_change_mtu(struct net_device *dev, int mtu); | 212 | static int streamer_change_mtu(struct net_device *dev, int mtu); |
@@ -331,7 +330,6 @@ static int __devinit streamer_init_one(struct pci_dev *pdev, | |||
331 | dev->do_ioctl = NULL; | 330 | dev->do_ioctl = NULL; |
332 | #endif | 331 | #endif |
333 | dev->set_multicast_list = &streamer_set_rx_mode; | 332 | dev->set_multicast_list = &streamer_set_rx_mode; |
334 | dev->get_stats = &streamer_get_stats; | ||
335 | dev->set_mac_address = &streamer_set_mac_address; | 333 | dev->set_mac_address = &streamer_set_mac_address; |
336 | dev->irq = pdev->irq; | 334 | dev->irq = pdev->irq; |
337 | dev->base_addr=pio_start; | 335 | dev->base_addr=pio_start; |
@@ -937,7 +935,7 @@ static void streamer_rx(struct net_device *dev) | |||
937 | if (skb == NULL) | 935 | if (skb == NULL) |
938 | { | 936 | { |
939 | printk(KERN_WARNING "%s: Not enough memory to copy packet to upper layers. \n", dev->name); | 937 | printk(KERN_WARNING "%s: Not enough memory to copy packet to upper layers. \n", dev->name); |
940 | streamer_priv->streamer_stats.rx_dropped++; | 938 | dev->stats.rx_dropped++; |
941 | } else { /* we allocated an skb OK */ | 939 | } else { /* we allocated an skb OK */ |
942 | if (buffer_cnt == 1) { | 940 | if (buffer_cnt == 1) { |
943 | /* release the DMA mapping */ | 941 | /* release the DMA mapping */ |
@@ -1009,8 +1007,8 @@ static void streamer_rx(struct net_device *dev) | |||
1009 | /* send up to the protocol */ | 1007 | /* send up to the protocol */ |
1010 | netif_rx(skb); | 1008 | netif_rx(skb); |
1011 | } | 1009 | } |
1012 | streamer_priv->streamer_stats.rx_packets++; | 1010 | dev->stats.rx_packets++; |
1013 | streamer_priv->streamer_stats.rx_bytes += length; | 1011 | dev->stats.rx_bytes += length; |
1014 | } /* if skb == null */ | 1012 | } /* if skb == null */ |
1015 | } /* end received without errors */ | 1013 | } /* end received without errors */ |
1016 | 1014 | ||
@@ -1053,8 +1051,8 @@ static irqreturn_t streamer_interrupt(int irq, void *dev_id) | |||
1053 | while(streamer_priv->streamer_tx_ring[(streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1)].status) { | 1051 | while(streamer_priv->streamer_tx_ring[(streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1)].status) { |
1054 | streamer_priv->tx_ring_last_status = (streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1); | 1052 | streamer_priv->tx_ring_last_status = (streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1); |
1055 | streamer_priv->free_tx_ring_entries++; | 1053 | streamer_priv->free_tx_ring_entries++; |
1056 | streamer_priv->streamer_stats.tx_bytes += streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]->len; | 1054 | dev->stats.tx_bytes += streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]->len; |
1057 | streamer_priv->streamer_stats.tx_packets++; | 1055 | dev->stats.tx_packets++; |
1058 | dev_kfree_skb_irq(streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]); | 1056 | dev_kfree_skb_irq(streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]); |
1059 | streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].buffer = 0xdeadbeef; | 1057 | streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].buffer = 0xdeadbeef; |
1060 | streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].status = 0; | 1058 | streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].status = 0; |
@@ -1484,13 +1482,6 @@ static void streamer_srb_bh(struct net_device *dev) | |||
1484 | } /* switch srb[0] */ | 1482 | } /* switch srb[0] */ |
1485 | } | 1483 | } |
1486 | 1484 | ||
1487 | static struct net_device_stats *streamer_get_stats(struct net_device *dev) | ||
1488 | { | ||
1489 | struct streamer_private *streamer_priv; | ||
1490 | streamer_priv = netdev_priv(dev); | ||
1491 | return (struct net_device_stats *) &streamer_priv->streamer_stats; | ||
1492 | } | ||
1493 | |||
1494 | static int streamer_set_mac_address(struct net_device *dev, void *addr) | 1485 | static int streamer_set_mac_address(struct net_device *dev, void *addr) |
1495 | { | 1486 | { |
1496 | struct sockaddr *saddr = addr; | 1487 | struct sockaddr *saddr = addr; |