Rather than doing a module request from within the init function, add
a soft dependency on the available IOMMU backend drivers.  This makes
the dependency visible to userspace when picking modules for the
ram disk.

Signed-off-by: Alex Williamson <[email protected]>
---
 drivers/vfio/vfio.c |    9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
index 9901c4671e2f..57052b68f15a 100644
--- a/drivers/vfio/vfio.c
+++ b/drivers/vfio/vfio.c
@@ -2250,14 +2250,6 @@ static int __init vfio_init(void)
 
        pr_info(DRIVER_DESC " version: " DRIVER_VERSION "\n");
 
-       /*
-        * Attempt to load known iommu-drivers.  This gives us a working
-        * environment without the user needing to explicitly load iommu
-        * drivers.
-        */
-       request_module_nowait("vfio_iommu_type1");
-       request_module_nowait("vfio_iommu_spapr_tce");
-
 #ifdef CONFIG_VFIO_NOIOMMU
        vfio_register_iommu_driver(&vfio_noiommu_ops);
 #endif
@@ -2297,3 +2289,4 @@ static void __exit vfio_cleanup(void)
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_ALIAS_MISCDEV(VFIO_MINOR);
 MODULE_ALIAS("devname:vfio/vfio");
+MODULE_SOFTDEP("post: vfio_iommu_type1 vfio_iommu_spapr_tce");

Reply via email to