Hi Alex, this series cleans up how iommu group are created in VFIO as well as various other lose ends around that. Changes since v5: - update a ommit messag - move a hunk into the correct patch - add a new patch to initialize pgsize_bitmap to ULONG_MAX in ->open Changes since v4: - clean up an intermediate version of vfio_group_find_or_alloc to avoid reviewer confusion - replace an incorrect NULL check with IS_ERR - rebased ontop of the vfio_ap_ops changes in Linux 5.15-rc - improve a commit message Changes since v3: - restore the attribution to Jason for patch 1, which git-rebase lost - fix a vfio vs iommu group counting issue that I added over Jasons original patch - add comments describing the VFIO_EMULATED_IOMMU and VFIO_NO_IOMMU flags - use the emulated iommu naming consistently in comments - a spelling fix Changes since v2: - cosmetic changes to the code flow in vfio_group_find_or_alloc - replace "mediated" with "emulated iommu" - add a comment describing vfio_register_emulated_iommu_dev - rebased on top of the "Introduce vfio_pci_core subsystem" series Changes since v1: - only taint if a noiommu group was successfully created Diffstat: drivers/s390/crypto/vfio_ap_ops.c | 2 drivers/vfio/fsl-mc/vfio_fsl_mc.c | 17 - drivers/vfio/mdev/mdev_driver.c | 45 --- drivers/vfio/mdev/vfio_mdev.c | 2 drivers/vfio/pci/vfio_pci_core.c | 13 - drivers/vfio/platform/vfio_platform_common.c | 13 - drivers/vfio/vfio.c | 307 ++++++++++++--------------- drivers/vfio/vfio.h | 72 ++++++ drivers/vfio/vfio_iommu_spapr_tce.c | 6 drivers/vfio/vfio_iommu_type1.c | 256 ++++++---------------- include/linux/mdev.h | 20 - include/linux/vfio.h | 53 ---- samples/vfio-mdev/mbochs.c | 2 samples/vfio-mdev/mdpy.c | 2 samples/vfio-mdev/mtty.c | 2 15 files changed, 304 insertions(+), 508 deletions(-)