Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Stephen Hemminger and committed by
David S. Miller
37423fff c86d8740

+5 -15
+5 -14
drivers/net/tokenring/lanstreamer.c
··· 207 207 static int streamer_close(struct net_device *dev); 208 208 static void streamer_set_rx_mode(struct net_device *dev); 209 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 210 static int streamer_set_mac_address(struct net_device *dev, void *addr); 212 211 static void streamer_arb_cmd(struct net_device *dev); 213 212 static int streamer_change_mtu(struct net_device *dev, int mtu); ··· 330 331 dev->do_ioctl = NULL; 331 332 #endif 332 333 dev->set_multicast_list = &streamer_set_rx_mode; 333 - dev->get_stats = &streamer_get_stats; 334 334 dev->set_mac_address = &streamer_set_mac_address; 335 335 dev->irq = pdev->irq; 336 336 dev->base_addr=pio_start; ··· 935 937 if (skb == NULL) 936 938 { 937 939 printk(KERN_WARNING "%s: Not enough memory to copy packet to upper layers. \n", dev->name); 938 - streamer_priv->streamer_stats.rx_dropped++; 940 + dev->stats.rx_dropped++; 939 941 } else { /* we allocated an skb OK */ 940 942 if (buffer_cnt == 1) { 941 943 /* release the DMA mapping */ ··· 1007 1009 /* send up to the protocol */ 1008 1010 netif_rx(skb); 1009 1011 } 1010 - streamer_priv->streamer_stats.rx_packets++; 1011 - streamer_priv->streamer_stats.rx_bytes += length; 1012 + dev->stats.rx_packets++; 1013 + dev->stats.rx_bytes += length; 1012 1014 } /* if skb == null */ 1013 1015 } /* end received without errors */ 1014 1016 ··· 1051 1053 while(streamer_priv->streamer_tx_ring[(streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1)].status) { 1052 1054 streamer_priv->tx_ring_last_status = (streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1); 1053 1055 streamer_priv->free_tx_ring_entries++; 1054 - streamer_priv->streamer_stats.tx_bytes += streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]->len; 1055 - streamer_priv->streamer_stats.tx_packets++; 1056 + dev->stats.tx_bytes += streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]->len; 1057 + dev->stats.tx_packets++; 1056 1058 dev_kfree_skb_irq(streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]); 1057 1059 streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].buffer = 0xdeadbeef; 1058 1060 streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].status = 0; ··· 1480 1482 printk(KERN_WARNING "%s: Unrecognized srb bh return value.\n", dev->name); 1481 1483 break; 1482 1484 } /* switch srb[0] */ 1483 - } 1484 - 1485 - static struct net_device_stats *streamer_get_stats(struct net_device *dev) 1486 - { 1487 - struct streamer_private *streamer_priv; 1488 - streamer_priv = netdev_priv(dev); 1489 - return (struct net_device_stats *) &streamer_priv->streamer_stats; 1490 1485 } 1491 1486 1492 1487 static int streamer_set_mac_address(struct net_device *dev, void *addr)
-1
drivers/net/tokenring/lanstreamer.h
··· 299 299 int tx_ring_free, tx_ring_last_status, rx_ring_last_received, 300 300 free_tx_ring_entries; 301 301 302 - struct net_device_stats streamer_stats; 303 302 __u16 streamer_lan_status; 304 303 __u8 streamer_ring_speed; 305 304 __u16 pkt_buf_sz;