diff mbox series

[v2,05/38] media: platform: move platform menu dependencies to drivers

Message ID 93e1ed4c56850384185d684d2f035995e646f431.1647006877.git.mchehab@kernel.org (mailing list archive)
State New, archived
Headers show
Series Sort Makefiles and platform/Kconfig | expand

Commit Message

Mauro Carvalho Chehab March 11, 2022, 2:07 p.m. UTC
Right now, platform dependencies are organized by the type of
the platform driver. Yet, things tend to become very messy with
time. The better seems to organize the drivers per manufacturer,
as other Kernel subsystems are doing.

As a preparation for such purpose, get rid of menuconfigs,
moving the per-menu dependencies to be at the driver-specifig
config entires.

This shoud give flexibility to reorganize the platform drivers
per manufacturer and re-sort them.

This patch removes all "if..endif" options from the platform
Kconfig, converting them into depends on.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---

To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover.
See [PATCH v2 00/38] at: https://lore.kernel.org/all/cover.1647006877.git.mchehab@kernel.org/

 drivers/media/platform/Kconfig                | 127 ++++++++++++------
 drivers/media/platform/am437x/Kconfig         |   1 +
 drivers/media/platform/atmel/Kconfig          |   4 +
 drivers/media/platform/cadence/Kconfig        |   1 +
 drivers/media/platform/davinci/Kconfig        |   6 +
 drivers/media/platform/exynos4-is/Kconfig     |   1 +
 drivers/media/platform/imx-jpeg/Kconfig       |   1 +
 drivers/media/platform/imx/Kconfig            |   1 +
 drivers/media/platform/marvell-ccic/Kconfig   |   2 +
 drivers/media/platform/omap/Kconfig           |   1 +
 drivers/media/platform/rcar-vin/Kconfig       |   2 +
 drivers/media/platform/sti/c8sectpfe/Kconfig  |   1 +
 .../media/platform/sunxi/sun4i-csi/Kconfig    |   1 +
 .../media/platform/sunxi/sun6i-csi/Kconfig    |   1 +
 drivers/media/platform/xilinx/Kconfig         |   1 +
 15 files changed, 107 insertions(+), 44 deletions(-)

Comments

Jernej Škrabec March 12, 2022, 11:27 a.m. UTC | #1
Dne petek, 11. marec 2022 ob 15:07:18 CET je Mauro Carvalho Chehab napisal(a):
> Right now, platform dependencies are organized by the type of
> the platform driver. Yet, things tend to become very messy with
> time. The better seems to organize the drivers per manufacturer,
> as other Kernel subsystems are doing.
> 
> As a preparation for such purpose, get rid of menuconfigs,
> moving the per-menu dependencies to be at the driver-specifig
> config entires.
> 
> This shoud give flexibility to reorganize the platform drivers
> per manufacturer and re-sort them.
> 
> This patch removes all "if..endif" options from the platform
> Kconfig, converting them into depends on.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> ---
> 
> To avoid mailbombing on a large number of people, only mailing lists were C/
C on the cover.
> See [PATCH v2 00/38] at: https://lore.kernel.org/all/cover.
1647006877.git.mchehab@kernel.org/
> 
>  drivers/media/platform/Kconfig                | 127 ++++++++++++------
>  drivers/media/platform/am437x/Kconfig         |   1 +
>  drivers/media/platform/atmel/Kconfig          |   4 +
>  drivers/media/platform/cadence/Kconfig        |   1 +
>  drivers/media/platform/davinci/Kconfig        |   6 +
>  drivers/media/platform/exynos4-is/Kconfig     |   1 +
>  drivers/media/platform/imx-jpeg/Kconfig       |   1 +
>  drivers/media/platform/imx/Kconfig            |   1 +
>  drivers/media/platform/marvell-ccic/Kconfig   |   2 +
>  drivers/media/platform/omap/Kconfig           |   1 +
>  drivers/media/platform/rcar-vin/Kconfig       |   2 +
>  drivers/media/platform/sti/c8sectpfe/Kconfig  |   1 +
>  .../media/platform/sunxi/sun4i-csi/Kconfig    |   1 +
>  .../media/platform/sunxi/sun6i-csi/Kconfig    |   1 +

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej

>  drivers/media/platform/xilinx/Kconfig         |   1 +
>  15 files changed, 107 insertions(+), 44 deletions(-)
> 
> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
> index 4843fabb8bb2..1cb73f09d0b5 100644
> --- a/drivers/media/platform/Kconfig
> +++ b/drivers/media/platform/Kconfig
> @@ -3,17 +3,46 @@
>  # Platform drivers
>  #	Most drivers here are currently for webcam support
>  
> -menuconfig V4L_PLATFORM_DRIVERS
> +menuconfig MEDIA_PLATFORM_DRIVERS
> +	bool "Media platform devices"
> +	help
> +	  Say Y here to enable support for platform-specific media drivers.
> +
> +if MEDIA_PLATFORM_DRIVERS
> +
> +config V4L_PLATFORM_DRIVERS
>  	bool "V4L platform devices"
>  	help
>  	  Say Y here to enable support for platform-specific V4L drivers.
>  
> -if V4L_PLATFORM_DRIVERS
> +config SDR_PLATFORM_DRIVERS
> +	bool "SDR platform devices"
> +	depends on MEDIA_SDR_SUPPORT
> +	help
> +	  Say Y here to enable support for platform-specific SDR Drivers.
> +
> +config DVB_PLATFORM_DRIVERS
> +	bool "DVB platform devices"
> +	depends on MEDIA_DIGITAL_TV_SUPPORT
> +	help
> +	  Say Y here to enable support for platform-specific Digital TV 
drivers.
> +
> +config V4L_MEM2MEM_DRIVERS
> +	bool "Memory-to-memory multimedia devices"
> +	depends on VIDEO_V4L2
> +	help
> +	  Say Y here to enable selecting drivers for V4L devices that
> +	  use system memory for both source and destination buffers, as 
opposed
> +	  to capture and output drivers, which use memory buffers for just
> +	  one of those.
> +
> +# V4L platform drivers
>  
>  source "drivers/media/platform/marvell-ccic/Kconfig"
>  
>  config VIDEO_VIA_CAMERA
>  	tristate "VIAFB camera controller support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on FB_VIA && VIDEO_V4L2
>  	select VIDEOBUF2_DMA_SG
>  	select VIDEO_OV7670
> @@ -22,9 +51,6 @@ config VIDEO_VIA_CAMERA
>  	   Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
>  	   with ov7670 sensors.
>  
> -#
> -# Platform multimedia device configuration
> -#
>  source "drivers/media/platform/cadence/Kconfig"
>  
>  source "drivers/media/platform/davinci/Kconfig"
> @@ -33,6 +59,7 @@ source "drivers/media/platform/omap/Kconfig"
>  
>  config VIDEO_ASPEED
>  	tristate "Aspeed AST2400 and AST2500 Video Engine driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	select VIDEOBUF2_DMA_CONTIG
>  	help
> @@ -42,6 +69,7 @@ config VIDEO_ASPEED
>  
>  config VIDEO_SH_VOU
>  	tristate "SuperH VOU video output driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_DEV && I2C
>  	depends on ARCH_SHMOBILE || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -50,6 +78,7 @@ config VIDEO_SH_VOU
>  
>  config VIDEO_VIU
>  	tristate "Freescale VIU Video Driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
>  	select VIDEOBUF_DMA_CONTIG
>  	default y
> @@ -62,6 +91,7 @@ config VIDEO_VIU
>  
>  config VIDEO_MUX
>  	tristate "Video Multiplexer"
> +	depends on V4L_PLATFORM_DRIVERS
>  	select MULTIPLEXER
>  	depends on VIDEO_V4L2 && OF
>  	select MEDIA_CONTROLLER
> @@ -73,6 +103,7 @@ config VIDEO_MUX
>  
>  config VIDEO_OMAP3
>  	tristate "OMAP 3 Camera support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && I2C
>  	depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
>  	depends on COMMON_CLK && OF
> @@ -87,12 +118,14 @@ config VIDEO_OMAP3
>  
>  config VIDEO_OMAP3_DEBUG
>  	bool "OMAP 3 Camera debug messages"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_OMAP3
>  	help
>  	  Enable debug messages on OMAP 3 camera controller driver.
>  
>  config VIDEO_PXA27x
>  	tristate "PXA27x Quick Capture Interface driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on PXA27x || COMPILE_TEST
>  	select VIDEOBUF2_DMA_SG
> @@ -103,6 +136,7 @@ config VIDEO_PXA27x
>  
>  config VIDEO_QCOM_CAMSS
>  	tristate "Qualcomm V4L2 Camera Subsystem driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> @@ -112,6 +146,7 @@ config VIDEO_QCOM_CAMSS
>  
>  config VIDEO_S3C_CAMIF
>  	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && I2C && PM
>  	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> @@ -126,6 +161,7 @@ config VIDEO_S3C_CAMIF
>  
>  config VIDEO_STM32_DCMI
>  	tristate "STM32 Digital Camera Memory Interface (DCMI) support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && OF
>  	depends on ARCH_STM32 || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -140,6 +176,7 @@ config VIDEO_STM32_DCMI
>  
>  config VIDEO_RENESAS_CEU
>  	tristate "Renesas Capture Engine Unit (CEU) driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -149,6 +186,7 @@ config VIDEO_RENESAS_CEU
>  
>  config VIDEO_ROCKCHIP_ISP1
>  	tristate "Rockchip Image Signal Processing v1 Unit driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && OF
>  	depends on ARCH_ROCKCHIP || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> @@ -175,6 +213,7 @@ source "drivers/media/platform/imx/Kconfig"
>  
>  config VIDEO_TI_CAL
>  	tristate "TI CAL (Camera Adaptation Layer) driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	select MEDIA_CONTROLLER
>  	select VIDEO_V4L2_SUBDEV_API
> @@ -187,10 +226,9 @@ config VIDEO_TI_CAL
>  	  In TI Technical Reference Manual this module is referred as
>  	  Camera Interface Subsystem (CAMSS).
>  
> -if VIDEO_TI_CAL
> -
>  config VIDEO_TI_CAL_MC
>  	bool "Media Controller centric mode by default"
> +	depends on VIDEO_TI_CAL
>  	default n
>  	help
>  	  Enables Media Controller centric mode by default.
> @@ -199,10 +237,9 @@ config VIDEO_TI_CAL_MC
>  	  default. Note that this behavior can be overridden via
>  	  module parameter 'mc_api'.
>  
> -endif # VIDEO_TI_CAL
> -
>  config VIDEO_RCAR_ISP
>  	tristate "R-Car Image Signal Processor (ISP)"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && OF
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> @@ -217,21 +254,11 @@ config VIDEO_RCAR_ISP
>  	  To compile this driver as a module, choose M here: the
>  	  module will be called rcar-isp.
>  
> -endif # V4L_PLATFORM_DRIVERS
> -
> -menuconfig V4L_MEM2MEM_DRIVERS
> -	bool "Memory-to-memory multimedia devices"
> -	depends on VIDEO_V4L2
> -	help
> -	  Say Y here to enable selecting drivers for V4L devices that
> -	  use system memory for both source and destination buffers, as 
opposed
> -	  to capture and output drivers, which use memory buffers for just
> -	  one of those.
> -
> -if V4L_MEM2MEM_DRIVERS
> +# Mem2mem drivers
>  
>  config VIDEO_ALLEGRO_DVT
>  	tristate "Allegro DVT Video IP Core"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_ZYNQMP || COMPILE_TEST
>  	select V4L2_MEM2MEM_DEV
> @@ -247,6 +274,7 @@ config VIDEO_ALLEGRO_DVT
>  
>  config VIDEO_CODA
>  	tristate "Chips&Media Coda multi-standard codec IP"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2 && OF && (ARCH_MXC || 
COMPILE_TEST)
>  	select SRAM
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -263,6 +291,7 @@ config VIDEO_IMX_VDOA
>  
>  config VIDEO_IMX_PXP
>  	tristate "i.MX Pixel Pipeline (PXP)"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
>  	select VIDEOBUF2_DMA_CONTIG
>  	select V4L2_MEM2MEM_DEV
> @@ -274,6 +303,7 @@ source "drivers/media/platform/imx-jpeg/Kconfig"
>  
>  config VIDEO_MEDIATEK_JPEG
>  	tristate "Mediatek JPEG Codec driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on MTK_IOMMU_V1 || MTK_IOMMU || COMPILE_TEST
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_MEDIATEK || COMPILE_TEST
> @@ -289,6 +319,7 @@ config VIDEO_MEDIATEK_JPEG
>  
>  config VIDEO_MEDIATEK_VPU
>  	tristate "Mediatek Video Processor Unit"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_MEDIATEK || COMPILE_TEST
>  	help
> @@ -302,6 +333,7 @@ config VIDEO_MEDIATEK_VPU
>  
>  config VIDEO_MEDIATEK_MDP
>  	tristate "Mediatek MDP driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on MTK_IOMMU || COMPILE_TEST
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_MEDIATEK || COMPILE_TEST
> @@ -318,6 +350,7 @@ config VIDEO_MEDIATEK_MDP
>  
>  config VIDEO_MEDIATEK_VCODEC
>  	tristate "Mediatek Video Codec driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on MTK_IOMMU || COMPILE_TEST
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_MEDIATEK || COMPILE_TEST
> @@ -353,6 +386,7 @@ config VIDEO_MEDIATEK_VCODEC_SCP
>  
>  config VIDEO_MEM2MEM_DEINTERLACE
>  	tristate "Deinterlace support"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on HAS_DMA
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -362,6 +396,7 @@ config VIDEO_MEM2MEM_DEINTERLACE
>  
>  config VIDEO_MESON_GE2D
>  	tristate "Amlogic 2D Graphic Acceleration Unit"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_MESON || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -375,6 +410,7 @@ config VIDEO_MESON_GE2D
>  
>  config VIDEO_SAMSUNG_S5P_G2D
>  	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator 
driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -385,6 +421,7 @@ config VIDEO_SAMSUNG_S5P_G2D
>  
>  config VIDEO_SAMSUNG_S5P_JPEG
>  	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -395,6 +432,7 @@ config VIDEO_SAMSUNG_S5P_JPEG
>  
>  config VIDEO_SAMSUNG_S5P_MFC
>  	tristate "Samsung S5P MFC Video Codec"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -403,6 +441,7 @@ config VIDEO_SAMSUNG_S5P_MFC
>  
>  config VIDEO_MX2_EMMAPRP
>  	tristate "MX2 eMMa-PrP support"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on SOC_IMX27 || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -414,6 +453,7 @@ config VIDEO_MX2_EMMAPRP
>  
>  config VIDEO_SAMSUNG_EXYNOS_GSC
>  	tristate "Samsung Exynos G-Scaler driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_EXYNOS || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -423,6 +463,7 @@ config VIDEO_SAMSUNG_EXYNOS_GSC
>  
>  config VIDEO_STI_BDISP
>  	tristate "STMicroelectronics BDISP 2D blitter driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_STI || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -432,6 +473,7 @@ config VIDEO_STI_BDISP
>  
>  config VIDEO_STI_HVA
>  	tristate "STMicroelectronics HVA multi-format video encoder V4L2 
driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_STI || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -446,6 +488,7 @@ config VIDEO_STI_HVA
>  
>  config VIDEO_STI_HVA_DEBUGFS
>  	bool "Export STMicroelectronics HVA internals in debugfs"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_STI_HVA
>  	depends on DEBUG_FS
>  	help
> @@ -457,6 +500,7 @@ config VIDEO_STI_HVA_DEBUGFS
>  
>  config VIDEO_STI_DELTA
>  	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 
driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_STI || COMPILE_TEST
>  	help
> @@ -471,11 +515,10 @@ config VIDEO_STI_DELTA
>  		Please notice that the driver will only be built if
>  		at least one of the DELTA decoder below is selected.
>  
> -if VIDEO_STI_DELTA
> -
>  config VIDEO_STI_DELTA_MJPEG
>  	bool "STMicroelectronics DELTA MJPEG support"
>  	default y
> +	depends on VIDEO_STI_DELTA
>  	help
>  		Enables DELTA MJPEG hardware support.
>  
> @@ -491,10 +534,9 @@ config VIDEO_STI_DELTA_DRIVER
>  	select V4L2_MEM2MEM_DEV
>  	select RPMSG
>  
> -endif # VIDEO_STI_DELTA
> -
>  config VIDEO_STM32_DMA2D
>  	tristate "STM32 Chrom-Art Accelerator (DMA2D)"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_STM32 || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -507,6 +549,7 @@ config VIDEO_STM32_DMA2D
>  
>  config VIDEO_RENESAS_FDP1
>  	tristate "Renesas Fine Display Processor"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
> @@ -521,6 +564,7 @@ config VIDEO_RENESAS_FDP1
>  
>  config VIDEO_RENESAS_JPU
>  	tristate "Renesas JPEG Processing Unit"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -533,6 +577,7 @@ config VIDEO_RENESAS_JPU
>  
>  config VIDEO_RENESAS_FCP
>  	tristate "Renesas Frame Compression Processor"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	depends on OF
>  	help
> @@ -546,6 +591,7 @@ config VIDEO_RENESAS_FCP
>  
>  config VIDEO_RENESAS_VSP1
>  	tristate "Renesas VSP1 Video Processing Engine"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
> @@ -561,6 +607,7 @@ config VIDEO_RENESAS_VSP1
>  
>  config VIDEO_ROCKCHIP_RGA
>  	tristate "Rockchip Raster 2d Graphic Acceleration Unit"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_ROCKCHIP || COMPILE_TEST
>  	select VIDEOBUF2_DMA_SG
> @@ -575,6 +622,7 @@ config VIDEO_ROCKCHIP_RGA
>  
>  config VIDEO_TI_VPE
>  	tristate "TI VPE (Video Processing Engine) driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on SOC_DRA7XX || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -588,12 +636,14 @@ config VIDEO_TI_VPE
>  
>  config VIDEO_TI_VPE_DEBUG
>  	bool "VPE debug messages"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_TI_VPE
>  	help
>  	  Enable debug messages on VPE driver.
>  
>  config VIDEO_QCOM_VENUS
>  	tristate "Qualcomm Venus V4L2 encoder/decoder driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2 && QCOM_SMEM
>  	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
>  	select QCOM_MDT_LOADER if ARCH_QCOM
> @@ -608,6 +658,7 @@ config VIDEO_QCOM_VENUS
>  
>  config VIDEO_SUN8I_DEINTERLACE
>  	tristate "Allwinner Deinterlace driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_SUNXI || COMPILE_TEST
>  	depends on COMMON_CLK && OF
> @@ -621,6 +672,7 @@ config VIDEO_SUN8I_DEINTERLACE
>  
>  config VIDEO_SUN8I_ROTATE
>  	tristate "Allwinner DE2 rotation driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	depends on ARCH_SUNXI || COMPILE_TEST
>  	depends on COMMON_CLK && OF
> @@ -633,6 +685,7 @@ config VIDEO_SUN8I_ROTATE
>  
>  config VIDEO_TEGRA_VDE
>  	tristate "NVIDIA Tegra Video Decoder Engine driver"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on ARCH_TEGRA || COMPILE_TEST
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	select DMA_SHARED_BUFFER
> @@ -650,6 +703,7 @@ config VIDEO_TEGRA_VDE
>  
>  config VIDEO_AMPHION_VPU
>  	tristate "Amphion VPU (Video Processing Unit) Codec IP"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on ARCH_MXC || COMPILE_TEST
>  	depends on MEDIA_SUPPORT
>  	depends on VIDEO_DEV
> @@ -667,8 +721,6 @@ config VIDEO_AMPHION_VPU
>  	  various NXP SoCs.
>  	  To compile this driver as a module choose m here.
>  
> -endif # V4L_MEM2MEM_DRIVERS
> -
>  # TI VIDEO PORT Helper Modules
>  # These will be selected by VPE and VIP
>  config VIDEO_TI_VPDMA
> @@ -680,26 +732,13 @@ config VIDEO_TI_SC
>  config VIDEO_TI_CSC
>  	tristate
>  
> -menuconfig DVB_PLATFORM_DRIVERS
> -	bool "DVB platform devices"
> -	depends on MEDIA_DIGITAL_TV_SUPPORT
> -	help
> -	  Say Y here to enable support for platform-specific Digital TV 
drivers.
> -
> -if DVB_PLATFORM_DRIVERS
> +# DVB platform drivers
>  source "drivers/media/platform/sti/c8sectpfe/Kconfig"
> -endif #DVB_PLATFORM_DRIVERS
> -
> -menuconfig SDR_PLATFORM_DRIVERS
> -	bool "SDR platform devices"
> -	depends on MEDIA_SDR_SUPPORT
> -	help
> -	  Say Y here to enable support for platform-specific SDR Drivers.
> -
> -if SDR_PLATFORM_DRIVERS
>  
> +# SDR platform drivers
>  config VIDEO_RCAR_DRIF
>  	tristate "Renesas Digital Radio Interface (DRIF)"
> +	depends on SDR_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	select VIDEOBUF2_VMALLOC
> @@ -713,4 +752,4 @@ config VIDEO_RCAR_DRIF
>  	  To compile this driver as a module, choose M here; the module
>  	  will be called rcar_drif.
>  
> -endif # SDR_PLATFORM_DRIVERS
> +endif #MEDIA_PLATFORM_DRIVERS
> diff --git a/drivers/media/platform/am437x/Kconfig b/drivers/media/platform/
am437x/Kconfig
> index 9ef898f512de..619cefca7590 100644
> --- a/drivers/media/platform/am437x/Kconfig
> +++ b/drivers/media/platform/am437x/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_AM437X_VPFE
>  	tristate "TI AM437x VPFE video capture driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on SOC_AM43XX || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/
atmel/Kconfig
> index f83bee373d82..5122290729ae 100644
> --- a/drivers/media/platform/atmel/Kconfig
> +++ b/drivers/media/platform/atmel/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_ATMEL_ISC
>  	tristate "ATMEL Image Sensor Controller (ISC) support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && COMMON_CLK
>  	depends on ARCH_AT91 || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> @@ -15,6 +16,7 @@ config VIDEO_ATMEL_ISC
>  
>  config VIDEO_ATMEL_XISC
>  	tristate "ATMEL eXtended Image Sensor Controller (XISC) support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API
>  	depends on ARCH_AT91 || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -33,6 +35,7 @@ config VIDEO_ATMEL_ISC_BASE
>  
>  config VIDEO_ATMEL_ISI
>  	tristate "ATMEL Image Sensor Interface (ISI) support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && OF
>  	depends on ARCH_AT91 || COMPILE_TEST
>  	select VIDEOBUF2_DMA_CONTIG
> @@ -43,6 +46,7 @@ config VIDEO_ATMEL_ISI
>  
>  config VIDEO_MICROCHIP_CSI2DC
>  	tristate "Microchip CSI2 Demux Controller"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && COMMON_CLK && OF
>  	depends on ARCH_AT91 || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> diff --git a/drivers/media/platform/cadence/Kconfig b/drivers/media/platform/
cadence/Kconfig
> index 80cf601323ce..79a7e9fb2575 100644
> --- a/drivers/media/platform/cadence/Kconfig
> +++ b/drivers/media/platform/cadence/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_CADENCE
>  	bool "Cadence Video Devices"
> +	depends on V4L_PLATFORM_DRIVERS
>  	help
>  	  If you have a media device designed by Cadence, say Y.
>  
> diff --git a/drivers/media/platform/davinci/Kconfig b/drivers/media/platform/
davinci/Kconfig
> index 9d2a9eeb3499..7e5f92b0082a 100644
> --- a/drivers/media/platform/davinci/Kconfig
> +++ b/drivers/media/platform/davinci/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_DAVINCI_VPIF_DISPLAY
>  	tristate "TI DaVinci VPIF V4L2-Display driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_DAVINCI || COMPILE_TEST
>  	depends on I2C
> @@ -17,6 +18,7 @@ config VIDEO_DAVINCI_VPIF_DISPLAY
>  
>  config VIDEO_DAVINCI_VPIF_CAPTURE
>  	tristate "TI DaVinci VPIF video capture driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_DAVINCI || COMPILE_TEST
>  	depends on I2C
> @@ -32,6 +34,7 @@ config VIDEO_DAVINCI_VPIF_CAPTURE
>  
>  config VIDEO_DM6446_CCDC
>  	tristate "TI DM6446 CCDC video capture driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_DAVINCI || COMPILE_TEST
>  	depends on I2C
> @@ -48,6 +51,7 @@ config VIDEO_DM6446_CCDC
>  
>  config VIDEO_DM355_CCDC
>  	tristate "TI DM355 CCDC video capture driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_DAVINCI || COMPILE_TEST
>  	depends on I2C
> @@ -64,6 +68,7 @@ config VIDEO_DM355_CCDC
>  
>  config VIDEO_DM365_ISIF
>  	tristate "TI DM365 ISIF video capture driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_DAVINCI || COMPILE_TEST
>  	depends on I2C
> @@ -78,6 +83,7 @@ config VIDEO_DM365_ISIF
>  
>  config VIDEO_DAVINCI_VPBE_DISPLAY
>  	tristate "TI DaVinci VPBE V4L2-Display driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2
>  	depends on ARCH_DAVINCI || COMPILE_TEST
>  	depends on I2C
> diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/
platform/exynos4-is/Kconfig
> index 136d3b2a0fbb..868bb86c7699 100644
> --- a/drivers/media/platform/exynos4-is/Kconfig
> +++ b/drivers/media/platform/exynos4-is/Kconfig
> @@ -2,6 +2,7 @@
>  
>  config VIDEO_SAMSUNG_EXYNOS4_IS
>  	tristate "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && OF && COMMON_CLK
>  	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> diff --git a/drivers/media/platform/imx-jpeg/Kconfig b/drivers/media/platform/
imx-jpeg/Kconfig
> index 2fdd648cda80..cbf6101a8b1d 100644
> --- a/drivers/media/platform/imx-jpeg/Kconfig
> +++ b/drivers/media/platform/imx-jpeg/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0
>  config VIDEO_IMX8_JPEG
>  	tristate "IMX8 JPEG Encoder/Decoder"
> +	depends on V4L_MEM2MEM_DRIVERS
>  	depends on ARCH_MXC || COMPILE_TEST
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	select VIDEOBUF2_DMA_CONTIG
> diff --git a/drivers/media/platform/imx/Kconfig b/drivers/media/platform/imx/
Kconfig
> index 683863572c20..7cd0617c9b1b 100644
> --- a/drivers/media/platform/imx/Kconfig
> +++ b/drivers/media/platform/imx/Kconfig
> @@ -2,6 +2,7 @@
>  
>  menuconfig VIDEO_IMX
>  	bool "V4L2 capture drivers for NXP i.MX devices"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on ARCH_MXC || COMPILE_TEST
>  	depends on VIDEO_DEV && VIDEO_V4L2
>  	help
> diff --git a/drivers/media/platform/marvell-ccic/Kconfig b/drivers/media/
platform/marvell-ccic/Kconfig
> index 3e3f86264762..bfe655b2cedd 100644
> --- a/drivers/media/platform/marvell-ccic/Kconfig
> +++ b/drivers/media/platform/marvell-ccic/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_CAFE_CCIC
>  	tristate "Marvell 88ALP01 (Cafe) CMOS Camera Controller support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on PCI && I2C && VIDEO_V4L2
>  	depends on COMMON_CLK
>  	select VIDEO_OV7670
> @@ -14,6 +15,7 @@ config VIDEO_CAFE_CCIC
>  
>  config VIDEO_MMP_CAMERA
>  	tristate "Marvell Armada 610 integrated camera controller support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on I2C && VIDEO_V4L2
>  	depends on ARCH_MMP || COMPILE_TEST
>  	depends on COMMON_CLK
> diff --git a/drivers/media/platform/omap/Kconfig b/drivers/media/platform/
omap/Kconfig
> index de16de46c0f4..789d5e5686c7 100644
> --- a/drivers/media/platform/omap/Kconfig
> +++ b/drivers/media/platform/omap/Kconfig
> @@ -6,6 +6,7 @@ config VIDEO_OMAP2_VOUT_VRFB
>  
>  config VIDEO_OMAP2_VOUT
>  	tristate "OMAP2/OMAP3 V4L2-Display driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on MMU
>  	depends on FB_OMAP2 || (COMPILE_TEST && FB_OMAP2=n)
>  	depends on ARCH_OMAP2 || ARCH_OMAP3 || COMPILE_TEST
> diff --git a/drivers/media/platform/rcar-vin/Kconfig b/drivers/media/platform/
rcar-vin/Kconfig
> index 030312d862e7..34b7ea6f1246 100644
> --- a/drivers/media/platform/rcar-vin/Kconfig
> +++ b/drivers/media/platform/rcar-vin/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0
>  config VIDEO_RCAR_CSI2
>  	tristate "R-Car MIPI CSI-2 Receiver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && OF
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> @@ -16,6 +17,7 @@ config VIDEO_RCAR_CSI2
>  
>  config VIDEO_RCAR_VIN
>  	tristate "R-Car Video Input (VIN) Driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && OF
>  	depends on ARCH_RENESAS || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> diff --git a/drivers/media/platform/sti/c8sectpfe/Kconfig b/drivers/media/
platform/sti/c8sectpfe/Kconfig
> index 369509e03071..702b910509c9 100644
> --- a/drivers/media/platform/sti/c8sectpfe/Kconfig
> +++ b/drivers/media/platform/sti/c8sectpfe/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config DVB_C8SECTPFE
>  	tristate "STMicroelectronics C8SECTPFE DVB support"
> +	depends on DVB_PLATFORM_DRIVERS
>  	depends on PINCTRL && DVB_CORE && I2C
>  	depends on ARCH_STI || ARCH_MULTIPLATFORM || COMPILE_TEST
>  	select FW_LOADER
> diff --git a/drivers/media/platform/sunxi/sun4i-csi/Kconfig b/drivers/media/
platform/sunxi/sun4i-csi/Kconfig
> index 903c6152f6e8..43ad2dd7da5d 100644
> --- a/drivers/media/platform/sunxi/sun4i-csi/Kconfig
> +++ b/drivers/media/platform/sunxi/sun4i-csi/Kconfig
> @@ -2,6 +2,7 @@
>  
>  config VIDEO_SUN4I_CSI
>  	tristate "Allwinner A10 CMOS Sensor Interface Support"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && COMMON_CLK  && HAS_DMA
>  	depends on ARCH_SUNXI || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> diff --git a/drivers/media/platform/sunxi/sun6i-csi/Kconfig b/drivers/media/
platform/sunxi/sun6i-csi/Kconfig
> index 586e3fb3a80d..6d9cf1963c41 100644
> --- a/drivers/media/platform/sunxi/sun6i-csi/Kconfig
> +++ b/drivers/media/platform/sunxi/sun6i-csi/Kconfig
> @@ -1,6 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  config VIDEO_SUN6I_CSI
>  	tristate "Allwinner V3s Camera Sensor Interface driver"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2 && COMMON_CLK  && HAS_DMA
>  	depends on ARCH_SUNXI || COMPILE_TEST
>  	select MEDIA_CONTROLLER
> diff --git a/drivers/media/platform/xilinx/Kconfig b/drivers/media/platform/
xilinx/Kconfig
> index 44587dccacf1..a9531d5efd50 100644
> --- a/drivers/media/platform/xilinx/Kconfig
> +++ b/drivers/media/platform/xilinx/Kconfig
> @@ -2,6 +2,7 @@
>  
>  config VIDEO_XILINX
>  	tristate "Xilinx Video IP (EXPERIMENTAL)"
> +	depends on V4L_PLATFORM_DRIVERS
>  	depends on VIDEO_V4L2  && OF && HAS_DMA
>  	select MEDIA_CONTROLLER
>  	select VIDEO_V4L2_SUBDEV_API
> -- 
> 2.35.1
> 
>
diff mbox series

