vfio/platform: Cleanup Kconfig

Like vfio-pci, there's also a base module here where vfio-amba depends on
vfio-platform, when really it only needs vfio-platform-base.  Create a
sub-menu for platform drivers and a nested menu for reset drivers.  Cleanup
Makefile to make use of new CONFIG_VFIO_PLATFORM_BASE for building the
shared modules and traversing reset modules.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Link: https://lore.kernel.org/r/20230614193948.477036-3-alex.williamson@redhat.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
Alex Williamson 2023-06-14 13:39:47 -06:00
parent 8cc75183b7
commit 8bee6f00fc
4 changed files with 20 additions and 11 deletions

View file

@ -11,6 +11,6 @@ vfio-$(CONFIG_VFIO_VIRQFD) += virqfd.o
obj-$(CONFIG_VFIO_IOMMU_TYPE1) += vfio_iommu_type1.o obj-$(CONFIG_VFIO_IOMMU_TYPE1) += vfio_iommu_type1.o
obj-$(CONFIG_VFIO_IOMMU_SPAPR_TCE) += vfio_iommu_spapr_tce.o obj-$(CONFIG_VFIO_IOMMU_SPAPR_TCE) += vfio_iommu_spapr_tce.o
obj-$(CONFIG_VFIO_PCI_CORE) += pci/ obj-$(CONFIG_VFIO_PCI_CORE) += pci/
obj-$(CONFIG_VFIO_PLATFORM) += platform/ obj-$(CONFIG_VFIO_PLATFORM_BASE) += platform/
obj-$(CONFIG_VFIO_MDEV) += mdev/ obj-$(CONFIG_VFIO_MDEV) += mdev/
obj-$(CONFIG_VFIO_FSL_MC) += fsl-mc/ obj-$(CONFIG_VFIO_FSL_MC) += fsl-mc/

View file

@ -1,8 +1,14 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
config VFIO_PLATFORM menu "VFIO support for platform devices"
tristate "VFIO support for platform devices"
depends on ARM || ARM64 || COMPILE_TEST depends on ARM || ARM64 || COMPILE_TEST
config VFIO_PLATFORM_BASE
tristate
select VFIO_VIRQFD select VFIO_VIRQFD
config VFIO_PLATFORM
tristate "Generic VFIO support for any platform device"
select VFIO_PLATFORM_BASE
help help
Support for platform devices with VFIO. This is required to make Support for platform devices with VFIO. This is required to make
use of platform devices present on the system using the VFIO use of platform devices present on the system using the VFIO
@ -10,10 +16,10 @@ config VFIO_PLATFORM
If you don't know what to do here, say N. If you don't know what to do here, say N.
if VFIO_PLATFORM
config VFIO_AMBA config VFIO_AMBA
tristate "VFIO support for AMBA devices" tristate "VFIO support for AMBA devices"
depends on ARM_AMBA || COMPILE_TEST depends on ARM_AMBA || COMPILE_TEST
select VFIO_PLATFORM_BASE
help help
Support for ARM AMBA devices with VFIO. This is required to make Support for ARM AMBA devices with VFIO. This is required to make
use of ARM AMBA devices present on the system using the VFIO use of ARM AMBA devices present on the system using the VFIO
@ -21,5 +27,9 @@ config VFIO_AMBA
If you don't know what to do here, say N. If you don't know what to do here, say N.
menu "VFIO platform reset drivers"
depends on VFIO_PLATFORM_BASE
source "drivers/vfio/platform/reset/Kconfig" source "drivers/vfio/platform/reset/Kconfig"
endif endmenu
endmenu

View file

@ -1,13 +1,10 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
vfio-platform-base-y := vfio_platform_common.o vfio_platform_irq.o vfio-platform-base-y := vfio_platform_common.o vfio_platform_irq.o
vfio-platform-y := vfio_platform.o obj-$(CONFIG_VFIO_PLATFORM_BASE) += vfio-platform-base.o
obj-$(CONFIG_VFIO_PLATFORM_BASE) += reset/
vfio-platform-y := vfio_platform.o
obj-$(CONFIG_VFIO_PLATFORM) += vfio-platform.o obj-$(CONFIG_VFIO_PLATFORM) += vfio-platform.o
obj-$(CONFIG_VFIO_PLATFORM) += vfio-platform-base.o
obj-$(CONFIG_VFIO_PLATFORM) += reset/
vfio-amba-y := vfio_amba.o vfio-amba-y := vfio_amba.o
obj-$(CONFIG_VFIO_AMBA) += vfio-amba.o obj-$(CONFIG_VFIO_AMBA) += vfio-amba.o
obj-$(CONFIG_VFIO_AMBA) += vfio-platform-base.o
obj-$(CONFIG_VFIO_AMBA) += reset/

View file

@ -1,4 +1,5 @@
# SPDX-License-Identifier: GPL-2.0-only # SPDX-License-Identifier: GPL-2.0-only
if VFIO_PLATFORM
config VFIO_PLATFORM_CALXEDAXGMAC_RESET config VFIO_PLATFORM_CALXEDAXGMAC_RESET
tristate "VFIO support for calxeda xgmac reset" tristate "VFIO support for calxeda xgmac reset"
help help
@ -21,3 +22,4 @@ config VFIO_PLATFORM_BCMFLEXRM_RESET
Enables the VFIO platform driver to handle reset for Broadcom FlexRM Enables the VFIO platform driver to handle reset for Broadcom FlexRM
If you don't know what to do here, say N. If you don't know what to do here, say N.
endif