Skip to content

Commit

Permalink
vfio: Use kconfig if XX/endif blocks instead of repeating 'depends on'
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Yishai Hadas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alex Williamson <[email protected]>
  • Loading branch information
jgunthorpe authored and awilliam committed Aug 26, 2021
1 parent ca4ddaa commit 85c94dc
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 26 deletions.
28 changes: 14 additions & 14 deletions drivers/vfio/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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"
2 changes: 1 addition & 1 deletion drivers/vfio/fsl-mc/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand Down
1 change: 0 additions & 1 deletion drivers/vfio/mdev/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

config VFIO_MDEV
tristate "Mediated device driver framework"
depends on VFIO
default n
help
Provides a framework to virtualize devices.
Expand Down
11 changes: 6 additions & 5 deletions drivers/vfio/pci/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -40,3 +39,5 @@ config VFIO_PCI_IGD
and LPC bridge config space.

To enable Intel IGD assignment through vfio-pci, say Y.

endif
6 changes: 4 additions & 2 deletions drivers/vfio/platform/Kconfig
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand All @@ -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
4 changes: 1 addition & 3 deletions drivers/vfio/platform/reset/Kconfig
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
# 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

If you don't know what to do here, say N.

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

If you don't know what to do here, say N.

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
Expand Down

0 comments on commit 85c94dc

Please sign in to comment.