Commit 239c562c authored by Anton Blanchard's avatar Anton Blanchard Committed by David S. Miller

ehea: Add 64bit statistics

Switch to using ndo_get_stats64 to get 64bit statistics.

v3:
[cascardo] use rtnl_link_stats64 as port stats
Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 39874861
...@@ -448,7 +448,7 @@ struct ehea_bcmc_reg_array { ...@@ -448,7 +448,7 @@ struct ehea_bcmc_reg_array {
struct ehea_port { struct ehea_port {
struct ehea_adapter *adapter; /* adapter that owns this port */ struct ehea_adapter *adapter; /* adapter that owns this port */
struct net_device *netdev; 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 ehea_port_res port_res[EHEA_MAX_PORT_RES];
struct platform_device ofdev; /* Open Firmware Device */ struct platform_device ofdev; /* Open Firmware Device */
struct ehea_mc_list *mc_list; /* Multicast MAC addresses */ struct ehea_mc_list *mc_list; /* Multicast MAC addresses */
......
...@@ -323,10 +323,10 @@ static void ehea_update_bcmc_registrations(void) ...@@ -323,10 +323,10 @@ static void ehea_update_bcmc_registrations(void)
spin_unlock_irqrestore(&ehea_bcmc_regs.lock, flags); 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 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; u64 rx_packets = 0, tx_packets = 0, rx_bytes = 0, tx_bytes = 0;
int i; int i;
...@@ -353,7 +353,7 @@ static void ehea_update_stats(struct work_struct *work) ...@@ -353,7 +353,7 @@ static void ehea_update_stats(struct work_struct *work)
struct ehea_port *port = struct ehea_port *port =
container_of(work, struct ehea_port, stats_work.work); container_of(work, struct ehea_port, stats_work.work);
struct net_device *dev = port->netdev; 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; struct hcp_ehea_port_cb2 *cb2;
u64 hret; u64 hret;
...@@ -3004,7 +3004,7 @@ static const struct net_device_ops ehea_netdev_ops = { ...@@ -3004,7 +3004,7 @@ static const struct net_device_ops ehea_netdev_ops = {
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = ehea_netpoll, .ndo_poll_controller = ehea_netpoll,
#endif #endif
.ndo_get_stats = ehea_get_stats, .ndo_get_stats64 = ehea_get_stats64,
.ndo_set_mac_address = ehea_set_mac_addr, .ndo_set_mac_address = ehea_set_mac_addr,
.ndo_validate_addr = eth_validate_addr, .ndo_validate_addr = eth_validate_addr,
.ndo_set_rx_mode = ehea_set_multicast_list, .ndo_set_rx_mode = ehea_set_multicast_list,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment