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>
This commit is contained in:

committed by
David S. Miller

parent
f926204b8b
commit
7fa8d54704
@@ -25,6 +25,7 @@
|
||||
#include "mcdi.h"
|
||||
#include "mcdi_pcol.h"
|
||||
#include "selftest.h"
|
||||
#include "siena_sriov.h"
|
||||
|
||||
/* Hardware control for SFC9000 family including SFL9021 (aka Siena). */
|
||||
|
||||
@@ -306,7 +307,9 @@ static int siena_probe_nic(struct efx_nic *efx)
|
||||
if (rc)
|
||||
goto fail5;
|
||||
|
||||
#ifdef CONFIG_SFC_SRIOV
|
||||
efx_siena_sriov_probe(efx);
|
||||
#endif
|
||||
efx_ptp_defer_probe_with_channel(efx);
|
||||
|
||||
return 0;
|
||||
@@ -996,11 +999,18 @@ const struct efx_nic_type siena_a0_nic_type = {
|
||||
#endif
|
||||
.ptp_write_host_time = siena_ptp_write_host_time,
|
||||
.ptp_set_ts_config = siena_ptp_set_ts_config,
|
||||
#ifdef CONFIG_SFC_SRIOV
|
||||
.sriov_init = efx_siena_sriov_init,
|
||||
.sriov_fini = efx_siena_sriov_fini,
|
||||
.sriov_mac_address_changed = efx_siena_sriov_mac_address_changed,
|
||||
.sriov_wanted = efx_siena_sriov_wanted,
|
||||
.sriov_reset = efx_siena_sriov_reset,
|
||||
.sriov_flr = efx_siena_sriov_flr,
|
||||
.sriov_set_vf_mac = efx_siena_sriov_set_vf_mac,
|
||||
.sriov_set_vf_vlan = efx_siena_sriov_set_vf_vlan,
|
||||
.sriov_set_vf_spoofchk = efx_siena_sriov_set_vf_spoofchk,
|
||||
.sriov_get_vf_config = efx_siena_sriov_get_vf_config,
|
||||
#endif
|
||||
|
||||
.revision = EFX_REV_SIENA_A0,
|
||||
.txd_ptr_tbl_base = FR_BZ_TX_DESC_PTR_TBL,
|
||||
|
Reference in New Issue
Block a user