[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>
This commit is contained in:
committed by
David S. Miller
parent
ff8ac60948
commit
09f75cd7bf
@@ -128,7 +128,6 @@ static int eql_open(struct net_device *dev);
|
||||
static int eql_close(struct net_device *dev);
|
||||
static int eql_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
|
||||
static int eql_slave_xmit(struct sk_buff *skb, struct net_device *dev);
|
||||
static struct net_device_stats *eql_get_stats(struct net_device *dev);
|
||||
|
||||
#define eql_is_slave(dev) ((dev->flags & IFF_SLAVE) == IFF_SLAVE)
|
||||
#define eql_is_master(dev) ((dev->flags & IFF_MASTER) == IFF_MASTER)
|
||||
@@ -180,7 +179,6 @@ static void __init eql_setup(struct net_device *dev)
|
||||
dev->stop = eql_close;
|
||||
dev->do_ioctl = eql_ioctl;
|
||||
dev->hard_start_xmit = eql_slave_xmit;
|
||||
dev->get_stats = eql_get_stats;
|
||||
|
||||
/*
|
||||
* Now we undo some of the things that eth_setup does
|
||||
@@ -337,9 +335,9 @@ static int eql_slave_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
skb->priority = 1;
|
||||
slave->bytes_queued += skb->len;
|
||||
dev_queue_xmit(skb);
|
||||
eql->stats.tx_packets++;
|
||||
dev->stats.tx_packets++;
|
||||
} else {
|
||||
eql->stats.tx_dropped++;
|
||||
dev->stats.tx_dropped++;
|
||||
dev_kfree_skb(skb);
|
||||
}
|
||||
|
||||
@@ -348,12 +346,6 @@ static int eql_slave_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct net_device_stats * eql_get_stats(struct net_device *dev)
|
||||
{
|
||||
equalizer_t *eql = netdev_priv(dev);
|
||||
return &eql->stats;
|
||||
}
|
||||
|
||||
/*
|
||||
* Private ioctl functions
|
||||
*/
|
||||
|
Reference in New Issue
Block a user