net: usbnet: support 64bit stats
[sfrench/cifs-2.6.git] / include / linux / usb / usbnet.h
index 6e0ce8c7b8cb5a9fcb985a5a5078f82267d03092..7dffa5624ea62bee992e547c44ed4a86a577b0a7 100644 (file)
@@ -64,6 +64,8 @@ struct usbnet {
        struct usb_anchor       deferred;
        struct tasklet_struct   bh;
 
+       struct pcpu_sw_netstats __percpu *stats64;
+
        struct work_struct      kevent;
        unsigned long           flags;
 #              define EVENT_TX_HALT    0
@@ -261,10 +263,10 @@ extern void usbnet_pause_rx(struct usbnet *);
 extern void usbnet_resume_rx(struct usbnet *);
 extern void usbnet_purge_paused_rxq(struct usbnet *);
 
-extern int usbnet_get_settings(struct net_device *net,
-                              struct ethtool_cmd *cmd);
-extern int usbnet_set_settings(struct net_device *net,
-                              struct ethtool_cmd *cmd);
+extern int usbnet_get_link_ksettings(struct net_device *net,
+                                    struct ethtool_link_ksettings *cmd);
+extern int usbnet_set_link_ksettings(struct net_device *net,
+                                    const struct ethtool_link_ksettings *cmd);
 extern u32 usbnet_get_link(struct net_device *net);
 extern u32 usbnet_get_msglevel(struct net_device *);
 extern void usbnet_set_msglevel(struct net_device *, u32);
@@ -278,5 +280,7 @@ extern int usbnet_status_start(struct usbnet *dev, gfp_t mem_flags);
 extern void usbnet_status_stop(struct usbnet *dev);
 
 extern void usbnet_update_max_qlen(struct usbnet *dev);
+extern void usbnet_get_stats64(struct net_device *dev,
+                              struct rtnl_link_stats64 *stats);
 
 #endif /* __LINUX_USB_USBNET_H */