aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/qla3xxx.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2007-10-03 20:41:50 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:51:16 -0400
commit09f75cd7bf13720738e6a196cc0107ce9a5bd5a0 (patch)
tree4c85b0b395abe7f88c87162fc22570e5de255cb1 /drivers/net/qla3xxx.c
parentff8ac60948ba819b89e9c87083e8050fc2f89999 (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-xdrivers/net/qla3xxx.c23
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
2086frame_not_sent: 2086frame_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
3756static 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
3762static void ql3xxx_set_multicast_list(struct net_device *ndev) 3756static 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;