Subject: linux-next: manual merge of the vfio tree with the drm tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 27 Aug 2021 16:55:40 +1000

Hi all,

Today's linux-next merge of the vfio tree got a conflict in:

  drivers/vfio/pci/vfio_pci.c

between commits:

  b8779475869a ("vgaarb: provide a vga_client_unregister wrapper")
  f6b1772b2555 ("vgaarb: remove the unused irq_set_state argument to vga_client_register")
  bf44e8cecc03 ("vgaarb: don't pass a cookie to vga_client_register")

from the drm tree and commits:

  1cbd70fe3787 ("vfio/pci: Rename vfio_pci.c to vfio_pci_core.c")
  ff53edf6d6ab ("vfio/pci: Split the pci_driver code out of vfio_pci_core.c")

from the vfio tree.

I fixed it up (I reapplied the drm changes to vfio_pci_core.c - 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.

From: Stephen Rothwell <[email-masked]>
Date: Fri, 27 Aug 2021 16:52:45 +1000
Subject: [PATCH] fixup for "vfio/pci: Rename vfio_pci.c to vfio_pci_core.c"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/vfio/pci/vfio_pci_core.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c
index 675616e08897..68198e0f2a63 100644
--- a/drivers/vfio/pci/vfio_pci_core.c
+++ b/drivers/vfio/pci/vfio_pci_core.c
@@ -53,10 +53,9 @@ static inline bool vfio_vga_disabled(void)
  * has no way to get to it and routing can be disabled externally at the
  * bridge.
  */
-static unsigned int vfio_pci_set_vga_decode(void *opaque, bool single_vga)
+static unsigned int vfio_pci_set_decode(struct pci_dev *pdev, bool single_vga)
 {
-	struct vfio_pci_core_device *vdev = opaque;
-	struct pci_dev *tmp = NULL, *pdev = vdev->pdev;
+	struct pci_dev *tmp = NULL;
 	unsigned char max_busnr;
 	unsigned int decodes;
 
@@ -1756,10 +1755,10 @@ static int vfio_pci_vga_init(struct vfio_pci_core_device *vdev)
 	if (!vfio_pci_is_vga(pdev))
 		return 0;
 
-	ret = vga_client_register(pdev, vdev, NULL, vfio_pci_set_vga_decode);
+	ret = vga_client_register(pdev, vfio_pci_set_decode);
 	if (ret)
 		return ret;
-	vga_set_legacy_decoding(pdev, vfio_pci_set_vga_decode(vdev, false));
+	vga_set_legacy_decoding(pdev, vfio_pci_set_decode(pdev, false));
 	return 0;
 }
 
@@ -1769,7 +1768,7 @@ static void vfio_pci_vga_uninit(struct vfio_pci_core_device *vdev)
 
 	if (!vfio_pci_is_vga(pdev))
 		return;
-	vga_client_register(pdev, NULL, NULL, NULL);
+	vga_client_unregister(pdev);
 	vga_set_legacy_decoding(pdev, VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM |
 					      VGA_RSRC_LEGACY_IO |
 					      VGA_RSRC_LEGACY_MEM);
-- 
2.32.0

-- 
Cheers,
Stephen Rothwell