remove the nvlink2 pci_vfio subdriver v2

Christoph Hellwig
2021-03-26T06:14:22Z

Hi all,

the nvlink2 vfio subdriver is a weird beast. It supports a hardware
feature without any open source component - what would normally be
the normal open source userspace that we require for kernel drivers,
although in this particular case user space could of course be a
kernel driver in a VM. It also happens to be a complete mess that
does not properly bind to PCI IDs, is hacked into the vfio_pci driver
and also pulles in over 1000 lines of code always build into powerpc
kernels that have Power NV support enabled. Because of all these
issues and the lack of breaking userspace when it is removed I think
the best idea is to simply kill.

Changes since v1:
- document the removed subtypes as reserved
- add the ACK from Greg

Diffstat:
arch/powerpc/platforms/powernv/npu-dma.c | 705 ---------------------------
b/arch/powerpc/include/asm/opal.h | 3
b/arch/powerpc/include/asm/pci-bridge.h | 1
b/arch/powerpc/include/asm/pci.h | 7
b/arch/powerpc/platforms/powernv/Makefile | 2
b/arch/powerpc/platforms/powernv/opal-call.c | 2
b/arch/powerpc/platforms/powernv/pci-ioda.c | 185 -------
b/arch/powerpc/platforms/powernv/pci.c | 11
b/arch/powerpc/platforms/powernv/pci.h | 17
b/arch/powerpc/platforms/pseries/pci.c | 23
b/drivers/vfio/pci/Kconfig | 6
b/drivers/vfio/pci/Makefile | 1
b/drivers/vfio/pci/vfio_pci.c | 18
b/drivers/vfio/pci/vfio_pci_private.h | 14
b/include/uapi/linux/vfio.h | 38 -
drivers/vfio/pci/vfio_pci_nvlink2.c | 490 ------------------
16 files changed, 12 insertions(+), 1511 deletions(-)