diff options
author | Martin Habets | 2022-05-11 17:20:25 +0100 |
---|---|---|
committer | Jakub Kicinski | 2022-05-12 16:49:30 -0700 |
commit | c374303969eac5639bd9230f1c7e7390cb92cc8e (patch) | |
tree | aa5b2c9ee63eae0e672206c2af0c8bbcdc07b8da | |
parent | ef9b5770945ddc296a68080ab7a79aedbf0b0151 (diff) |
sfc/siena: Reinstate SRIOV init/fini function calls
They were removed in the first series since they were not used for EF10.
Put that code back for Siena, with the prototypes in siena_sriov.h
since that file is a more applicable place for it.
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Martin Habets <habetsm.xilinx@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | drivers/net/ethernet/sfc/siena/efx.c | 16 | ||||
-rw-r--r-- | drivers/net/ethernet/sfc/siena/siena_sriov.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/siena/efx.c b/drivers/net/ethernet/sfc/siena/efx.c index 01809666a3d1..63d999e63960 100644 --- a/drivers/net/ethernet/sfc/siena/efx.c +++ b/drivers/net/ethernet/sfc/siena/efx.c @@ -32,6 +32,9 @@ #include "io.h" #include "selftest.h" #include "sriov.h" +#ifdef CONFIG_SFC_SIENA_SRIOV +#include "siena_sriov.h" +#endif #include "mcdi_port_common.h" #include "mcdi_pcol.h" @@ -1271,6 +1274,12 @@ static int __init efx_init_module(void) if (rc) goto err_notifier; +#ifdef CONFIG_SFC_SIENA_SRIOV + rc = efx_init_sriov(); + if (rc) + goto err_sriov; +#endif + rc = efx_siena_create_reset_workqueue(); if (rc) goto err_reset; @@ -1284,6 +1293,10 @@ static int __init efx_init_module(void) err_pci: efx_siena_destroy_reset_workqueue(); err_reset: +#ifdef CONFIG_SFC_SIENA_SRIOV + efx_fini_sriov(); + err_sriov: +#endif unregister_netdevice_notifier(&efx_netdev_notifier); err_notifier: return rc; @@ -1295,6 +1308,9 @@ static void __exit efx_exit_module(void) pci_unregister_driver(&efx_pci_driver); efx_siena_destroy_reset_workqueue(); +#ifdef CONFIG_SFC_SIENA_SRIOV + efx_fini_sriov(); +#endif unregister_netdevice_notifier(&efx_netdev_notifier); } diff --git a/drivers/net/ethernet/sfc/siena/siena_sriov.h b/drivers/net/ethernet/sfc/siena/siena_sriov.h index 69a7a18e9ba0..50f6e924495e 100644 --- a/drivers/net/ethernet/sfc/siena/siena_sriov.h +++ b/drivers/net/ethernet/sfc/siena/siena_sriov.h @@ -60,6 +60,9 @@ static inline bool efx_siena_sriov_enabled(struct efx_nic *efx) { return efx->vf_init_count != 0; } + +int efx_init_sriov(void); +void efx_fini_sriov(void); #else /* !CONFIG_SFC_SIENA_SRIOV */ static inline bool efx_siena_sriov_enabled(struct efx_nic *efx) { |