Patch

diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 4843fabb8bb2..1cb73f09d0b5 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -3,17 +3,46 @@ 
 # Platform drivers
 #	Most drivers here are currently for webcam support
 
-menuconfig V4L_PLATFORM_DRIVERS
+menuconfig MEDIA_PLATFORM_DRIVERS
+	bool "Media platform devices"
+	help
+	  Say Y here to enable support for platform-specific media drivers.
+
+if MEDIA_PLATFORM_DRIVERS
+
+config V4L_PLATFORM_DRIVERS
 	bool "V4L platform devices"
 	help
 	  Say Y here to enable support for platform-specific V4L drivers.
 
-if V4L_PLATFORM_DRIVERS
+config SDR_PLATFORM_DRIVERS
+	bool "SDR platform devices"
+	depends on MEDIA_SDR_SUPPORT
+	help
+	  Say Y here to enable support for platform-specific SDR Drivers.
+
+config DVB_PLATFORM_DRIVERS
+	bool "DVB platform devices"
+	depends on MEDIA_DIGITAL_TV_SUPPORT
+	help
+	  Say Y here to enable support for platform-specific Digital TV drivers.
+
+config V4L_MEM2MEM_DRIVERS
+	bool "Memory-to-memory multimedia devices"
+	depends on VIDEO_V4L2
+	help
+	  Say Y here to enable selecting drivers for V4L devices that
+	  use system memory for both source and destination buffers, as opposed
+	  to capture and output drivers, which use memory buffers for just
+	  one of those.
+
+# V4L platform drivers
 
 source "drivers/media/platform/marvell-ccic/Kconfig"
 
 config VIDEO_VIA_CAMERA
 	tristate "VIAFB camera controller support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on FB_VIA && VIDEO_V4L2
 	select VIDEOBUF2_DMA_SG
 	select VIDEO_OV7670
