[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y4/RqtFMCobuOL8J@nvidia.com>
Date: Tue, 6 Dec 2022 19:35:06 -0400
From: Jason Gunthorpe <jgg@...dia.com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Alex Williamson <alex.williamson@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>,
Yi Liu <yi.l.liu@...el.com>
Subject: Re: linux-next: manual merge of the iommufd tree with the vfio tree
On Tue, Dec 06, 2022 at 12:55:42PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the iommufd tree got conflicts in:
>
> drivers/vfio/Kconfig
> drivers/vfio/Makefile
>
> between commits:
>
> 20601c45a0fa ("vfio: Remove CONFIG_VFIO_SPAPR_EEH")
> e2d55709398e ("vfio: Fold vfio_virqfd.ko into vfio.ko")
>
> from the vfio tree and commits:
>
> a4d1f91db502 ("vfio-iommufd: Support iommufd for physical VFIO devices")
> e5a9ec7e096a ("vfio: Make vfio_container optionally compiled")
> c2849d718d26 ("vfio: Move vfio group specific code into group.c")
>
> from the iommufd tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
I got the same as you for what you showed, but I also got a hunk in
vfio_main.c as well? It looks close to your next-20221206 tag, but I
renamed 'err_virqfd' to 'err_group' and 'err_dev_class' to
'err_virqfd' for consistency with the rest of the file.
Thanks,
Jason
@@@ -1260,27 -1902,59 +1348,34 @@@ static int __init vfio_init(void
if (ret)
return ret;
+ ret = vfio_virqfd_init();
+ if (ret)
- goto err_virqfd;
-
- /* /dev/vfio/$GROUP */
- vfio.class = class_create(THIS_MODULE, "vfio");
- if (IS_ERR(vfio.class)) {
- ret = PTR_ERR(vfio.class);
- goto err_group_class;
- }
-
- vfio.class->devnode = vfio_devnode;
++ goto err_group;
+
/* /sys/class/vfio-dev/vfioX */
vfio.device_class = class_create(THIS_MODULE, "vfio-dev");
if (IS_ERR(vfio.device_class)) {
ret = PTR_ERR(vfio.device_class);
-- goto err_dev_class;
++ goto err_virqfd;
}
- ret = alloc_chrdev_region(&vfio.group_devt, 0, MINORMASK + 1, "vfio");
- if (ret)
- goto err_alloc_chrdev;
-
pr_info(DRIVER_DESC " version: " DRIVER_VERSION "\n");
return 0;
-err_alloc_chrdev:
- class_destroy(vfio.device_class);
- vfio.device_class = NULL;
--err_dev_class:
- class_destroy(vfio.class);
- vfio.class = NULL;
-err_group_class:
- vfio_virqfd_exit();
+ err_virqfd:
- vfio_container_cleanup();
++ vfio_virqfd_exit();
++err_group:
+ vfio_group_cleanup();
return ret;
}
static void __exit vfio_cleanup(void)
{
- WARN_ON(!list_empty(&vfio.group_list));
-
ida_destroy(&vfio.device_ida);
- ida_destroy(&vfio.group_ida);
- unregister_chrdev_region(vfio.group_devt, MINORMASK + 1);
class_destroy(vfio.device_class);
vfio.device_class = NULL;
- class_destroy(vfio.class);
+ vfio_virqfd_exit();
- vfio_container_cleanup();
- vfio.class = NULL;
+ vfio_group_cleanup();
xa_destroy(&vfio_device_set_xa);
}
Powered by blists - more mailing lists