#include "net_driver.h"
#include "mcdi_port_common.h"
#include "mcdi_functions.h"
#include "efx_common.h"
#include "efx_channels.h"
#include "tx_common.h"
#include "ef100_netdev.h"
#include "ef100_ethtool.h"
#include "nic_common.h"
#include "ef100_nic.h"
#include "ef100_tx.h"
#include "ef100_regs.h"
#include "mcdi_filters.h"
#include "rx_common.h"
#include "ef100_sriov.h"
#include "tc_bindings.h"
#include "tc_encap_actions.h"
#include "efx_devlink.h"
static void ef100_update_name(struct efx_nic *efx)
{ … }
static int ef100_alloc_vis(struct efx_nic *efx, unsigned int *allocated_vis)
{ … }
static int ef100_remap_bar(struct efx_nic *efx, int max_vis)
{ … }
static int ef100_net_stop(struct net_device *net_dev)
{ … }
static int ef100_net_open(struct net_device *net_dev)
{ … }
static netdev_tx_t ef100_hard_start_xmit(struct sk_buff *skb,
struct net_device *net_dev)
{ … }
netdev_tx_t __ef100_hard_start_xmit(struct sk_buff *skb,
struct efx_nic *efx,
struct net_device *net_dev,
struct efx_rep *efv)
{ … }
static const struct net_device_ops ef100_netdev_ops = …;
int ef100_netdev_event(struct notifier_block *this,
unsigned long event, void *ptr)
{ … }
static int ef100_netevent_event(struct notifier_block *this,
unsigned long event, void *ptr)
{
struct efx_nic *efx = container_of(this, struct efx_nic, netevent_notifier);
struct ef100_nic_data *nic_data = efx->nic_data;
int err;
if (!nic_data->grp_mae)
return NOTIFY_DONE;
err = efx_tc_netevent_event(efx, event, ptr);
if (err & NOTIFY_STOP_MASK)
return err;
return NOTIFY_DONE;
};
static int ef100_register_netdev(struct efx_nic *efx)
{ … }
static void ef100_unregister_netdev(struct efx_nic *efx)
{ … }
void ef100_remove_netdev(struct efx_probe_data *probe_data)
{ … }
int ef100_probe_netdev(struct efx_probe_data *probe_data)
{ … }