This is the last notifier toward the drivers, replace it with a simple op callback in the vfio_device_ops. v3: - Remove 'nb' doc string from ccw - Rebase on extern removal patch - Check that register_device/unregister_device are either both defined or not - Remove check of dma_unmap during vfio_register_iommu_driver() as it would break the drivers that don't use pin_pages - Don't change VFIO_IOMMU_NOTIFY_DMA_UNMAP to an enum since we are not keeping it anyhow v2: https://lore.kernel.org/r/0-v2-80aa110d03ce+24b-vfio_unmap_notif_jgg@xxxxxxxxxx - Declare and initialize variables in intel_vgpu_dma_unmap() - Remove 'vendor' when touching comments - Remove kdoc for vfio dma_unmap notifier - Add WARN_ON to vfio_register_emulated_iommu_dev() since dma_unmap is mandatory - Move dma_unmap call loop to vfio_notify_dma_unmap() - Document why the double mutex is being used and why the mutex lock is dropped when calling dma_unmap v1: https://lore.kernel.org/r/0-v1-896844109f36+a-vfio_unmap_notif_jgg@xxxxxxxxxx Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> Jason Gunthorpe (2): vfio: Replace the DMA unmapping notifier with a callback vfio: Replace the iommu notifier with a device list drivers/gpu/drm/i915/gvt/gvt.h | 1 - drivers/gpu/drm/i915/gvt/kvmgt.c | 75 +++++------------- drivers/s390/cio/vfio_ccw_ops.c | 41 +++------- drivers/s390/cio/vfio_ccw_private.h | 2 - drivers/s390/crypto/vfio_ap_ops.c | 53 ++----------- drivers/s390/crypto/vfio_ap_private.h | 3 - drivers/vfio/vfio.c | 108 ++++++-------------------- drivers/vfio/vfio.h | 9 +-- drivers/vfio/vfio_iommu_type1.c | 103 +++++++++++++++--------- include/linux/vfio.h | 21 +---- 10 files changed, 134 insertions(+), 282 deletions(-) base-commit: d1877e639bc6bf1c3131eda3f9ede73f8da96c22 -- 2.37.0