ehea: Add 64bit statistics
authorAnton Blanchard <anton@samba.org>
Fri, 14 Oct 2011 05:31:09 +0000 (05:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Oct 2011 23:00:55 +0000 (19:00 -0400)
Switch to using ndo_get_stats64 to get 64bit statistics.

v3:
[cascardo] use rtnl_link_stats64 as port stats

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ehea/ehea.h
drivers/net/ethernet/ibm/ehea/ehea_main.c

index 7aa47d8..c9dbe52 100644 (file)
@@ -448,7 +448,7 @@ struct ehea_bcmc_reg_array {
 struct ehea_port {
        struct ehea_adapter *adapter;    /* adapter that owns this port */
        struct net_device *netdev;
-       struct net_device_stats stats;
+       struct rtnl_link_stats64 stats;
        struct ehea_port_res port_res[EHEA_MAX_PORT_RES];
        struct platform_device  ofdev; /* Open Firmware Device */
        struct ehea_mc_list *mc_list;    /* Multicast MAC addresses */
index 289ad4d..a0a3c5f 100644 (file)
@@ -323,10 +323,10 @@ out:
        spin_unlock_irqrestore(&ehea_bcmc_regs.lock, flags);
 }
 
-static struct net_device_stats *ehea_get_stats(struct net_device *dev)
+static struct rtnl_link_stats64 *ehea_get_stats64(struct net_device *dev,
+                                       struct rtnl_link_stats64 *stats)
 {
        struct ehea_port *port = netdev_priv(dev);
-       struct net_device_stats *stats = &port->stats;
        u64 rx_packets = 0, tx_packets = 0, rx_bytes = 0, tx_bytes = 0;
        int i;
 
@@ -353,7 +353,7 @@ static void ehea_update_stats(struct work_struct *work)
        struct ehea_port *port =
                container_of(work, struct ehea_port, stats_work.work);
        struct net_device *dev = port->netdev;
-       struct net_device_stats *stats = &port->stats;
+       struct rtnl_link_stats64 *stats = &port->stats;
        struct hcp_ehea_port_cb2 *cb2;
        u64 hret;
 
@@ -3004,7 +3004,7 @@ static const struct net_device_ops ehea_netdev_ops = {
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = ehea_netpoll,
 #endif
-       .ndo_get_stats          = ehea_get_stats,
+       .ndo_get_stats64        = ehea_get_stats64,
        .ndo_set_mac_address    = ehea_set_mac_addr,
        .ndo_validate_addr      = eth_validate_addr,
        .ndo_set_rx_mode        = ehea_set_multicast_list,