@@ -22,9 +51,6 @@  config VIDEO_VIA_CAMERA
 	   Chrome9 chipsets.  Currently only tested on OLPC xo-1.5 systems
 	   with ov7670 sensors.
 
-#
-# Platform multimedia device configuration
-#
 source "drivers/media/platform/cadence/Kconfig"
 
 source "drivers/media/platform/davinci/Kconfig"
@@ -33,6 +59,7 @@  source "drivers/media/platform/omap/Kconfig"
 
 config VIDEO_ASPEED
 	tristate "Aspeed AST2400 and AST2500 Video Engine driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	select VIDEOBUF2_DMA_CONTIG
 	help
@@ -42,6 +69,7 @@  config VIDEO_ASPEED
 
 config VIDEO_SH_VOU
 	tristate "SuperH VOU video output driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_DEV && I2C
 	depends on ARCH_SHMOBILE || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -50,6 +78,7 @@  config VIDEO_SH_VOU
 
 config VIDEO_VIU
 	tristate "Freescale VIU Video Driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && (PPC_MPC512x || COMPILE_TEST) && I2C
 	select VIDEOBUF_DMA_CONTIG
 	default y
@@ -62,6 +91,7 @@  config VIDEO_VIU
 
 config VIDEO_MUX
 	tristate "Video Multiplexer"
