]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
vfio: Use kconfig if XX/endif blocks instead of repeating 'depends on'
authorJason Gunthorpe <jgg@nvidia.com>
Thu, 26 Aug 2021 10:39:11 +0000 (13:39 +0300)
committerAlex Williamson <alex.williamson@redhat.com>
Thu, 26 Aug 2021 16:36:51 +0000 (10:36 -0600)
This results in less kconfig wordage and a simpler understanding of the
required "depends on" to create the menu structure.

The next patch increases the nesting level a lot so this is a nice
preparatory simplification.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Link: https://lore.kernel.org/r/20210826103912.128972-13-yishaih@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/Kconfig
drivers/vfio/fsl-mc/Kconfig
drivers/vfio/mdev/Kconfig
drivers/vfio/pci/Kconfig
drivers/vfio/platform/Kconfig
drivers/vfio/platform/reset/Kconfig

index 698ca35b3f03189fe04c6b0e529e3a21e0cb9e4b..6130d00252ed7f8b835e67c31ced67085565b8bf 100644 (file)
@@ -1,12 +1,22 @@
 # SPDX-License-Identifier: GPL-2.0-only
+menuconfig VFIO
+       tristate "VFIO Non-Privileged userspace driver framework"
+       select IOMMU_API
+       select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64)
+       help
+         VFIO provides a framework for secure userspace device drivers.
+         See Documentation/driver-api/vfio.rst for more details.
+
+         If you don't know what to do here, say N.
+
+if VFIO
 config VFIO_IOMMU_TYPE1
        tristate
-       depends on VFIO
        default n
 
 config VFIO_IOMMU_SPAPR_TCE
        tristate
-       depends on VFIO && SPAPR_TCE_IOMMU
+       depends on SPAPR_TCE_IOMMU
        default VFIO
 
 config VFIO_SPAPR_EEH
@@ -16,23 +26,11 @@ config VFIO_SPAPR_EEH
 
 config VFIO_VIRQFD
        tristate
-       depends on VFIO
        select EVENTFD
        default n
 
-menuconfig VFIO
-       tristate "VFIO Non-Privileged userspace driver framework"
-       select IOMMU_API
-       select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64)
-       help
-         VFIO provides a framework for secure userspace device drivers.
-         See Documentation/driver-api/vfio.rst for more details.
-
-         If you don't know what to do here, say N.
-
 config VFIO_NOIOMMU
        bool "VFIO No-IOMMU support"
-       depends on VFIO
        help
          VFIO is built on the ability to isolate devices using the IOMMU.
          Only with an IOMMU can userspace access to DMA capable devices be
@@ -49,4 +47,6 @@ source "drivers/vfio/pci/Kconfig"
 source "drivers/vfio/platform/Kconfig"
 source "drivers/vfio/mdev/Kconfig"
 source "drivers/vfio/fsl-mc/Kconfig"
+endif
+
 source "virt/lib/Kconfig"
index 6df66813c88276ac76e50410a6fae37dbe42c898..597d338c5c8a2ca77fb504b1ee70df7575b5adc7 100644 (file)
@@ -1,6 +1,6 @@
 config VFIO_FSL_MC
        tristate "VFIO support for QorIQ DPAA2 fsl-mc bus devices"
-       depends on VFIO && FSL_MC_BUS
+       depends on FSL_MC_BUS
        select EVENTFD
        help
          Driver to enable support for the VFIO QorIQ DPAA2 fsl-mc
index 763c877a1318bc265935002af8a0df6a1c37e4c5..646dbed44eb2838c788dcc557475a3be65f27aac 100644 (file)
@@ -2,7 +2,6 @@
 
 config VFIO_MDEV
        tristate "Mediated device driver framework"
-       depends on VFIO
        default n
        help
          Provides a framework to virtualize devices.
index d208a95a2767b53c66f2d8233cd52c84aa15d949..afdab7d71e98cc1e16606b0a4fcdec987b10cab2 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config VFIO_PCI
        tristate "VFIO support for PCI devices"
