vfio: Replace module request with softdep
authorAlex Williamson <alex.williamson@redhat.com>
Wed, 8 Feb 2017 20:13:26 +0000 (13:13 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Thu, 9 Feb 2017 19:13:53 +0000 (12:13 -0700)
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 <alex.williamson@redhat.com>
drivers/vfio/vfio.c

index 9901c46..57052b6 100644 (file)
@@ -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 @@ MODULE_AUTHOR(DRIVER_AUTHOR);
 MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_ALIAS_MISCDEV(VFIO_MINOR);
 MODULE_ALIAS("devname:vfio/vfio");
+MODULE_SOFTDEP("post: vfio_iommu_type1 vfio_iommu_spapr_tce");