+	depends on V4L_PLATFORM_DRIVERS
 	select MULTIPLEXER
 	depends on VIDEO_V4L2 && OF
 	select MEDIA_CONTROLLER
@@ -73,6 +103,7 @@  config VIDEO_MUX
 
 config VIDEO_OMAP3
 	tristate "OMAP 3 Camera support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && I2C
 	depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST
 	depends on COMMON_CLK && OF
@@ -87,12 +118,14 @@  config VIDEO_OMAP3
 
 config VIDEO_OMAP3_DEBUG
 	bool "OMAP 3 Camera debug messages"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_OMAP3
 	help
 	  Enable debug messages on OMAP 3 camera controller driver.
 
 config VIDEO_PXA27x
 	tristate "PXA27x Quick Capture Interface driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on PXA27x || COMPILE_TEST
 	select VIDEOBUF2_DMA_SG
@@ -103,6 +136,7 @@  config VIDEO_PXA27x
 
 config VIDEO_QCOM_CAMSS
 	tristate "Qualcomm V4L2 Camera Subsystem driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
 	select MEDIA_CONTROLLER
@@ -112,6 +146,7 @@  config VIDEO_QCOM_CAMSS
 
 config VIDEO_S3C_CAMIF
 	tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && I2C && PM
 	depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
 	select MEDIA_CONTROLLER
@@ -126,6 +161,7 @@  config VIDEO_S3C_CAMIF
 
 config VIDEO_STM32_DCMI
 	tristate "STM32 Digital Camera Memory Interface (DCMI) support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && OF
 	depends on ARCH_STM32 || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -140,6 +176,7 @@  config VIDEO_STM32_DCMI
 
 config VIDEO_RENESAS_CEU
 	tristate "Renesas Capture Engine Unit (CEU) driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_SHMOBILE || ARCH_R7S72100 || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -149,6 +186,7 @@  config VIDEO_RENESAS_CEU
 
 config VIDEO_ROCKCHIP_ISP1
 	tristate "Rockchip Image Signal Processing v1 Unit driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && OF
 	depends on ARCH_ROCKCHIP || COMPILE_TEST
 	select MEDIA_CONTROLLER
@@ -175,6 +213,7 @@  source "drivers/media/platform/imx/Kconfig"
 
 config VIDEO_TI_CAL
 	tristate "TI CAL (Camera Adaptation Layer) driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	select MEDIA_CONTROLLER
 	select VIDEO_V4L2_SUBDEV_API
@@ -187,10 +226,9 @@  config VIDEO_TI_CAL
 	  In TI Technical Reference Manual this module is referred as
 	  Camera Interface Subsystem (CAMSS).
 
