This series includes few enhancements in the migration area and some fixes in mlx5 driver as of below. It splits migration ops from the main device ops, this enables a driver to safely set its migration's ops only when migration is supported and leave the other code around (e.g., core, driver) clean. Registering different structs based on the device capabilities might start to hit combinatorial explosion when we'll introduce ops for dirty logging that may be optional too. As part of that, adapt mlx5 to this scheme and fix some issues around its migration capable usage. Yishai Hadas (2): vfio/mlx5: Protect mlx5vf_disable_fds() upon close device vfio: Split migration ops from main device ops .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c | 11 +++++--- drivers/vfio/pci/mlx5/cmd.c | 14 +++++++++- drivers/vfio/pci/mlx5/cmd.h | 4 ++- drivers/vfio/pci/mlx5/main.c | 11 +++++--- drivers/vfio/vfio.c | 13 +++++----- include/linux/vfio.h | 26 ++++++++++++------- 6 files changed, 54 insertions(+), 25 deletions(-) -- 2.18.1