#define pr_fmt(fmt) …
#include <linux/unaligned.h>
#include <linux/ethtool.h>
#include <linux/netdevice.h>
#include <linux/platform_device.h>
#include "bcmasp.h"
#include "bcmasp_intf_defs.h"
enum bcmasp_stat_type { … };
struct bcmasp_stats { … };
#define STAT_BCMASP_SOFT_MIB(str) …
#define STAT_BCMASP_OFFSET(str, _type, offset) …
#define STAT_BCMASP_RX_EDPKT(str, offset) …
#define STAT_BCMASP_RX_CTRL(str, offset) …
#define STAT_BCMASP_RX_CTRL_PER_INTF(str, offset) …
static const struct bcmasp_stats bcmasp_gstrings_stats[] = …;
#define BCMASP_STATS_LEN …
static u16 bcmasp_stat_fixup_offset(struct bcmasp_intf *intf,
const struct bcmasp_stats *s)
{ … }
static int bcmasp_get_sset_count(struct net_device *dev, int string_set)
{ … }
static void bcmasp_get_strings(struct net_device *dev, u32 stringset,
u8 *data)
{ … }
static void bcmasp_update_mib_counters(struct bcmasp_intf *intf)
{ … }
static void bcmasp_get_ethtool_stats(struct net_device *dev,
struct ethtool_stats *stats,
u64 *data)
{ … }
static void bcmasp_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
{ … }
static u32 bcmasp_get_msglevel(struct net_device *dev)
{ … }
static void bcmasp_set_msglevel(struct net_device *dev, u32 level)
{ … }
#define BCMASP_SUPPORTED_WAKE …
static void bcmasp_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
{ … }
static int bcmasp_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
{ … }
static int bcmasp_flow_insert(struct net_device *dev, struct ethtool_rxnfc *cmd)
{ … }
static int bcmasp_flow_delete(struct net_device *dev, struct ethtool_rxnfc *cmd)
{ … }
static int bcmasp_flow_get(struct bcmasp_intf *intf, struct ethtool_rxnfc *cmd)
{ … }
static int bcmasp_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
{ … }
static int bcmasp_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
u32 *rule_locs)
{ … }
void bcmasp_eee_enable_set(struct bcmasp_intf *intf, bool enable)
{ … }
static int bcmasp_get_eee(struct net_device *dev, struct ethtool_keee *e)
{ … }
static int bcmasp_set_eee(struct net_device *dev, struct ethtool_keee *e)
{ … }
static void bcmasp_get_eth_mac_stats(struct net_device *dev,
struct ethtool_eth_mac_stats *mac_stats)
{ … }
static const struct ethtool_rmon_hist_range bcmasp_rmon_ranges[] = …;
static void bcmasp_get_rmon_stats(struct net_device *dev,
struct ethtool_rmon_stats *rmon_stats,
const struct ethtool_rmon_hist_range **ranges)
{ … }
static void bcmasp_get_eth_ctrl_stats(struct net_device *dev,
struct ethtool_eth_ctrl_stats *ctrl_stats)
{ … }
const struct ethtool_ops bcmasp_ethtool_ops = …;