aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/mipsnet.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/mipsnet.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/mipsnet.c')
-rw-r--r--drivers/net/mipsnet.c26
1 files changed, 6 insertions, 20 deletions
diff --git a/drivers/net/mipsnet.c b/drivers/net/mipsnet.c
index c0f5ad38fb17..d593175ab6f0 100644
--- a/drivers/net/mipsnet.c
+++ b/drivers/net/mipsnet.c
@@ -21,10 +21,6 @@
21 21
22#define mipsnet_reg_address(dev, field) (dev->base_addr + field_offset(field)) 22#define mipsnet_reg_address(dev, field) (dev->base_addr + field_offset(field))
23 23
24struct mipsnet_priv {
25 struct net_device_stats stats;
26};
27
28static char mipsnet_string[] = "mipsnet"; 24static char mipsnet_string[] = "mipsnet";
29 25
30/* 26/*
@@ -49,7 +45,6 @@ static inline ssize_t mipsnet_put_todevice(struct net_device *dev,
49{ 45{
50 int count_to_go = skb->len; 46 int count_to_go = skb->len;
51 char *buf_ptr = skb->data; 47 char *buf_ptr = skb->data;
52 struct mipsnet_priv *mp = netdev_priv(dev);
53 48
54 pr_debug("%s: %s(): telling MIPSNET txDataCount(%d)\n", 49 pr_debug("%s: %s(): telling MIPSNET txDataCount(%d)\n",
55 dev->name, __FUNCTION__, skb->len); 50 dev->name, __FUNCTION__, skb->len);
@@ -63,8 +58,8 @@ static inline ssize_t mipsnet_put_todevice(struct net_device *dev,
63 outb(*buf_ptr, mipsnet_reg_address(dev, txDataBuffer)); 58 outb(*buf_ptr, mipsnet_reg_address(dev, txDataBuffer));
64 } 59 }
65 60
66 mp->stats.tx_packets++; 61 dev->stats.tx_packets++;
67 mp->stats.tx_bytes += skb->len; 62 dev->stats.tx_bytes += skb->len;
68 63
69 return skb->len; 64 return skb->len;
70} 65}
@@ -87,10 +82,9 @@ static inline ssize_t mipsnet_get_fromdev(struct net_device *dev, size_t count)
87{ 82{
88 struct sk_buff *skb; 83 struct sk_buff *skb;
89 size_t len = count; 84 size_t len = count;
90 struct mipsnet_priv *mp = netdev_priv(dev);
91 85
92 if (!(skb = alloc_skb(len + 2, GFP_KERNEL))) { 86 if (!(skb = alloc_skb(len + 2, GFP_KERNEL))) {
93 mp->stats.rx_dropped++; 87 dev->stats.rx_dropped++;
94 return -ENOMEM; 88 return -ENOMEM;
95 } 89 }
96 90
@@ -105,8 +99,8 @@ static inline ssize_t mipsnet_get_fromdev(struct net_device *dev, size_t count)
105 dev->name, __FUNCTION__); 99 dev->name, __FUNCTION__);
106 netif_rx(skb); 100 netif_rx(skb);
107 101
108 mp->stats.rx_packets++; 102 dev->stats.rx_packets++;
109 mp->stats.rx_bytes += len; 103 dev->stats.rx_bytes += len;
110 104
111 return count; 105 return count;
112} 106}
@@ -203,13 +197,6 @@ static int mipsnet_close(struct net_device *dev)
203 return 0; 197 return 0;
204} 198}
205 199
206static struct net_device_stats *mipsnet_get_stats(struct net_device *dev)
207{
208 struct mipsnet_priv *mp = netdev_priv(dev);
209
210 return &mp->stats;
211}
212
213static void mipsnet_set_mclist(struct net_device *dev) 200static void mipsnet_set_mclist(struct net_device *dev)
214{ 201{
215 // we don't do anything 202 // we don't do anything
@@ -221,7 +208,7 @@ static int __init mipsnet_probe(struct device *dev)
221 struct net_device *netdev; 208 struct net_device *netdev;
222 int err; 209 int err;
223 210
224 netdev = alloc_etherdev(sizeof(struct mipsnet_priv)); 211 netdev = alloc_etherdev(0);
225 if (!netdev) { 212 if (!netdev) {
226 err = -ENOMEM; 213 err = -ENOMEM;
227 goto out; 214 goto out;
@@ -232,7 +219,6 @@ static int __init mipsnet_probe(struct device *dev)
232 netdev->open = mipsnet_open; 219 netdev->open = mipsnet_open;
233 netdev->stop = mipsnet_close; 220 netdev->stop = mipsnet_close;
234 netdev->hard_start_xmit = mipsnet_xmit; 221 netdev->hard_start_xmit = mipsnet_xmit;
235 netdev->get_stats = mipsnet_get_stats;
236 netdev->set_multicast_list = mipsnet_set_mclist; 222 netdev->set_multicast_list = mipsnet_set_mclist;
237 223
238 /* 224 /*