-if VIDEO_TI_CAL
-
 config VIDEO_TI_CAL_MC
 	bool "Media Controller centric mode by default"
+	depends on VIDEO_TI_CAL
 	default n
 	help
 	  Enables Media Controller centric mode by default.
@@ -199,10 +237,9 @@  config VIDEO_TI_CAL_MC
 	  default. Note that this behavior can be overridden via
 	  module parameter 'mc_api'.
 
-endif # VIDEO_TI_CAL
-
 config VIDEO_RCAR_ISP
 	tristate "R-Car Image Signal Processor (ISP)"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && OF
 	depends on ARCH_RENESAS || COMPILE_TEST
 	select MEDIA_CONTROLLER
@@ -217,21 +254,11 @@  config VIDEO_RCAR_ISP
 	  To compile this driver as a module, choose M here: the
 	  module will be called rcar-isp.
 
-endif # V4L_PLATFORM_DRIVERS
-
-menuconfig V4L_MEM2MEM_DRIVERS
-	bool "Memory-to-memory multimedia devices"
-	depends on VIDEO_V4L2
-	help
-	  Say Y here to enable selecting drivers for V4L devices that
-	  use system memory for both source and destination buffers, as opposed
-	  to capture and output drivers, which use memory buffers for just
-	  one of those.
-
-if V4L_MEM2MEM_DRIVERS
+# Mem2mem drivers
 
 config VIDEO_ALLEGRO_DVT
 	tristate "Allegro DVT Video IP Core"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_ZYNQMP || COMPILE_TEST
 	select V4L2_MEM2MEM_DEV
@@ -247,6 +274,7 @@  config VIDEO_ALLEGRO_DVT
 
 config VIDEO_CODA
 	tristate "Chips&Media Coda multi-standard codec IP"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2 && OF && (ARCH_MXC || COMPILE_TEST)
 	select SRAM
 	select VIDEOBUF2_DMA_CONTIG
@@ -263,6 +291,7 @@  config VIDEO_IMX_VDOA
 
 config VIDEO_IMX_PXP
 	tristate "i.MX Pixel Pipeline (PXP)"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2 && (ARCH_MXC || COMPILE_TEST)
 	select VIDEOBUF2_DMA_CONTIG
 	select V4L2_MEM2MEM_DEV
@@ -274,6 +303,7 @@  source "drivers/media/platform/imx-jpeg/Kconfig"
 
 config VIDEO_MEDIATEK_JPEG
 	tristate "Mediatek JPEG Codec driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on MTK_IOMMU_V1 || MTK_IOMMU || COMPILE_TEST
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_MEDIATEK || COMPILE_TEST
@@ -289,6 +319,7 @@  config VIDEO_MEDIATEK_JPEG
 
 config VIDEO_MEDIATEK_VPU
 	tristate "Mediatek Video Processor Unit"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_MEDIATEK || COMPILE_TEST
 	help
@@ -302,6 +333,7 @@  config VIDEO_MEDIATEK_VPU
 
 config VIDEO_MEDIATEK_MDP
 	tristate "Mediatek MDP driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on MTK_IOMMU || COMPILE_TEST
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_MEDIATEK || COMPILE_TEST
@@ -318,6 +350,7 @@  config VIDEO_MEDIATEK_MDP
 
 config VIDEO_MEDIATEK_VCODEC
 	tristate "Mediatek Video Codec driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on MTK_IOMMU || COMPILE_TEST
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_MEDIATEK || COMPILE_TEST
@@ -353,6 +386,7 @@  config VIDEO_MEDIATEK_VCODEC_SCP
 
 config VIDEO_MEM2MEM_DEINTERLACE
 	tristate "Deinterlace support"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on HAS_DMA
 	select VIDEOBUF2_DMA_CONTIG
@@ -362,6 +396,7 @@  config VIDEO_MEM2MEM_DEINTERLACE
 
 config VIDEO_MESON_GE2D
 	tristate "Amlogic 2D Graphic Acceleration Unit"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_MESON || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -375,6 +410,7 @@  config VIDEO_MESON_GE2D
 
 config VIDEO_SAMSUNG_S5P_G2D
 	tristate "Samsung S5P and EXYNOS4 G2D 2d graphics accelerator driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -385,6 +421,7 @@  config VIDEO_SAMSUNG_S5P_G2D
 
 config VIDEO_SAMSUNG_S5P_JPEG
 	tristate "Samsung S5P/Exynos3250/Exynos4 JPEG codec driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -395,6 +432,7 @@  config VIDEO_SAMSUNG_S5P_JPEG
 
 config VIDEO_SAMSUNG_S5P_MFC
 	tristate "Samsung S5P MFC Video Codec"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -403,6 +441,7 @@  config VIDEO_SAMSUNG_S5P_MFC
 
 config VIDEO_MX2_EMMAPRP
 	tristate "MX2 eMMa-PrP support"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on SOC_IMX27 || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -414,6 +453,7 @@  config VIDEO_MX2_EMMAPRP
 
 config VIDEO_SAMSUNG_EXYNOS_GSC
 	tristate "Samsung Exynos G-Scaler driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_EXYNOS || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -423,6 +463,7 @@  config VIDEO_SAMSUNG_EXYNOS_GSC
 
 config VIDEO_STI_BDISP
 	tristate "STMicroelectronics BDISP 2D blitter driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_STI || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -432,6 +473,7 @@  config VIDEO_STI_BDISP
 
 config VIDEO_STI_HVA
 	tristate "STMicroelectronics HVA multi-format video encoder V4L2 driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_STI || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -446,6 +488,7 @@  config VIDEO_STI_HVA
 
 config VIDEO_STI_HVA_DEBUGFS
 	bool "Export STMicroelectronics HVA internals in debugfs"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_STI_HVA
 	depends on DEBUG_FS
 	help
@@ -457,6 +500,7 @@  config VIDEO_STI_HVA_DEBUGFS
 
 config VIDEO_STI_DELTA
 	tristate "STMicroelectronics DELTA multi-format video decoder V4L2 driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_STI || COMPILE_TEST
 	help
@@ -471,11 +515,10 @@  config VIDEO_STI_DELTA
 		Please notice that the driver will only be built if
 		at least one of the DELTA decoder below is selected.
 
-if VIDEO_STI_DELTA
-
 config VIDEO_STI_DELTA_MJPEG
 	bool "STMicroelectronics DELTA MJPEG support"
 	default y
+	depends on VIDEO_STI_DELTA
 	help
 		Enables DELTA MJPEG hardware support.
 
@@ -491,10 +534,9 @@  config VIDEO_STI_DELTA_DRIVER
 	select V4L2_MEM2MEM_DEV
 	select RPMSG
 
-endif # VIDEO_STI_DELTA
-
 config VIDEO_STM32_DMA2D
 	tristate "STM32 Chrom-Art Accelerator (DMA2D)"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_STM32 || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -507,6 +549,7 @@  config VIDEO_STM32_DMA2D
 
 config VIDEO_RENESAS_FDP1
 	tristate "Renesas Fine Display Processor"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_RENESAS || COMPILE_TEST
 	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
@@ -521,6 +564,7 @@  config VIDEO_RENESAS_FDP1
 
 config VIDEO_RENESAS_JPU
 	tristate "Renesas JPEG Processing Unit"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_RENESAS || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -533,6 +577,7 @@  config VIDEO_RENESAS_JPU
 
 config VIDEO_RENESAS_FCP
 	tristate "Renesas Frame Compression Processor"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on ARCH_RENESAS || COMPILE_TEST
 	depends on OF
 	help
