]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/rionet.c
[NET] drivers/net: statistics cleanup #1 -- save memory and shrink code
[mv-sheeva.git] / drivers / net / rionet.c
index 25a9dd821aa29edebb50dba7e48e4e4f24cbe154..d43dcf3ed5a9506d37647e29a9b510a0737505d9 100644 (file)
@@ -53,7 +53,6 @@ struct rionet_private {
        struct rio_mport *mport;
        struct sk_buff *rx_skb[RIONET_RX_RING_SIZE];
        struct sk_buff *tx_skb[RIONET_TX_RING_SIZE];
-       struct net_device_stats stats;
        int rx_slot;
        int tx_slot;
        int tx_cnt;
@@ -91,12 +90,6 @@ static struct rio_dev *rionet_active[RIO_MAX_ROUTE_ENTRIES];
 #define RIONET_MAC_MATCH(x)    (*(u32 *)x == 0x00010001)
 #define RIONET_GET_DESTID(x)   (*(u16 *)(x + 4))
 
-static struct net_device_stats *rionet_stats(struct net_device *ndev)
-{
-       struct rionet_private *rnet = ndev->priv;
-       return &rnet->stats;
-}
-
 static int rionet_rx_clean(struct net_device *ndev)
 {
        int i;
@@ -120,15 +113,15 @@ static int rionet_rx_clean(struct net_device *ndev)
                error = netif_rx(rnet->rx_skb[i]);
 
                if (error == NET_RX_DROP) {
-                       rnet->stats.rx_dropped++;
+                       ndev->stats.rx_dropped++;
                } else if (error == NET_RX_BAD) {
                        if (netif_msg_rx_err(rnet))
                                printk(KERN_WARNING "%s: bad rx packet\n",
                                       DRV_NAME);
-                       rnet->stats.rx_errors++;
+                       ndev->stats.rx_errors++;
                } else {
-                       rnet->stats.rx_packets++;
-                       rnet->stats.rx_bytes += RIO_MAX_MSG_SIZE;
+                       ndev->stats.rx_packets++;
+                       ndev->stats.rx_bytes += RIO_MAX_MSG_SIZE;
                }
 
        } while ((i = (i + 1) % RIONET_RX_RING_SIZE) != rnet->rx_slot);
@@ -163,8 +156,8 @@ static int rionet_queue_tx_msg(struct sk_buff *skb, struct net_device *ndev,
        rio_add_outb_message(rnet->mport, rdev, 0, skb->data, skb->len);
        rnet->tx_skb[rnet->tx_slot] = skb;
 
-       rnet->stats.tx_packets++;
-       rnet->stats.tx_bytes += skb->len;
+       ndev->stats.tx_packets++;
+       ndev->stats.tx_bytes += skb->len;
 
        if (++rnet->tx_cnt == RIONET_TX_RING_SIZE)
                netif_stop_queue(ndev);
@@ -466,7 +459,6 @@ static int rionet_setup_netdev(struct rio_mport *mport)
        ndev->open = &rionet_open;
        ndev->hard_start_xmit = &rionet_start_xmit;
        ndev->stop = &rionet_close;
-       ndev->get_stats = &rionet_stats;
        ndev->mtu = RIO_MAX_MSG_SIZE - 14;
        ndev->features = NETIF_F_LLTX;
        SET_ETHTOOL_OPS(ndev, &rionet_ethtool_ops);