#include <linux/ethtool.h>
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/phy.h>
#include "altera_tse.h"
#define TSE_STATS_LEN …
#define TSE_NUM_REGS …
static char const stat_gstrings[][ETH_GSTRING_LEN] = …;
static void tse_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
{ … }
static void tse_gstrings(struct net_device *dev, u32 stringset, u8 *buf)
{ … }
static void tse_fill_stats(struct net_device *dev, struct ethtool_stats *dummy,
u64 *buf)
{ … }
static int tse_sset_count(struct net_device *dev, int sset)
{ … }
static u32 tse_get_msglevel(struct net_device *dev)
{ … }
static void tse_set_msglevel(struct net_device *dev, uint32_t data)
{ … }
static int tse_reglen(struct net_device *dev)
{ … }
static void tse_get_regs(struct net_device *dev, struct ethtool_regs *regs,
void *regbuf)
{ … }
static int tse_ethtool_set_link_ksettings(struct net_device *dev,
const struct ethtool_link_ksettings *cmd)
{ … }
static int tse_ethtool_get_link_ksettings(struct net_device *dev,
struct ethtool_link_ksettings *cmd)
{ … }
static const struct ethtool_ops tse_ethtool_ops = …;
void altera_tse_set_ethtool_ops(struct net_device *netdev)
{ … }