@@ -546,6 +591,7 @@  config VIDEO_RENESAS_FCP
 
 config VIDEO_RENESAS_VSP1
 	tristate "Renesas VSP1 Video Processing Engine"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_RENESAS || COMPILE_TEST
 	depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
@@ -561,6 +607,7 @@  config VIDEO_RENESAS_VSP1
 
 config VIDEO_ROCKCHIP_RGA
 	tristate "Rockchip Raster 2d Graphic Acceleration Unit"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_ROCKCHIP || COMPILE_TEST
 	select VIDEOBUF2_DMA_SG
@@ -575,6 +622,7 @@  config VIDEO_ROCKCHIP_RGA
 
 config VIDEO_TI_VPE
 	tristate "TI VPE (Video Processing Engine) driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on SOC_DRA7XX || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -588,12 +636,14 @@  config VIDEO_TI_VPE
 
 config VIDEO_TI_VPE_DEBUG
 	bool "VPE debug messages"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_TI_VPE
 	help
 	  Enable debug messages on VPE driver.
 
 config VIDEO_QCOM_VENUS
 	tristate "Qualcomm Venus V4L2 encoder/decoder driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2 && QCOM_SMEM
 	depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
 	select QCOM_MDT_LOADER if ARCH_QCOM
@@ -608,6 +658,7 @@  config VIDEO_QCOM_VENUS
 
 config VIDEO_SUN8I_DEINTERLACE
 	tristate "Allwinner Deinterlace driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_SUNXI || COMPILE_TEST
 	depends on COMMON_CLK && OF
@@ -621,6 +672,7 @@  config VIDEO_SUN8I_DEINTERLACE
 
 config VIDEO_SUN8I_ROTATE
 	tristate "Allwinner DE2 rotation driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on VIDEO_DEV && VIDEO_V4L2
 	depends on ARCH_SUNXI || COMPILE_TEST
 	depends on COMMON_CLK && OF
@@ -633,6 +685,7 @@  config VIDEO_SUN8I_ROTATE
 
 config VIDEO_TEGRA_VDE
 	tristate "NVIDIA Tegra Video Decoder Engine driver"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on ARCH_TEGRA || COMPILE_TEST
 	depends on VIDEO_DEV && VIDEO_V4L2
 	select DMA_SHARED_BUFFER
@@ -650,6 +703,7 @@  config VIDEO_TEGRA_VDE
 
 config VIDEO_AMPHION_VPU
 	tristate "Amphion VPU (Video Processing Unit) Codec IP"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on ARCH_MXC || COMPILE_TEST
 	depends on MEDIA_SUPPORT
 	depends on VIDEO_DEV
@@ -667,8 +721,6 @@  config VIDEO_AMPHION_VPU
 	  various NXP SoCs.
 	  To compile this driver as a module choose m here.
 
-endif # V4L_MEM2MEM_DRIVERS
-
 # TI VIDEO PORT Helper Modules
 # These will be selected by VPE and VIP
 config VIDEO_TI_VPDMA
@@ -680,26 +732,13 @@  config VIDEO_TI_SC
 config VIDEO_TI_CSC
 	tristate
 
-menuconfig DVB_PLATFORM_DRIVERS
-	bool "DVB platform devices"
-	depends on MEDIA_DIGITAL_TV_SUPPORT
-	help
-	  Say Y here to enable support for platform-specific Digital TV drivers.
-
-if DVB_PLATFORM_DRIVERS
+# DVB platform drivers
 source "drivers/media/platform/sti/c8sectpfe/Kconfig"
-endif #DVB_PLATFORM_DRIVERS
-
-menuconfig SDR_PLATFORM_DRIVERS
-	bool "SDR platform devices"
-	depends on MEDIA_SDR_SUPPORT
-	help
-	  Say Y here to enable support for platform-specific SDR Drivers.
-
-if SDR_PLATFORM_DRIVERS
 
+# SDR platform drivers
 config VIDEO_RCAR_DRIF
 	tristate "Renesas Digital Radio Interface (DRIF)"
+	depends on SDR_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_RENESAS || COMPILE_TEST
 	select VIDEOBUF2_VMALLOC
@@ -713,4 +752,4 @@  config VIDEO_RCAR_DRIF
 	  To compile this driver as a module, choose M here; the module
 	  will be called rcar_drif.
 
-endif # SDR_PLATFORM_DRIVERS
+endif #MEDIA_PLATFORM_DRIVERS
diff --git a/drivers/media/platform/am437x/Kconfig b/drivers/media/platform/am437x/Kconfig
index 9ef898f512de..619cefca7590 100644
--- a/drivers/media/platform/am437x/Kconfig
+++ b/drivers/media/platform/am437x/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_AM437X_VPFE
 	tristate "TI AM437x VPFE video capture driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on SOC_AM43XX || COMPILE_TEST
 	select MEDIA_CONTROLLER
diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig
index f83bee373d82..5122290729ae 100644
--- a/drivers/media/platform/atmel/Kconfig
+++ b/drivers/media/platform/atmel/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_ATMEL_ISC
 	tristate "ATMEL Image Sensor Controller (ISC) support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && COMMON_CLK
 	depends on ARCH_AT91 || COMPILE_TEST
 	select MEDIA_CONTROLLER
@@ -15,6 +16,7 @@  config VIDEO_ATMEL_ISC
 
 config VIDEO_ATMEL_XISC
 	tristate "ATMEL eXtended Image Sensor Controller (XISC) support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API
 	depends on ARCH_AT91 || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -33,6 +35,7 @@  config VIDEO_ATMEL_ISC_BASE
 
 config VIDEO_ATMEL_ISI
 	tristate "ATMEL Image Sensor Interface (ISI) support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && OF
 	depends on ARCH_AT91 || COMPILE_TEST
 	select VIDEOBUF2_DMA_CONTIG
@@ -43,6 +46,7 @@  config VIDEO_ATMEL_ISI
 
 config VIDEO_MICROCHIP_CSI2DC
 	tristate "Microchip CSI2 Demux Controller"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && COMMON_CLK && OF
 	depends on ARCH_AT91 || COMPILE_TEST
 	select MEDIA_CONTROLLER
diff --git a/drivers/media/platform/cadence/Kconfig b/drivers/media/platform/cadence/Kconfig
index 80cf601323ce..79a7e9fb2575 100644
--- a/drivers/media/platform/cadence/Kconfig
+++ b/drivers/media/platform/cadence/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_CADENCE
 	bool "Cadence Video Devices"
+	depends on V4L_PLATFORM_DRIVERS
 	help
 	  If you have a media device designed by Cadence, say Y.
 
diff --git a/drivers/media/platform/davinci/Kconfig b/drivers/media/platform/davinci/Kconfig
index 9d2a9eeb3499..7e5f92b0082a 100644
--- a/drivers/media/platform/davinci/Kconfig
+++ b/drivers/media/platform/davinci/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_DAVINCI_VPIF_DISPLAY
 	tristate "TI DaVinci VPIF V4L2-Display driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_DAVINCI || COMPILE_TEST
 	depends on I2C
@@ -17,6 +18,7 @@  config VIDEO_DAVINCI_VPIF_DISPLAY
 
 config VIDEO_DAVINCI_VPIF_CAPTURE
 	tristate "TI DaVinci VPIF video capture driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_DAVINCI || COMPILE_TEST
 	depends on I2C
@@ -32,6 +34,7 @@  config VIDEO_DAVINCI_VPIF_CAPTURE
 
 config VIDEO_DM6446_CCDC
 	tristate "TI DM6446 CCDC video capture driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_DAVINCI || COMPILE_TEST
 	depends on I2C
