diff options
author | Shradha Shah <sshah@solarflare.com> | 2015-05-06 00:55:13 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-05-09 16:16:46 -0400 |
commit | 7fa8d547049aae543a5f21f1fe0e14414f1e7fdc (patch) | |
tree | 76554b506cb5cf42cb84a049916b23fe1ae00697 /drivers/net/ethernet/sfc/net_driver.h | |
parent | f926204b8bc978b7222403ddc9ec91bfb0f68428 (diff) | |
download | kernel_replicant_linux-7fa8d547049aae543a5f21f1fe0e14414f1e7fdc.tar.gz kernel_replicant_linux-7fa8d547049aae543a5f21f1fe0e14414f1e7fdc.tar.bz2 kernel_replicant_linux-7fa8d547049aae543a5f21f1fe0e14414f1e7fdc.zip |
sfc: Own header for nic-specific sriov functions, single instance of netdev_ops and sriov removed from Falcon code
By putting all the efx_{siena,ef10}_sriov_* declarations in
{siena,ef10}_sriov.h, ensure they cannot be called from nic-generic code.
Also fixes up an instance of this, where mcdi.c was calling
efx_siena_sriov_flr.
The single instance of netdev_ops should call general high level
functions that can then call something adapter specific in efx_nic_type.
We should only do adapter specialisation via efx_nic_type.
Removal of sriov functionality from the Falcon code means that tests
are needed for the presence of some callbacks.
Signed-off-by: Shradha Shah <sshah@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/sfc/net_driver.h')
-rw-r--r-- | drivers/net/ethernet/sfc/net_driver.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h index 325dd94bca46..ae0d145a5bed 100644 --- a/drivers/net/ethernet/sfc/net_driver.h +++ b/drivers/net/ethernet/sfc/net_driver.h @@ -1335,6 +1335,14 @@ struct efx_nic_type { void (*sriov_mac_address_changed)(struct efx_nic *efx); bool (*sriov_wanted)(struct efx_nic *efx); void (*sriov_reset)(struct efx_nic *efx); + void (*sriov_flr)(struct efx_nic *efx, unsigned vf_i); + int (*sriov_set_vf_mac)(struct efx_nic *efx, int vf_i, u8 *mac); + int (*sriov_set_vf_vlan)(struct efx_nic *efx, int vf_i, u16 vlan, + u8 qos); + int (*sriov_set_vf_spoofchk)(struct efx_nic *efx, int vf_i, + bool spoofchk); + int (*sriov_get_vf_config)(struct efx_nic *efx, int vf_i, + struct ifla_vf_info *ivi); int revision; unsigned int txd_ptr_tbl_base; |