hp100: Use the instance of net_device_stats from net_device.
authorKulikov Vasiliy <segooon@gmail.com>
Mon, 5 Jul 2010 02:13:46 +0000 (02:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Jul 2010 02:41:16 +0000 (19:41 -0700)
Since net_device has an instance of net_device_stats,
we can remove the instance of this from the adapter structure.

Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hp100.c

index 68e5ac8832ad0b8a1678fb50e38d996fbd684524..acbf0d003a6d9bb73ff4cdd92c74aa86f1358ca1 100644 (file)
@@ -168,7 +168,6 @@ struct hp100_private {
        u_char mac1_mode;
        u_char mac2_mode;
        u_char hash_bytes[8];
-       struct net_device_stats stats;
 
        /* Rings for busmaster mode: */
        hp100_ring_t *rxrhead;  /* Head (oldest) index into rxring */
@@ -1582,8 +1581,8 @@ static netdev_tx_t hp100_start_xmit_bm(struct sk_buff *skb,
        spin_unlock_irqrestore(&lp->lock, flags);
 
        /* Update statistics */
-       lp->stats.tx_packets++;
-       lp->stats.tx_bytes += skb->len;
+       dev->stats.tx_packets++;
+       dev->stats.tx_bytes += skb->len;
 
        return NETDEV_TX_OK;
 
@@ -1740,8 +1739,8 @@ static netdev_tx_t hp100_start_xmit(struct sk_buff *skb,
 
        hp100_outb(HP100_TX_CMD | HP100_SET_LB, OPTION_MSW);    /* send packet */
 
-       lp->stats.tx_packets++;
-       lp->stats.tx_bytes += skb->len;
+       dev->stats.tx_packets++;
+       dev->stats.tx_bytes += skb->len;
        hp100_ints_on();
        spin_unlock_irqrestore(&lp->lock, flags);
 
@@ -1822,7 +1821,7 @@ static void hp100_rx(struct net_device *dev)
                        printk("hp100: %s: rx: couldn't allocate a sk_buff of size %d\n",
                                             dev->name, pkt_len);
 #endif
-                       lp->stats.rx_dropped++;
+                       dev->stats.rx_dropped++;
                } else {        /* skb successfully allocated */
 
                        u_char *ptr;
@@ -1848,8 +1847,8 @@ static void hp100_rx(struct net_device *dev)
                                        ptr[9], ptr[10], ptr[11]);
 #endif
                        netif_rx(skb);
-                       lp->stats.rx_packets++;
-                       lp->stats.rx_bytes += pkt_len;
+                       dev->stats.rx_packets++;
+                       dev->stats.rx_bytes += pkt_len;
                }
 
                /* Indicate the card that we have got the packet */
@@ -1858,7 +1857,7 @@ static void hp100_rx(struct net_device *dev)
                switch (header & 0x00070000) {
                case (HP100_MULTI_ADDR_HASH << 16):
                case (HP100_MULTI_ADDR_NO_HASH << 16):
-                       lp->stats.multicast++;
+                       dev->stats.multicast++;
                        break;
                }
        }                       /* end of while(there are packets) loop */
@@ -1930,7 +1929,7 @@ static void hp100_rx_bm(struct net_device *dev)
                        if (ptr->skb == NULL) {
                                printk("hp100: %s: rx_bm: skb null\n", dev->name);
                                /* can happen if we only allocated room for the pdh due to memory shortage. */
-                               lp->stats.rx_dropped++;
+                               dev->stats.rx_dropped++;
                        } else {
                                skb_trim(ptr->skb, pkt_len);    /* Shorten it */
                                ptr->skb->protocol =
@@ -1938,14 +1937,14 @@ static void hp100_rx_bm(struct net_device *dev)
 
                                netif_rx(ptr->skb);     /* Up and away... */
 
-                               lp->stats.rx_packets++;
-                               lp->stats.rx_bytes += pkt_len;
+                               dev->stats.rx_packets++;
+                               dev->stats.rx_bytes += pkt_len;
                        }
 
                        switch (header & 0x00070000) {
                        case (HP100_MULTI_ADDR_HASH << 16):
                        case (HP100_MULTI_ADDR_NO_HASH << 16):
-                               lp->stats.multicast++;
+                               dev->stats.multicast++;
                                break;
                        }
                } else {
@@ -1954,7 +1953,7 @@ static void hp100_rx_bm(struct net_device *dev)
 #endif
                        if (ptr->skb != NULL)
                                dev_kfree_skb_any(ptr->skb);
-                       lp->stats.rx_errors++;
+                       dev->stats.rx_errors++;
                }
 
                lp->rxrhead = lp->rxrhead->next;
@@ -1992,14 +1991,13 @@ static struct net_device_stats *hp100_get_stats(struct net_device *dev)
        hp100_update_stats(dev);
        hp100_ints_on();
        spin_unlock_irqrestore(&lp->lock, flags);
-       return &(lp->stats);
+       return &(dev->stats);
 }
 
 static void hp100_update_stats(struct net_device *dev)
 {
        int ioaddr = dev->base_addr;
        u_short val;
-       struct hp100_private *lp = netdev_priv(dev);
 
 #ifdef HP100_DEBUG_B
        hp100_outw(0x4216, TRACE);
@@ -2009,14 +2007,14 @@ static void hp100_update_stats(struct net_device *dev)
        /* Note: Statistics counters clear when read. */
        hp100_page(MAC_CTRL);
        val = hp100_inw(DROPPED) & 0x0fff;
-       lp->stats.rx_errors += val;
-       lp->stats.rx_over_errors += val;
+       dev->stats.rx_errors += val;
+       dev->stats.rx_over_errors += val;
        val = hp100_inb(CRC);
-       lp->stats.rx_errors += val;
-       lp->stats.rx_crc_errors += val;
+       dev->stats.rx_errors += val;
+       dev->stats.rx_crc_errors += val;
        val = hp100_inb(ABORT);
-       lp->stats.tx_errors += val;
-       lp->stats.tx_aborted_errors += val;
+       dev->stats.tx_errors += val;
+       dev->stats.tx_aborted_errors += val;
        hp100_page(PERFORMANCE);
 }
 
@@ -2025,7 +2023,6 @@ static void hp100_misc_interrupt(struct net_device *dev)
 #ifdef HP100_DEBUG_B
        int ioaddr = dev->base_addr;
 #endif
-       struct hp100_private *lp = netdev_priv(dev);
 
 #ifdef HP100_DEBUG_B
        int ioaddr = dev->base_addr;
@@ -2034,8 +2031,8 @@ static void hp100_misc_interrupt(struct net_device *dev)
 #endif
 
        /* Note: Statistics counters clear when read. */
-       lp->stats.rx_errors++;
-       lp->stats.tx_errors++;
+       dev->stats.rx_errors++;
+       dev->stats.tx_errors++;
 }
 
 static void hp100_clear_stats(struct hp100_private *lp, int ioaddr)