@@ -48,6 +51,7 @@  config VIDEO_DM6446_CCDC
 
 config VIDEO_DM355_CCDC
 	tristate "TI DM355 CCDC video capture driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_DAVINCI || COMPILE_TEST
 	depends on I2C
@@ -64,6 +68,7 @@  config VIDEO_DM355_CCDC
 
 config VIDEO_DM365_ISIF
 	tristate "TI DM365 ISIF video capture driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_DAVINCI || COMPILE_TEST
 	depends on I2C
@@ -78,6 +83,7 @@  config VIDEO_DM365_ISIF
 
 config VIDEO_DAVINCI_VPBE_DISPLAY
 	tristate "TI DaVinci VPBE V4L2-Display driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2
 	depends on ARCH_DAVINCI || COMPILE_TEST
 	depends on I2C
diff --git a/drivers/media/platform/exynos4-is/Kconfig b/drivers/media/platform/exynos4-is/Kconfig
index 136d3b2a0fbb..868bb86c7699 100644
--- a/drivers/media/platform/exynos4-is/Kconfig
+++ b/drivers/media/platform/exynos4-is/Kconfig
@@ -2,6 +2,7 @@ 
 
 config VIDEO_SAMSUNG_EXYNOS4_IS
 	tristate "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && OF && COMMON_CLK
 	depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 	select MEDIA_CONTROLLER
diff --git a/drivers/media/platform/imx-jpeg/Kconfig b/drivers/media/platform/imx-jpeg/Kconfig
index 2fdd648cda80..cbf6101a8b1d 100644
--- a/drivers/media/platform/imx-jpeg/Kconfig
+++ b/drivers/media/platform/imx-jpeg/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0
 config VIDEO_IMX8_JPEG
 	tristate "IMX8 JPEG Encoder/Decoder"
+	depends on V4L_MEM2MEM_DRIVERS
 	depends on ARCH_MXC || COMPILE_TEST
 	depends on VIDEO_DEV && VIDEO_V4L2
 	select VIDEOBUF2_DMA_CONTIG
diff --git a/drivers/media/platform/imx/Kconfig b/drivers/media/platform/imx/Kconfig
index 683863572c20..7cd0617c9b1b 100644
--- a/drivers/media/platform/imx/Kconfig
+++ b/drivers/media/platform/imx/Kconfig
@@ -2,6 +2,7 @@ 
 
 menuconfig VIDEO_IMX
 	bool "V4L2 capture drivers for NXP i.MX devices"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on ARCH_MXC || COMPILE_TEST
 	depends on VIDEO_DEV && VIDEO_V4L2
 	help
diff --git a/drivers/media/platform/marvell-ccic/Kconfig b/drivers/media/platform/marvell-ccic/Kconfig
index 3e3f86264762..bfe655b2cedd 100644
--- a/drivers/media/platform/marvell-ccic/Kconfig
+++ b/drivers/media/platform/marvell-ccic/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_CAFE_CCIC
 	tristate "Marvell 88ALP01 (Cafe) CMOS Camera Controller support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on PCI && I2C && VIDEO_V4L2
 	depends on COMMON_CLK
 	select VIDEO_OV7670
@@ -14,6 +15,7 @@  config VIDEO_CAFE_CCIC
 
 config VIDEO_MMP_CAMERA
 	tristate "Marvell Armada 610 integrated camera controller support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on I2C && VIDEO_V4L2
 	depends on ARCH_MMP || COMPILE_TEST
 	depends on COMMON_CLK
diff --git a/drivers/media/platform/omap/Kconfig b/drivers/media/platform/omap/Kconfig
index de16de46c0f4..789d5e5686c7 100644
--- a/drivers/media/platform/omap/Kconfig
+++ b/drivers/media/platform/omap/Kconfig
@@ -6,6 +6,7 @@  config VIDEO_OMAP2_VOUT_VRFB
 
 config VIDEO_OMAP2_VOUT
 	tristate "OMAP2/OMAP3 V4L2-Display driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on MMU
 	depends on FB_OMAP2 || (COMPILE_TEST && FB_OMAP2=n)
 	depends on ARCH_OMAP2 || ARCH_OMAP3 || COMPILE_TEST
diff --git a/drivers/media/platform/rcar-vin/Kconfig b/drivers/media/platform/rcar-vin/Kconfig
index 030312d862e7..34b7ea6f1246 100644
--- a/drivers/media/platform/rcar-vin/Kconfig
+++ b/drivers/media/platform/rcar-vin/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0
 config VIDEO_RCAR_CSI2
 	tristate "R-Car MIPI CSI-2 Receiver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && OF
 	depends on ARCH_RENESAS || COMPILE_TEST
 	select MEDIA_CONTROLLER
@@ -16,6 +17,7 @@  config VIDEO_RCAR_CSI2
 
 config VIDEO_RCAR_VIN
 	tristate "R-Car Video Input (VIN) Driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && OF
 	depends on ARCH_RENESAS || COMPILE_TEST
 	select MEDIA_CONTROLLER
diff --git a/drivers/media/platform/sti/c8sectpfe/Kconfig b/drivers/media/platform/sti/c8sectpfe/Kconfig
index 369509e03071..702b910509c9 100644
--- a/drivers/media/platform/sti/c8sectpfe/Kconfig
+++ b/drivers/media/platform/sti/c8sectpfe/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config DVB_C8SECTPFE
 	tristate "STMicroelectronics C8SECTPFE DVB support"
+	depends on DVB_PLATFORM_DRIVERS
 	depends on PINCTRL && DVB_CORE && I2C
 	depends on ARCH_STI || ARCH_MULTIPLATFORM || COMPILE_TEST
 	select FW_LOADER
diff --git a/drivers/media/platform/sunxi/sun4i-csi/Kconfig b/drivers/media/platform/sunxi/sun4i-csi/Kconfig
index 903c6152f6e8..43ad2dd7da5d 100644
--- a/drivers/media/platform/sunxi/sun4i-csi/Kconfig
+++ b/drivers/media/platform/sunxi/sun4i-csi/Kconfig
@@ -2,6 +2,7 @@ 
 
 config VIDEO_SUN4I_CSI
 	tristate "Allwinner A10 CMOS Sensor Interface Support"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && COMMON_CLK  && HAS_DMA
 	depends on ARCH_SUNXI || COMPILE_TEST
 	select MEDIA_CONTROLLER
diff --git a/drivers/media/platform/sunxi/sun6i-csi/Kconfig b/drivers/media/platform/sunxi/sun6i-csi/Kconfig
index 586e3fb3a80d..6d9cf1963c41 100644
--- a/drivers/media/platform/sunxi/sun6i-csi/Kconfig
+++ b/drivers/media/platform/sunxi/sun6i-csi/Kconfig
@@ -1,6 +1,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 config VIDEO_SUN6I_CSI
 	tristate "Allwinner V3s Camera Sensor Interface driver"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2 && COMMON_CLK  && HAS_DMA
 	depends on ARCH_SUNXI || COMPILE_TEST
 	select MEDIA_CONTROLLER
diff --git a/drivers/media/platform/xilinx/Kconfig b/drivers/media/platform/xilinx/Kconfig
index 44587dccacf1..a9531d5efd50 100644
--- a/drivers/media/platform/xilinx/Kconfig
+++ b/drivers/media/platform/xilinx/Kconfig
@@ -2,6 +2,7 @@ 
 
 config VIDEO_XILINX
 	tristate "Xilinx Video IP (EXPERIMENTAL)"
+	depends on V4L_PLATFORM_DRIVERS
 	depends on VIDEO_V4L2  && OF && HAS_DMA
 	select MEDIA_CONTROLLER
 	select VIDEO_V4L2_SUBDEV_API