All VFIO initialization always happens with "vfio" module, and now that the API is not public, having a way to override the module name seems redundant as there is not going to be a use case that calls into `rte_vfio_enable` that isn't coming from EAL init. So, remove the parameter, and hardcode the modname to "vfio" instead.
Signed-off-by: Anatoly Burakov <[email protected]> --- drivers/bus/pci/linux/pci_vfio.c | 2 +- lib/eal/freebsd/eal.c | 2 +- lib/eal/include/rte_vfio.h | 7 ++----- lib/eal/linux/eal.c | 2 +- lib/eal/linux/eal_vfio.c | 5 +++-- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c index bc5c5c2499..f3791cce98 100644 --- a/drivers/bus/pci/linux/pci_vfio.c +++ b/drivers/bus/pci/linux/pci_vfio.c @@ -1303,7 +1303,7 @@ pci_vfio_is_enabled(void) int status = rte_vfio_is_enabled("vfio_pci"); if (!status) { - rte_vfio_enable("vfio"); + rte_vfio_enable(); status = rte_vfio_is_enabled("vfio_pci"); } return status; diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c index aa6d4c2e16..52d265769e 100644 --- a/lib/eal/freebsd/eal.c +++ b/lib/eal/freebsd/eal.c @@ -839,7 +839,7 @@ int rte_vfio_release_device(__rte_unused const char *sysfs_base, } RTE_EXPORT_INTERNAL_SYMBOL(rte_vfio_enable) -int rte_vfio_enable(__rte_unused const char *modname) +int rte_vfio_enable(void) { rte_errno = ENOTSUP; return -1; diff --git a/lib/eal/include/rte_vfio.h b/lib/eal/include/rte_vfio.h index e76181c83c..b53ce56a8d 100644 --- a/lib/eal/include/rte_vfio.h +++ b/lib/eal/include/rte_vfio.h @@ -94,20 +94,17 @@ int rte_vfio_release_device(const char *sysfs_base, const char *dev_addr, int fd /** * @internal - * Enable a VFIO-related kmod. + * Initialize VFIO. * * This function is only relevant to linux and will return * an error on BSD. * - * @param modname - * kernel module name. - * * @return * 0 on success. * <0 on failure. */ __rte_internal -int rte_vfio_enable(const char *modname); +int rte_vfio_enable(void); /** * @internal diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c index 5577bab24a..17977baedc 100644 --- a/lib/eal/linux/eal.c +++ b/lib/eal/linux/eal.c @@ -771,7 +771,7 @@ rte_eal_init(int argc, char **argv) #endif } - if (rte_vfio_enable("vfio")) { + if (rte_vfio_enable()) { rte_eal_init_alert("Cannot init VFIO"); rte_errno = EAGAIN; goto err_out; diff --git a/lib/eal/linux/eal_vfio.c b/lib/eal/linux/eal_vfio.c index d4173f7a01..da46ef2f17 100644 --- a/lib/eal/linux/eal_vfio.c +++ b/lib/eal/linux/eal_vfio.c @@ -25,6 +25,7 @@ #include "eal_internal_cfg.h" #define VFIO_MEM_EVENT_CLB_NAME "vfio_mem_event_clb" +#define VFIO_MODNAME "vfio" /* hot plug/unplug of VFIO groups may cause all DMA maps to be dropped. we can * recreate the mappings for DPDK segments, but we cannot do so for memory that @@ -1123,7 +1124,7 @@ rte_vfio_release_device(const char *sysfs_base, const char *dev_addr, RTE_EXPORT_INTERNAL_SYMBOL(rte_vfio_enable) int -rte_vfio_enable(const char *modname) +rte_vfio_enable(void) { /* initialize group list */ unsigned int i, j; @@ -1154,7 +1155,7 @@ rte_vfio_enable(const char *modname) EAL_LOG(DEBUG, "Probing VFIO support..."); /* check if vfio module is loaded */ - vfio_available = rte_eal_check_module(modname); + vfio_available = rte_eal_check_module(VFIO_MODNAME); /* return error directly */ if (vfio_available == -1) { -- 2.52.0

