vfio: Split virqfd into a separate module for vfio bus drivers
An unintended consequence of commit 42ac9bd18d
("vfio: initialize
the virqfd workqueue in VFIO generic code") is that the vfio module
is renamed to vfio_core so that it can include both vfio and virqfd.
That's a user visible change that may break module loading scritps
and it imposes eventfd support as a dependency on the core vfio code,
which it's really not. virqfd is intended to be provided as a service
to vfio bus drivers, so instead of wrapping it into vfio.ko, we can
make it a stand-alone module toggled by vfio bus drivers. This has
the additional benefit of removing initialization and exit from the
core vfio code.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
このコミットが含まれているのは:
@@ -1552,11 +1552,6 @@ static int __init vfio_init(void)
|
||||
if (ret)
|
||||
goto err_cdev_add;
|
||||
|
||||
/* Start the virqfd cleanup handler used by some VFIO bus drivers */
|
||||
ret = vfio_virqfd_init();
|
||||
if (ret)
|
||||
goto err_virqfd;
|
||||
|
||||
pr_info(DRIVER_DESC " version: " DRIVER_VERSION "\n");
|
||||
|
||||
/*
|
||||
@@ -1569,8 +1564,6 @@ static int __init vfio_init(void)
|
||||
|
||||
return 0;
|
||||
|
||||
err_virqfd:
|
||||
cdev_del(&vfio.group_cdev);
|
||||
err_cdev_add:
|
||||
unregister_chrdev_region(vfio.group_devt, MINORMASK);
|
||||
err_alloc_chrdev:
|
||||
@@ -1585,7 +1578,6 @@ static void __exit vfio_cleanup(void)
|
||||
{
|
||||
WARN_ON(!list_empty(&vfio.group_list));
|
||||
|
||||
vfio_virqfd_exit();
|
||||
idr_destroy(&vfio.group_idr);
|
||||
cdev_del(&vfio.group_cdev);
|
||||
unregister_chrdev_region(vfio.group_devt, MINORMASK);
|
||||
|
新しいイシューから参照
ユーザーをブロックする