vfio/pci: Cleanup Kconfig
authorAlex Williamson <alex.williamson@redhat.com>
Wed, 14 Jun 2023 19:39:46 +0000 (13:39 -0600)
committerAlex Williamson <alex.williamson@redhat.com>
Fri, 16 Jun 2023 18:23:42 +0000 (12:23 -0600)
It should be possible to select vfio-pci variant drivers without building
vfio-pci itself, which implies each variant driver should select
vfio-pci-core.

Fix the top level vfio Makefile to traverse pci based on vfio-pci-core
rather than vfio-pci.

Mark MMAP and INTX options depending on vfio-pci-core to cleanup resulting
config if core is not enabled.

Push all PCI related vfio options to a sub-menu and make descriptions
consistent.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20230614193948.477036-2-alex.williamson@redhat.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/Makefile
drivers/vfio/pci/Kconfig
drivers/vfio/pci/hisilicon/Kconfig
drivers/vfio/pci/mlx5/Kconfig

index 70e7dcb..151e816 100644 (file)
@@ -10,7 +10,7 @@ vfio-$(CONFIG_VFIO_VIRQFD) += virqfd.o
 
 obj-$(CONFIG_VFIO_IOMMU_TYPE1) += vfio_iommu_type1.o
 obj-$(CONFIG_VFIO_IOMMU_SPAPR_TCE) += vfio_iommu_spapr_tce.o
-obj-$(CONFIG_VFIO_PCI) += pci/
+obj-$(CONFIG_VFIO_PCI_CORE) += pci/
 obj-$(CONFIG_VFIO_PLATFORM) += platform/
 obj-$(CONFIG_VFIO_MDEV) += mdev/
 obj-$(CONFIG_VFIO_FSL_MC) += fsl-mc/
index f9d0c90..86bb783 100644 (file)
@@ -1,5 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
-if PCI && MMU
+menu "VFIO support for PCI devices"
+       depends on PCI && MMU
+
 config VFIO_PCI_CORE
        tristate
        select VFIO_VIRQFD
@@ -7,9 +9,11 @@ config VFIO_PCI_CORE
 
 config VFIO_PCI_MMAP
        def_bool y if !S390
+       depends on VFIO_PCI_CORE
 
 config VFIO_PCI_INTX
        def_bool y if !S390
+       depends on VFIO_PCI_CORE
 
 config VFIO_PCI
        tristate "Generic VFIO support for any PCI device"
@@ -59,4 +63,4 @@ source "drivers/vfio/pci/mlx5/Kconfig"
 
 source "drivers/vfio/pci/hisilicon/Kconfig"
 
-endif
+endmenu
index 5daa0f4..cbf1c32 100644 (file)
@@ -1,13 +1,13 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config HISI_ACC_VFIO_PCI
-       tristate "VFIO PCI support for HiSilicon ACC devices"
+       tristate "VFIO support for HiSilicon ACC PCI devices"
        depends on ARM64 || (COMPILE_TEST && 64BIT)
-       depends on VFIO_PCI_CORE
        depends on PCI_MSI
        depends on CRYPTO_DEV_HISI_QM
        depends on CRYPTO_DEV_HISI_HPRE
        depends on CRYPTO_DEV_HISI_SEC2
        depends on CRYPTO_DEV_HISI_ZIP
+       select VFIO_PCI_CORE
        help
          This provides generic PCI support for HiSilicon ACC devices
          using the VFIO framework.
index 29ba9c5..7088edc 100644 (file)
@@ -2,7 +2,7 @@
 config MLX5_VFIO_PCI
        tristate "VFIO support for MLX5 PCI devices"
        depends on MLX5_CORE
-       depends on VFIO_PCI_CORE
+       select VFIO_PCI_CORE
        help
          This provides migration support for MLX5 devices using the VFIO
          framework.