-       depends on VFIO && PCI
+       depends on PCI
        depends on MMU
        select VFIO_VIRQFD
        select IRQ_BYPASS_MANAGER
@@ -11,9 +11,10 @@ config VFIO_PCI
 
          If you don't know what to do here, say N.
 
+if VFIO_PCI
 config VFIO_PCI_VGA
        bool "VFIO PCI support for VGA devices"
-       depends on VFIO_PCI && X86 && VGA_ARB
+       depends on X86 && VGA_ARB
        help
          Support for VGA extension to VFIO PCI.  This exposes an additional
          region on VGA devices for accessing legacy VGA addresses used by
@@ -22,16 +23,14 @@ config VFIO_PCI_VGA
          If you don't know what to do here, say N.
 
 config VFIO_PCI_MMAP
-       depends on VFIO_PCI
        def_bool y if !S390
 
 config VFIO_PCI_INTX
-       depends on VFIO_PCI
        def_bool y if !S390
 
 config VFIO_PCI_IGD
        bool "VFIO PCI extensions for Intel graphics (GVT-d)"
-       depends on VFIO_PCI && X86
+       depends on X86
        default y
        help
          Support for Intel IGD specific extensions to enable direct
@@ -40,3 +39,5 @@ config VFIO_PCI_IGD
          and LPC bridge config space.
 
          To enable Intel IGD assignment through vfio-pci, say Y.
+
+endif
index 7f78eb96a5d5bd8fb7a9b44b55f65eee17d50469..331a5920f5abd2ad1caf7f0f98d8d540753dd4cf 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config VFIO_PLATFORM
        tristate "VFIO support for platform devices"
-       depends on VFIO && (ARM || ARM64 || COMPILE_TEST)
+       depends on ARM || ARM64 || COMPILE_TEST
        select VFIO_VIRQFD
        help
          Support for platform devices with VFIO. This is required to make
@@ -10,9 +10,10 @@ config VFIO_PLATFORM
 
          If you don't know what to do here, say N.
 
+if VFIO_PLATFORM
 config VFIO_AMBA
        tristate "VFIO support for AMBA devices"
-       depends on VFIO_PLATFORM && (ARM_AMBA || COMPILE_TEST)
+       depends on ARM_AMBA || COMPILE_TEST
        help
          Support for ARM AMBA devices with VFIO. This is required to make
          use of ARM AMBA devices present on the system using the VFIO
@@ -21,3 +22,4 @@ config VFIO_AMBA
          If you don't know what to do here, say N.
 
 source "drivers/vfio/platform/reset/Kconfig"
+endif
index 1edbe9ee7356a8955225fbd5624ccc2cbd6da2a6..12f5f3d803876c44d06f528ede1da7f83e3a9208 100644 (file)
@@ -1,7 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config VFIO_PLATFORM_CALXEDAXGMAC_RESET
        tristate "VFIO support for calxeda xgmac reset"
-       depends on VFIO_PLATFORM
        help
          Enables the VFIO platform driver to handle reset for Calxeda xgmac
 
@@ -9,7 +8,6 @@ config VFIO_PLATFORM_CALXEDAXGMAC_RESET
 
 config VFIO_PLATFORM_AMDXGBE_RESET
        tristate "VFIO support for AMD XGBE reset"
-       depends on VFIO_PLATFORM
        help
          Enables the VFIO platform driver to handle reset for AMD XGBE
 
@@ -17,7 +15,7 @@ config VFIO_PLATFORM_AMDXGBE_RESET
 
 config VFIO_PLATFORM_BCMFLEXRM_RESET
        tristate "VFIO support for Broadcom FlexRM reset"
-       depends on VFIO_PLATFORM && (ARCH_BCM_IPROC || COMPILE_TEST)
+       depends on ARCH_BCM_IPROC || COMPILE_TEST
        default ARCH_BCM_IPROC
        help
          Enables the VFIO platform driver to handle reset for Broadcom FlexRM