#include <linux/vmalloc.h>
#include <linux/netdevice.h>
#include <linux/ethtool.h>
#include <linux/platform_device.h>
#include "fjes.h"
struct fjes_stats { … };
#define FJES_STAT(name, stat) …
static const struct fjes_stats fjes_gstrings_stats[] = …;
#define FJES_EP_STATS_LEN …
#define FJES_STATS_LEN …
static void fjes_get_ethtool_stats(struct net_device *netdev,
struct ethtool_stats *stats, u64 *data)
{ … }
static void fjes_get_strings(struct net_device *netdev,
u32 stringset, u8 *data)
{ … }
static int fjes_get_sset_count(struct net_device *netdev, int sset)
{ … }
static void fjes_get_drvinfo(struct net_device *netdev,
struct ethtool_drvinfo *drvinfo)
{ … }
static int fjes_get_link_ksettings(struct net_device *netdev,
struct ethtool_link_ksettings *ecmd)
{ … }
static int fjes_get_regs_len(struct net_device *netdev)
{ … }
static void fjes_get_regs(struct net_device *netdev,
struct ethtool_regs *regs, void *p)
{ … }
static int fjes_set_dump(struct net_device *netdev, struct ethtool_dump *dump)
{ … }
static int fjes_get_dump_flag(struct net_device *netdev,
struct ethtool_dump *dump)
{ … }
static int fjes_get_dump_data(struct net_device *netdev,
struct ethtool_dump *dump, void *buf)
{ … }
static const struct ethtool_ops fjes_ethtool_ops = …;
void fjes_set_ethtool_ops(struct net_device *netdev)
{ … }