diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-10-03 20:41:50 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:51:16 -0400 |
commit | 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0 (patch) | |
tree | 4c85b0b395abe7f88c87162fc22570e5de255cb1 /drivers/net/qla3xxx.c | |
parent | ff8ac60948ba819b89e9c87083e8050fc2f89999 (diff) |
[NET] drivers/net: statistics cleanup #1 -- save memory and shrink code
We now have struct net_device_stats embedded in struct net_device,
and the default ->get_stats() hook does the obvious thing for us.
Run through drivers/net/* and remove the driver-local storage of
statistics, and driver-local ->get_stats() hook where applicable.
This was just the low-hanging fruit in drivers/net; plenty more drivers
remain to be updated.
[ Resolved conflicts with napi_struct changes and fix sunqe build
regression... -DaveM ]
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qla3xxx.c')
-rwxr-xr-x | drivers/net/qla3xxx.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c index 309199bb7d12..97c6ed07dd15 100755 --- a/drivers/net/qla3xxx.c +++ b/drivers/net/qla3xxx.c | |||
@@ -2053,7 +2053,7 @@ static void ql_process_mac_tx_intr(struct ql3_adapter *qdev, | |||
2053 | if(mac_rsp->flags & OB_MAC_IOCB_RSP_S) { | 2053 | if(mac_rsp->flags & OB_MAC_IOCB_RSP_S) { |
2054 | printk(KERN_ERR "Frame too short to be legal, frame not sent.\n"); | 2054 | printk(KERN_ERR "Frame too short to be legal, frame not sent.\n"); |
2055 | 2055 | ||
2056 | qdev->stats.tx_errors++; | 2056 | qdev->ndev->stats.tx_errors++; |
2057 | retval = -EIO; | 2057 | retval = -EIO; |
2058 | goto frame_not_sent; | 2058 | goto frame_not_sent; |
2059 | } | 2059 | } |
@@ -2061,7 +2061,7 @@ static void ql_process_mac_tx_intr(struct ql3_adapter *qdev, | |||
2061 | if(tx_cb->seg_count == 0) { | 2061 | if(tx_cb->seg_count == 0) { |
2062 | printk(KERN_ERR "tx_cb->seg_count == 0: %d\n", mac_rsp->transaction_id); | 2062 | printk(KERN_ERR "tx_cb->seg_count == 0: %d\n", mac_rsp->transaction_id); |
2063 | 2063 | ||
2064 | qdev->stats.tx_errors++; | 2064 | qdev->ndev->stats.tx_errors++; |
2065 | retval = -EIO; | 2065 | retval = -EIO; |
2066 | goto invalid_seg_count; | 2066 | goto invalid_seg_count; |
2067 | } | 2067 | } |
@@ -2080,8 +2080,8 @@ static void ql_process_mac_tx_intr(struct ql3_adapter *qdev, | |||
2080 | PCI_DMA_TODEVICE); | 2080 | PCI_DMA_TODEVICE); |
2081 | } | 2081 | } |
2082 | } | 2082 | } |
2083 | qdev->stats.tx_packets++; | 2083 | qdev->ndev->stats.tx_packets++; |
2084 | qdev->stats.tx_bytes += tx_cb->skb->len; | 2084 | qdev->ndev->stats.tx_bytes += tx_cb->skb->len; |
2085 | 2085 | ||
2086 | frame_not_sent: | 2086 | frame_not_sent: |
2087 | dev_kfree_skb_irq(tx_cb->skb); | 2087 | dev_kfree_skb_irq(tx_cb->skb); |
@@ -2140,8 +2140,8 @@ static void ql_process_mac_rx_intr(struct ql3_adapter *qdev, | |||
2140 | lrg_buf_cb2 = ql_get_lbuf(qdev); | 2140 | lrg_buf_cb2 = ql_get_lbuf(qdev); |
2141 | skb = lrg_buf_cb2->skb; | 2141 | skb = lrg_buf_cb2->skb; |
2142 | 2142 | ||
2143 | qdev->stats.rx_packets++; | 2143 | qdev->ndev->stats.rx_packets++; |
2144 | qdev->stats.rx_bytes += length; | 2144 | qdev->ndev->stats.rx_bytes += length; |
2145 | 2145 | ||
2146 | skb_put(skb, length); | 2146 | skb_put(skb, length); |
2147 | pci_unmap_single(qdev->pdev, | 2147 | pci_unmap_single(qdev->pdev, |
@@ -2225,8 +2225,8 @@ static void ql_process_macip_rx_intr(struct ql3_adapter *qdev, | |||
2225 | skb2->protocol = eth_type_trans(skb2, qdev->ndev); | 2225 | skb2->protocol = eth_type_trans(skb2, qdev->ndev); |
2226 | 2226 | ||
2227 | netif_receive_skb(skb2); | 2227 | netif_receive_skb(skb2); |
2228 | qdev->stats.rx_packets++; | 2228 | ndev->stats.rx_packets++; |
2229 | qdev->stats.rx_bytes += length; | 2229 | ndev->stats.rx_bytes += length; |
2230 | ndev->last_rx = jiffies; | 2230 | ndev->last_rx = jiffies; |
2231 | lrg_buf_cb2->skb = NULL; | 2231 | lrg_buf_cb2->skb = NULL; |
2232 | 2232 | ||
@@ -3753,12 +3753,6 @@ static int ql3xxx_open(struct net_device *ndev) | |||
3753 | return (ql_adapter_up(qdev)); | 3753 | return (ql_adapter_up(qdev)); |
3754 | } | 3754 | } |
3755 | 3755 | ||
3756 | static struct net_device_stats *ql3xxx_get_stats(struct net_device *dev) | ||
3757 | { | ||
3758 | struct ql3_adapter *qdev = (struct ql3_adapter *)dev->priv; | ||
3759 | return &qdev->stats; | ||
3760 | } | ||
3761 | |||
3762 | static void ql3xxx_set_multicast_list(struct net_device *ndev) | 3756 | static void ql3xxx_set_multicast_list(struct net_device *ndev) |
3763 | { | 3757 | { |
3764 | /* | 3758 | /* |
@@ -4048,7 +4042,6 @@ static int __devinit ql3xxx_probe(struct pci_dev *pdev, | |||
4048 | ndev->open = ql3xxx_open; | 4042 | ndev->open = ql3xxx_open; |
4049 | ndev->hard_start_xmit = ql3xxx_send; | 4043 | ndev->hard_start_xmit = ql3xxx_send; |
4050 | ndev->stop = ql3xxx_close; | 4044 | ndev->stop = ql3xxx_close; |
4051 | ndev->get_stats = ql3xxx_get_stats; | ||
4052 | ndev->set_multicast_list = ql3xxx_set_multicast_list; | 4045 | ndev->set_multicast_list = ql3xxx_set_multicast_list; |
4053 | SET_ETHTOOL_OPS(ndev, &ql3xxx_ethtool_ops); | 4046 | SET_ETHTOOL_OPS(ndev, &ql3xxx_ethtool_ops); |
4054 | ndev->set_mac_address = ql3xxx_set_mac_address; | 4047 | ndev->set_mac_address = ql3xxx_set_mac_address; |