Message ID | 20230607230918.3157757-2-alex.williamson@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vfio: Cleanup Kconfigs | expand |
> -----Original Message----- > From: Alex Williamson [mailto:alex.williamson@redhat.com] > Sent: 08 June 2023 00:09 > To: kvm@vger.kernel.org > Cc: Alex Williamson <alex.williamson@redhat.com>; jgg@nvidia.com; > clg@redhat.com; eric.auger@redhat.com; liulongfang > <liulongfang@huawei.com>; Shameerali Kolothum Thodi > <shameerali.kolothum.thodi@huawei.com>; yishaih@nvidia.com; > kevin.tian@intel.com > Subject: [PATCH v2 1/3] vfio/pci: Cleanup Kconfig > > 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> > Signed-off-by: Alex Williamson <alex.williamson@redhat.com> > --- > drivers/vfio/Makefile | 2 +- > drivers/vfio/pci/Kconfig | 8 ++++++-- > drivers/vfio/pci/hisilicon/Kconfig | 4 ++-- > drivers/vfio/pci/mlx5/Kconfig | 2 +- > 4 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/drivers/vfio/Makefile b/drivers/vfio/Makefile > index 70e7dcb302ef..151e816b2ff9 100644 > --- a/drivers/vfio/Makefile > +++ b/drivers/vfio/Makefile > @@ -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/ > diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig > index f9d0c908e738..86bb7835cf3c 100644 > --- a/drivers/vfio/pci/Kconfig > +++ b/drivers/vfio/pci/Kconfig > @@ -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 > diff --git a/drivers/vfio/pci/hisilicon/Kconfig > b/drivers/vfio/pci/hisilicon/Kconfig > index 5daa0f45d2f9..cbf1c32f6ebf 100644 > --- a/drivers/vfio/pci/hisilicon/Kconfig > +++ b/drivers/vfio/pci/hisilicon/Kconfig > @@ -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" Thanks for correcting this. > 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. > diff --git a/drivers/vfio/pci/mlx5/Kconfig b/drivers/vfio/pci/mlx5/Kconfig > index 29ba9c504a75..7088edc4fb28 100644 > --- a/drivers/vfio/pci/mlx5/Kconfig > +++ b/drivers/vfio/pci/mlx5/Kconfig > @@ -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. Reviewed-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Thanks, Shameer
diff --git a/drivers/vfio/Makefile b/drivers/vfio/Makefile index 70e7dcb302ef..151e816b2ff9 100644 --- a/drivers/vfio/Makefile +++ b/drivers/vfio/Makefile @@ -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/ diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig index f9d0c908e738..86bb7835cf3c 100644 --- a/drivers/vfio/pci/Kconfig +++ b/drivers/vfio/pci/Kconfig @@ -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 diff --git a/drivers/vfio/pci/hisilicon/Kconfig b/drivers/vfio/pci/hisilicon/Kconfig index 5daa0f45d2f9..cbf1c32f6ebf 100644 --- a/drivers/vfio/pci/hisilicon/Kconfig +++ b/drivers/vfio/pci/hisilicon/Kconfig @@ -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. diff --git a/drivers/vfio/pci/mlx5/Kconfig b/drivers/vfio/pci/mlx5/Kconfig index 29ba9c504a75..7088edc4fb28 100644 --- a/drivers/vfio/pci/mlx5/Kconfig +++ b/drivers/vfio/pci/mlx5/Kconfig @@ -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.