Videobuf2 is now separate from V4L2 and can be now built without it, at
least in principle --- enabling videobuf2 in kernel configuration attempts
to compile videobuf2-v4l2.c but that will fail if CONFIG_VIDEO_V4L2 isn't
enabled.

Solve this by adding a separate Kconfig option for videobuf2-v4l2 and make
it a separate module as well. This means that drivers now need to choose
both the appropriate videobuf2 memory type
(VIDEOBUF2_{VMALLOC,DMA_CONTIG,DMA_SG}) and VIDEOBUF2_V4L2 if they need
both.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
---
Hi,

This patch addresses the recent issues pointed to by kbuild bot such as
this one:

<URL:https://www.spinics.net/lists/linux-media/msg129339.html>

It's not entirely clear to me which patch introduced the issue but it
appears to be fairly recent. This patch just passed kbuild bot test.

 drivers/input/rmi4/Kconfig                         |  1 +
 drivers/input/touchscreen/Kconfig                  |  2 ++
 drivers/media/common/videobuf2/Kconfig             |  5 ++++
 drivers/media/common/videobuf2/Makefile            |  3 ++-
 drivers/media/pci/cobalt/Kconfig                   |  1 +
 drivers/media/pci/cx23885/Kconfig                  |  1 +
 drivers/media/pci/cx25821/Kconfig                  |  1 +
 drivers/media/pci/cx88/Kconfig                     |  1 +
 drivers/media/pci/dt3155/Kconfig                   |  1 +
 drivers/media/pci/intel/ipu3/Kconfig               |  1 +
 drivers/media/pci/saa7134/Kconfig                  |  1 +
 drivers/media/pci/solo6x10/Kconfig                 |  1 +
 drivers/media/pci/sta2x11/Kconfig                  |  1 +
 drivers/media/pci/tw5864/Kconfig                   |  1 +
 drivers/media/pci/tw68/Kconfig                     |  1 +
 drivers/media/pci/tw686x/Kconfig                   |  1 +
 drivers/media/platform/Kconfig                     | 29 ++++++++++++++++++++++
 drivers/media/platform/am437x/Kconfig              |  1 +
 drivers/media/platform/atmel/Kconfig               |  2 ++
 drivers/media/platform/blackfin/Kconfig            |  1 +
 drivers/media/platform/davinci/Kconfig             |  3 +++
 drivers/media/platform/exynos4-is/Kconfig          |  3 +++
 drivers/media/platform/marvell-ccic/Kconfig        |  2 ++
 drivers/media/platform/rcar-vin/Kconfig            |  1 +
 drivers/media/platform/soc_camera/Kconfig          |  1 +
 drivers/media/platform/vimc/Kconfig                |  1 +
 drivers/media/platform/vivid/Kconfig               |  1 +
 drivers/media/platform/xilinx/Kconfig              |  1 +
 drivers/media/usb/airspy/Kconfig                   |  1 +
 drivers/media/usb/em28xx/Kconfig                   |  1 +
 drivers/media/usb/go7007/Kconfig                   |  1 +
 drivers/media/usb/hackrf/Kconfig                   |  1 +
 drivers/media/usb/msi2500/Kconfig                  |  1 +
 drivers/media/usb/pwc/Kconfig                      |  1 +
 drivers/media/usb/s2255/Kconfig                    |  1 +
 drivers/media/usb/stk1160/Kconfig                  |  1 +
 drivers/media/usb/usbtv/Kconfig                    |  1 +
 drivers/media/usb/uvc/Kconfig                      |  1 +
 drivers/media/v4l2-core/Kconfig                    |  5 ++--
 drivers/staging/media/davinci_vpfe/Kconfig         |  1 +
 drivers/staging/media/imx/Kconfig                  |  1 +
 drivers/staging/media/omap4iss/Kconfig             |  1 +
 .../staging/vc04_services/bcm2835-camera/Kconfig   |  1 +
 drivers/usb/gadget/Kconfig                         |  1 +
 drivers/usb/gadget/legacy/Kconfig                  |  1 +
 45 files changed, 87 insertions(+), 3 deletions(-)

diff --git a/drivers/input/rmi4/Kconfig b/drivers/input/rmi4/Kconfig
index 7172b88cd064..1d296cb9f0ab 100644
--- a/drivers/input/rmi4/Kconfig
+++ b/drivers/input/rmi4/Kconfig
@@ -102,6 +102,7 @@ config RMI4_F54
        bool "RMI4 Function 54 (Analog diagnostics)"
        depends on VIDEO_V4L2=y || (RMI4_CORE=m && VIDEO_V4L2=m)
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select RMI4_F55
        help
          Say Y here if you want to add support for RMI4 function 54
diff --git a/drivers/input/touchscreen/Kconfig 
b/drivers/input/touchscreen/Kconfig
index 4f15496fec8b..891bb3422146 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -122,6 +122,7 @@ config TOUCHSCREEN_ATMEL_MXT_T37
        depends on TOUCHSCREEN_ATMEL_MXT
        depends on VIDEO_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=m)
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        help
          Say Y here if you want support to output data from the T37
          Diagnostic Data object using a V4L device.
@@ -1171,6 +1172,7 @@ config TOUCHSCREEN_SUR40
        depends on VIDEO_V4L2
        select INPUT_POLLDEV
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        help
          Say Y here if you want support for the Samsung SUR40 touchscreen
          (also known as Microsoft Surface 2.0 or Microsoft PixelSense).
diff --git a/drivers/media/common/videobuf2/Kconfig 
b/drivers/media/common/videobuf2/Kconfig
index 5df05250de94..fc8f5a734ddc 100644
--- a/drivers/media/common/videobuf2/Kconfig
+++ b/drivers/media/common/videobuf2/Kconfig
@@ -3,6 +3,11 @@ config VIDEOBUF2_CORE
        select DMA_SHARED_BUFFER
        tristate
 
+config VIDEOBUF2_V4L2
+       tristate
+       select VIDEOBUF2_CORE
+       depends on VIDEO_V4L2
+
 config VIDEOBUF2_MEMOPS
        tristate
        select FRAME_VECTOR
diff --git a/drivers/media/common/videobuf2/Makefile 
b/drivers/media/common/videobuf2/Makefile
index 19de5ccda20b..7e27bdd44dcc 100644
--- a/drivers/media/common/videobuf2/Makefile
+++ b/drivers/media/common/videobuf2/Makefile
@@ -1,5 +1,6 @@
 
-obj-$(CONFIG_VIDEOBUF2_CORE) += videobuf2-core.o videobuf2-v4l2.o
+obj-$(CONFIG_VIDEOBUF2_CORE) += videobuf2-core.o
+obj-$(CONFIG_VIDEOBUF2_V4L2) += videobuf2-v4l2.o
 obj-$(CONFIG_VIDEOBUF2_MEMOPS) += videobuf2-memops.o
 obj-$(CONFIG_VIDEOBUF2_VMALLOC) += videobuf2-vmalloc.o
 obj-$(CONFIG_VIDEOBUF2_DMA_CONTIG) += videobuf2-dma-contig.o
diff --git a/drivers/media/pci/cobalt/Kconfig b/drivers/media/pci/cobalt/Kconfig
index aa35cbc0a904..2532aba1cb6b 100644
--- a/drivers/media/pci/cobalt/Kconfig
+++ b/drivers/media/pci/cobalt/Kconfig
@@ -11,6 +11,7 @@ config VIDEO_COBALT
        select VIDEO_ADV7511
        select VIDEO_ADV7842
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        ---help---
          This is a video4linux driver for the Cisco PCIe Cobalt card.
 
diff --git a/drivers/media/pci/cx23885/Kconfig 
b/drivers/media/pci/cx23885/Kconfig
index 3435bbaa3167..297d1ea0a071 100644
--- a/drivers/media/pci/cx23885/Kconfig
+++ b/drivers/media/pci/cx23885/Kconfig
@@ -8,6 +8,7 @@ config VIDEO_CX23885
        depends on RC_CORE
        select VIDEOBUF2_DVB
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select VIDEO_CX25840
        select VIDEO_CX2341X
        select VIDEO_CS3308
diff --git a/drivers/media/pci/cx25821/Kconfig 
b/drivers/media/pci/cx25821/Kconfig
index 1755d3d2feaa..c78296f3c73a 100644
--- a/drivers/media/pci/cx25821/Kconfig
+++ b/drivers/media/pci/cx25821/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_CX25821
        depends on VIDEO_DEV && PCI && I2C
        select I2C_ALGOBIT
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        ---help---
          This is a video4linux driver for Conexant 25821 based
          TV cards.
diff --git a/drivers/media/pci/cx88/Kconfig b/drivers/media/pci/cx88/Kconfig
index 14b813d634a8..c06d6721155b 100644
--- a/drivers/media/pci/cx88/Kconfig
+++ b/drivers/media/pci/cx88/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_CX88
        depends on VIDEO_DEV && PCI && I2C && RC_CORE
        select I2C_ALGOBIT
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select VIDEO_WM8775 if MEDIA_SUBDRV_AUTOSELECT
diff --git a/drivers/media/pci/dt3155/Kconfig b/drivers/media/pci/dt3155/Kconfig
index 5145e0dfa2aa..de9c664bc186 100644
--- a/drivers/media/pci/dt3155/Kconfig
+++ b/drivers/media/pci/dt3155/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_DT3155
        depends on PCI && VIDEO_DEV && VIDEO_V4L2
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        default n
        ---help---
          Enables dt3155 device driver for the DataTranslation DT3155 frame 
grabber.
diff --git a/drivers/media/pci/intel/ipu3/Kconfig 
b/drivers/media/pci/intel/ipu3/Kconfig
index a82d3fe277d2..e4fb5960998a 100644
--- a/drivers/media/pci/intel/ipu3/Kconfig
+++ b/drivers/media/pci/intel/ipu3/Kconfig
@@ -8,6 +8,7 @@ config VIDEO_IPU3_CIO2
        depends on ACPI
        select V4L2_FWNODE
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
 
        ---help---
        This is the Intel IPU3 CIO2 CSI-2 receiver unit, found in Intel
diff --git a/drivers/media/pci/saa7134/Kconfig 
b/drivers/media/pci/saa7134/Kconfig
index b44e0d70907e..8cc1d62d3e96 100644
--- a/drivers/media/pci/saa7134/Kconfig
+++ b/drivers/media/pci/saa7134/Kconfig
@@ -2,6 +2,7 @@ config VIDEO_SAA7134
        tristate "Philips SAA7134 support"
        depends on VIDEO_DEV && PCI && I2C
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select VIDEO_TUNER
        select VIDEO_TVEEPROM
        select CRC32
diff --git a/drivers/media/pci/solo6x10/Kconfig 
b/drivers/media/pci/solo6x10/Kconfig
index 0fb91dc7ca73..3ece37765a08 100644
--- a/drivers/media/pci/solo6x10/Kconfig
+++ b/drivers/media/pci/solo6x10/Kconfig
@@ -7,6 +7,7 @@ config VIDEO_SOLO6X10
        select FONT_8x16
        select VIDEOBUF2_DMA_SG
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select SND_PCM
        select FONT_8x16
        ---help---
diff --git a/drivers/media/pci/sta2x11/Kconfig 
b/drivers/media/pci/sta2x11/Kconfig
index e03587b1af71..1ea0ef52c702 100644
--- a/drivers/media/pci/sta2x11/Kconfig
+++ b/drivers/media/pci/sta2x11/Kconfig
@@ -4,6 +4,7 @@ config STA2X11_VIP
        depends on HAS_DMA
        select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS
        depends on VIDEO_V4L2_SUBDEV_API
        depends on I2C
diff --git a/drivers/media/pci/tw5864/Kconfig b/drivers/media/pci/tw5864/Kconfig
index 87c8f327e2d4..2706c06e86c3 100644
--- a/drivers/media/pci/tw5864/Kconfig
+++ b/drivers/media/pci/tw5864/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_TW5864
        depends on VIDEO_DEV && PCI && VIDEO_V4L2
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        ---help---
          Support for boards based on Techwell TW5864 chip which provides
          multichannel video & audio grabbing and encoding (H.264, MJPEG,
diff --git a/drivers/media/pci/tw68/Kconfig b/drivers/media/pci/tw68/Kconfig
index 95d5d5202048..ecdd17768ec3 100644
--- a/drivers/media/pci/tw68/Kconfig
+++ b/drivers/media/pci/tw68/Kconfig
@@ -2,6 +2,7 @@ config VIDEO_TW68
        tristate "Techwell tw68x Video For Linux"
        depends on VIDEO_DEV && PCI && VIDEO_V4L2
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        ---help---
          Support for Techwell tw68xx based frame grabber boards.
 
diff --git a/drivers/media/pci/tw686x/Kconfig b/drivers/media/pci/tw686x/Kconfig
index 34ff37712313..1ddcaa42be35 100644
--- a/drivers/media/pci/tw686x/Kconfig
+++ b/drivers/media/pci/tw686x/Kconfig
@@ -5,6 +5,7 @@ config VIDEO_TW686X
        select VIDEOBUF2_VMALLOC
        select VIDEOBUF2_DMA_CONTIG
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select SND_PCM
        help
          Support for Intersil/Techwell TW686x-based frame grabber cards.
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index 614fbef08ddc..7763c399cdf4 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -39,6 +39,7 @@ config VIDEO_SH_VOU
        depends on VIDEO_DEV && I2C && HAS_DMA
        depends on ARCH_SHMOBILE || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        help
          Support for the Video Output Unit (VOU) on SuperH SoCs.
 
@@ -89,6 +90,7 @@ config VIDEO_OMAP3
        depends on OMAP_IOMMU
        select ARM_DMA_USE_IOMMU
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select MFD_SYSCON
        select V4L2_FWNODE
        ---help---
@@ -105,6 +107,7 @@ config VIDEO_PXA27x
        depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
        depends on PXA27x || COMPILE_TEST
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select SG_SPLIT
        select V4L2_FWNODE
        ---help---
@@ -115,6 +118,7 @@ config VIDEO_QCOM_CAMSS
        depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
        depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
 
 config VIDEO_S3C_CAMIF
@@ -124,6 +128,7 @@ config VIDEO_S3C_CAMIF
        depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        ---help---
          This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera
          host interface (CAMIF).
@@ -136,6 +141,7 @@ config VIDEO_STM32_DCMI
        depends on VIDEO_V4L2 && OF && HAS_DMA
        depends on ARCH_STM32 || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        ---help---
          This module makes the STM32 Digital Camera Memory Interface (DCMI)
@@ -157,6 +163,7 @@ config VIDEO_TI_CAL
        depends on SOC_DRA7XX || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        default n
        ---help---
@@ -186,6 +193,7 @@ config VIDEO_CODA
        depends on HAS_DMA
        select SRAM
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select VIDEOBUF2_VMALLOC
        select V4L2_MEM2MEM_DEV
        select GENERIC_ALLOCATOR
@@ -203,6 +211,7 @@ config VIDEO_MEDIATEK_JPEG
        depends on ARCH_MEDIATEK || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        ---help---
          Mediatek jpeg codec driver provides HW capability to decode
@@ -231,6 +240,7 @@ config VIDEO_MEDIATEK_MDP
        depends on ARCH_MEDIATEK || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        select VIDEO_MEDIATEK_VPU
        default n
@@ -247,6 +257,7 @@ config VIDEO_MEDIATEK_VCODEC
        depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
        depends on ARCH_MEDIATEK || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        select VIDEO_MEDIATEK_VPU
        default n
@@ -263,6 +274,7 @@ config VIDEO_MEM2MEM_DEINTERLACE
        depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        help
            Generic deinterlacing V4L2 driver.
@@ -273,6 +285,7 @@ config VIDEO_SAMSUNG_S5P_G2D
        depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        default n
        ---help---
@@ -285,6 +298,7 @@ config VIDEO_SAMSUNG_S5P_JPEG
        depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        ---help---
          This is a v4l2 driver for Samsung S5P, EXYNOS3250
@@ -296,6 +310,7 @@ config VIDEO_SAMSUNG_S5P_MFC
        depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        default n
        help
            MFC 5.1 and 6.x driver for V4L2
@@ -306,6 +321,7 @@ config VIDEO_MX2_EMMAPRP
        depends on SOC_IMX27 || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        help
            MX2X chips have a PrP that can be used to process buffers from
@@ -318,6 +334,7 @@ config VIDEO_SAMSUNG_EXYNOS_GSC
        depends on ARCH_EXYNOS || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        help
          This is a v4l2 driver for Samsung EXYNOS5 SoC G-Scaler.
@@ -328,6 +345,7 @@ config VIDEO_STI_BDISP
        depends on HAS_DMA
        depends on ARCH_STI || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        help
          This v4l2 mem2mem driver is a 2D blitter for STMicroelectronics SoC.
@@ -338,6 +356,7 @@ config VIDEO_STI_HVA
        depends on HAS_DMA
        depends on ARCH_STI || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        help
          This V4L2 driver enables HVA (Hardware Video Accelerator) multi-format
@@ -392,6 +411,7 @@ config VIDEO_STI_DELTA_DRIVER
        depends on VIDEO_STI_DELTA_MJPEG
        default VIDEO_STI_DELTA_MJPEG
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        select RPMSG
 
@@ -401,6 +421,7 @@ config VIDEO_SH_VEU
        tristate "SuperH VEU mem2mem video processing driver"
        depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        help
            Support for the Video Engine Unit (VEU) on SuperH and
@@ -412,6 +433,7 @@ config VIDEO_RENESAS_FDP1
        depends on ARCH_SHMOBILE || COMPILE_TEST
        depends on (!ARCH_RENESAS && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        ---help---
          This is a V4L2 driver for the Renesas Fine Display Processor
@@ -425,6 +447,7 @@ config VIDEO_RENESAS_JPU
        depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
        depends on ARCH_RENESAS || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        ---help---
          This is a V4L2 driver for the Renesas JPEG Processing Unit.
@@ -451,6 +474,7 @@ config VIDEO_RENESAS_VSP1
        depends on (ARCH_RENESAS && OF) || COMPILE_TEST
        depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select VIDEOBUF2_VMALLOC
        ---help---
          This is a V4L2 driver for the Renesas VSP1 video processing engine.
@@ -463,6 +487,7 @@ config VIDEO_ROCKCHIP_RGA
        depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
        depends on ARCH_ROCKCHIP || COMPILE_TEST
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        default n
        ---help---
@@ -479,6 +504,7 @@ config VIDEO_TI_VPE
        depends on SOC_DRA7XX || COMPILE_TEST
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        select VIDEO_TI_VPDMA
        select VIDEO_TI_SC
@@ -501,6 +527,7 @@ config VIDEO_QCOM_VENUS
        select QCOM_MDT_LOADER if ARCH_QCOM
        select QCOM_SCM if ARCH_QCOM
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        ---help---
          This is a V4L2 driver for Qualcomm Venus video accelerator
@@ -535,6 +562,7 @@ config VIDEO_VIM2M
        tristate "Virtual Memory-to-Memory Driver"
        depends on VIDEO_DEV && VIDEO_V4L2
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        default n
        ---help---
@@ -641,6 +669,7 @@ config VIDEO_RCAR_DRIF
        depends on VIDEO_V4L2 && HAS_DMA
        depends on ARCH_RENESAS || COMPILE_TEST
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        ---help---
          Say Y if you want to enable R-Car Gen3 DRIF support. DRIF is Digital
          Radio Interface that interfaces with an RF front end chip. It is a
diff --git a/drivers/media/platform/am437x/Kconfig 
b/drivers/media/platform/am437x/Kconfig
index 160e77e9a0fb..3f302f63fca6 100644
--- a/drivers/media/platform/am437x/Kconfig
+++ b/drivers/media/platform/am437x/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_AM437X_VPFE
        depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAS_DMA
        depends on SOC_AM43XX || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        help
           Support for AM437x Video Processing Front End based Video
diff --git a/drivers/media/platform/atmel/Kconfig 
b/drivers/media/platform/atmel/Kconfig
index 55de751e5f51..fdd51dc6d79c 100644
--- a/drivers/media/platform/atmel/Kconfig
+++ b/drivers/media/platform/atmel/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_ATMEL_ISC
        depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA
        depends on ARCH_AT91 || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select REGMAP_MMIO
        select V4L2_FWNODE
        help
@@ -14,6 +15,7 @@ config VIDEO_ATMEL_ISI
        depends on VIDEO_V4L2 && OF && HAS_DMA
        depends on ARCH_AT91 || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        ---help---
          This module makes the ATMEL Image Sensor Interface available
diff --git a/drivers/media/platform/blackfin/Kconfig 
b/drivers/media/platform/blackfin/Kconfig
index 68fa90151b8f..2e0e1eb591de 100644
--- a/drivers/media/platform/blackfin/Kconfig
+++ b/drivers/media/platform/blackfin/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_BLACKFIN_CAPTURE
        depends on VIDEO_V4L2 && BLACKFIN && I2C
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        help
          V4L2 bridge driver for Blackfin video capture device.
          Choose PPI or EPPI as its interface.
diff --git a/drivers/media/platform/davinci/Kconfig 
b/drivers/media/platform/davinci/Kconfig
index 55982e681d77..8ac9346085d6 100644
--- a/drivers/media/platform/davinci/Kconfig
+++ b/drivers/media/platform/davinci/Kconfig
@@ -5,6 +5,7 @@ config VIDEO_DAVINCI_VPIF_DISPLAY
        depends on HAS_DMA
        depends on I2C
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
        select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
        help
@@ -22,6 +23,7 @@ config VIDEO_DAVINCI_VPIF_CAPTURE
        depends on HAS_DMA
        depends on I2C
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        help
          Enables Davinci VPIF module used for capture devices.
@@ -85,6 +87,7 @@ config VIDEO_DAVINCI_VPBE_DISPLAY
        depends on HAS_DMA
        depends on I2C
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        help
            Enables Davinci VPBE module used for display devices.
            This module is used for display on TI DM644x/DM365/DM355
diff --git a/drivers/media/platform/exynos4-is/Kconfig 
b/drivers/media/platform/exynos4-is/Kconfig
index 7b2c49e5a592..679bee63f959 100644
--- a/drivers/media/platform/exynos4-is/Kconfig
+++ b/drivers/media/platform/exynos4-is/Kconfig
@@ -19,6 +19,7 @@ config VIDEO_S5P_FIMC
        depends on I2C
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_MEM2MEM_DEV
        select MFD_SYSCON
        select VIDEO_EXYNOS4_IS_COMMON
@@ -48,6 +49,7 @@ config VIDEO_EXYNOS_FIMC_LITE
        depends on I2C
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select VIDEO_EXYNOS4_IS_COMMON
        help
          This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera
@@ -62,6 +64,7 @@ config VIDEO_EXYNOS4_FIMC_IS
        depends on I2C
        depends on HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        depends on OF
        select FW_LOADER
        help
diff --git a/drivers/media/platform/marvell-ccic/Kconfig 
b/drivers/media/platform/marvell-ccic/Kconfig
index 4bf5bd1e90d6..daf73b62fa7a 100644
--- a/drivers/media/platform/marvell-ccic/Kconfig
+++ b/drivers/media/platform/marvell-ccic/Kconfig
@@ -6,6 +6,7 @@ config VIDEO_CAFE_CCIC
        select VIDEOBUF2_VMALLOC
        select VIDEOBUF2_DMA_CONTIG
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        ---help---
          This is a video4linux2 driver for the Marvell 88ALP01 integrated
          CMOS camera controller.  This is the controller found on first-
@@ -18,6 +19,7 @@ config VIDEO_MMP_CAMERA
        select VIDEO_OV7670
        select I2C_GPIO
        select VIDEOBUF2_DMA_SG
+       select VIDEOBUF2_V4L2
        ---help---
          This is a Video4Linux2 driver for the integrated camera
          controller found on Marvell Armada 610 application
diff --git a/drivers/media/platform/rcar-vin/Kconfig 
b/drivers/media/platform/rcar-vin/Kconfig
index af4c98b44d2e..64764eec2210 100644
--- a/drivers/media/platform/rcar-vin/Kconfig
+++ b/drivers/media/platform/rcar-vin/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_RCAR_VIN
        depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF && HAS_DMA && 
MEDIA_CONTROLLER
        depends on ARCH_RENESAS || COMPILE_TEST
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        ---help---
          Support for Renesas R-Car Video Input (VIN) driver.
diff --git a/drivers/media/platform/soc_camera/Kconfig 
b/drivers/media/platform/soc_camera/Kconfig
index f5979c12ad61..08f88505ab22 100644
--- a/drivers/media/platform/soc_camera/Kconfig
+++ b/drivers/media/platform/soc_camera/Kconfig
@@ -2,6 +2,7 @@ config SOC_CAMERA
        tristate "SoC camera support"
        depends on VIDEO_V4L2 && HAS_DMA && I2C
        select VIDEOBUF2_CORE
+       select VIDEOBUF2_V4L2
        help
          SoC Camera is a common API to several cameras, not connecting
          over a bus like PCI or USB. For example some i2c camera connected
diff --git a/drivers/media/platform/vimc/Kconfig 
b/drivers/media/platform/vimc/Kconfig
index 71c9fe7d3370..911954d120b7 100644
--- a/drivers/media/platform/vimc/Kconfig
+++ b/drivers/media/platform/vimc/Kconfig
@@ -2,6 +2,7 @@ config VIDEO_VIMC
        tristate "Virtual Media Controller Driver (VIMC)"
        depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select VIDEO_V4L2_TPG
        default n
        ---help---
diff --git a/drivers/media/platform/vivid/Kconfig 
b/drivers/media/platform/vivid/Kconfig
index 154de92dd809..e9035d09f487 100644
--- a/drivers/media/platform/vivid/Kconfig
+++ b/drivers/media/platform/vivid/Kconfig
@@ -9,6 +9,7 @@ config VIDEO_VIVID
        select FB_CFB_IMAGEBLIT
        select VIDEOBUF2_VMALLOC
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select VIDEO_V4L2_TPG
        default n
        ---help---
diff --git a/drivers/media/platform/xilinx/Kconfig 
b/drivers/media/platform/xilinx/Kconfig
index a5d21b7c6e0b..8e61ccdba361 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 VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF && HAS_DMA
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        ---help---
          Driver for Xilinx Video IP Pipelines
diff --git a/drivers/media/usb/airspy/Kconfig b/drivers/media/usb/airspy/Kconfig
index 10b204cf4dbc..281ea0edeef2 100644
--- a/drivers/media/usb/airspy/Kconfig
+++ b/drivers/media/usb/airspy/Kconfig
@@ -2,6 +2,7 @@ config USB_AIRSPY
        tristate "AirSpy"
        depends on VIDEO_V4L2
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        ---help---
          This is a video4linux2 driver for AirSpy SDR device.
 
diff --git a/drivers/media/usb/em28xx/Kconfig b/drivers/media/usb/em28xx/Kconfig
index 451e076525d3..db7e2b532d5a 100644
--- a/drivers/media/usb/em28xx/Kconfig
+++ b/drivers/media/usb/em28xx/Kconfig
@@ -8,6 +8,7 @@ config VIDEO_EM28XX_V4L2
        tristate "Empia EM28xx analog TV, video capture and/or webcam support"
        depends on VIDEO_EM28XX
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
        select VIDEO_TVP5150 if MEDIA_SUBDRV_AUTOSELECT
        select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
diff --git a/drivers/media/usb/go7007/Kconfig b/drivers/media/usb/go7007/Kconfig
index af1d02430931..a54d39585c60 100644
--- a/drivers/media/usb/go7007/Kconfig
+++ b/drivers/media/usb/go7007/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_GO7007
        depends on VIDEO_DEV && I2C
        depends on SND && USB
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select VIDEO_TUNER
        select CYPRESS_FIRMWARE
        select SND_PCM
diff --git a/drivers/media/usb/hackrf/Kconfig b/drivers/media/usb/hackrf/Kconfig
index 937e6f5c1e8e..4810f13434fc 100644
--- a/drivers/media/usb/hackrf/Kconfig
+++ b/drivers/media/usb/hackrf/Kconfig
@@ -2,6 +2,7 @@ config USB_HACKRF
        tristate "HackRF"
        depends on VIDEO_V4L2
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        ---help---
          This is a video4linux2 driver for HackRF SDR device.
 
diff --git a/drivers/media/usb/msi2500/Kconfig 
b/drivers/media/usb/msi2500/Kconfig
index 9eff8a76ff0e..4593ef52c71e 100644
--- a/drivers/media/usb/msi2500/Kconfig
+++ b/drivers/media/usb/msi2500/Kconfig
@@ -2,4 +2,5 @@ config USB_MSI2500
        tristate "Mirics MSi2500"
        depends on VIDEO_V4L2 && SPI
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select MEDIA_TUNER_MSI001
diff --git a/drivers/media/usb/pwc/Kconfig b/drivers/media/usb/pwc/Kconfig
index d63d0a850035..b2a79191ed85 100644
--- a/drivers/media/usb/pwc/Kconfig
+++ b/drivers/media/usb/pwc/Kconfig
@@ -2,6 +2,7 @@ config USB_PWC
        tristate "USB Philips Cameras"
        depends on VIDEO_V4L2
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        ---help---
          Say Y or M here if you want to use one of these Philips & OEM
          webcams:
diff --git a/drivers/media/usb/s2255/Kconfig b/drivers/media/usb/s2255/Kconfig
index 8c3fceef9a09..9aba7c42feae 100644
--- a/drivers/media/usb/s2255/Kconfig
+++ b/drivers/media/usb/s2255/Kconfig
@@ -2,6 +2,7 @@ config USB_S2255
        tristate "USB Sensoray 2255 video capture device"
        depends on VIDEO_V4L2
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        default n
        help
          Say Y here if you want support for the Sensoray 2255 USB device.
diff --git a/drivers/media/usb/stk1160/Kconfig 
b/drivers/media/usb/stk1160/Kconfig
index 425ed00e2599..90485a624109 100644
--- a/drivers/media/usb/stk1160/Kconfig
+++ b/drivers/media/usb/stk1160/Kconfig
@@ -17,4 +17,5 @@ config VIDEO_STK1160
        depends on VIDEO_STK1160_COMMON
        default y
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select VIDEO_SAA711X
diff --git a/drivers/media/usb/usbtv/Kconfig b/drivers/media/usb/usbtv/Kconfig
index 14a0941fa0d0..89512fd658d2 100644
--- a/drivers/media/usb/usbtv/Kconfig
+++ b/drivers/media/usb/usbtv/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_USBTV
        depends on VIDEO_V4L2 && SND
        select SND_PCM
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
 
        ---help---
          This is a video4linux2 driver for USBTV007 based video capture 
devices.
diff --git a/drivers/media/usb/uvc/Kconfig b/drivers/media/usb/uvc/Kconfig
index 6ed85efabcaa..ea366645e85e 100644
--- a/drivers/media/usb/uvc/Kconfig
+++ b/drivers/media/usb/uvc/Kconfig
@@ -2,6 +2,7 @@ config USB_VIDEO_CLASS
        tristate "USB Video Class (UVC)"
        depends on VIDEO_V4L2
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        ---help---
          Support for the USB Video Class (UVC).  Currently only video
          input devices, such as webcams, are supported.
diff --git a/drivers/media/v4l2-core/Kconfig b/drivers/media/v4l2-core/Kconfig
index bf52fbd07aed..6ffbf137fefb 100644
--- a/drivers/media/v4l2-core/Kconfig
+++ b/drivers/media/v4l2-core/Kconfig
@@ -29,8 +29,9 @@ config VIDEO_FIXED_MINOR_RANGES
 config VIDEO_PCI_SKELETON
        tristate "Skeleton PCI V4L2 driver"
        depends on PCI
-       depends on VIDEO_V4L2 && VIDEOBUF2_CORE
+       depends on VIDEO_V4L2
        depends on VIDEOBUF2_MEMOPS && VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        ---help---
          Enable build of the skeleton PCI driver, used as a reference
          when developing new drivers.
@@ -42,7 +43,7 @@ config VIDEO_TUNER
 # Used by drivers that need v4l2-mem2mem.ko
 config V4L2_MEM2MEM_DEV
        tristate
-       depends on VIDEOBUF2_CORE
+       depends on VIDEOBUF2_V4L2
 
 # Used by LED subsystem flash drivers
 config V4L2_FLASH_LED_CLASS
diff --git a/drivers/staging/media/davinci_vpfe/Kconfig 
b/drivers/staging/media/davinci_vpfe/Kconfig
index f40a06954a92..8fd9527b4461 100644
--- a/drivers/staging/media/davinci_vpfe/Kconfig
+++ b/drivers/staging/media/davinci_vpfe/Kconfig
@@ -5,6 +5,7 @@ config VIDEO_DM365_VPFE
        depends on VIDEO_V4L2_SUBDEV_API
        depends on VIDEO_DAVINCI_VPBE_DISPLAY
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        help
          Support for DM365 VPFE based Media Controller Capture driver.
 
diff --git a/drivers/staging/media/imx/Kconfig 
b/drivers/staging/media/imx/Kconfig
index 2be921cd0d55..e4540c89ad98 100644
--- a/drivers/staging/media/imx/Kconfig
+++ b/drivers/staging/media/imx/Kconfig
@@ -3,6 +3,7 @@ config VIDEO_IMX_MEDIA
        depends on MEDIA_CONTROLLER && VIDEO_V4L2 && ARCH_MXC && IMX_IPUV3_CORE
        depends on VIDEO_V4L2_SUBDEV_API
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        select V4L2_FWNODE
        ---help---
          Say yes here to enable support for video4linux media controller
diff --git a/drivers/staging/media/omap4iss/Kconfig 
b/drivers/staging/media/omap4iss/Kconfig
index 46183464ee79..99ebaf149df5 100644
--- a/drivers/staging/media/omap4iss/Kconfig
+++ b/drivers/staging/media/omap4iss/Kconfig
@@ -4,5 +4,6 @@ config VIDEO_OMAP4
        depends on HAS_DMA
        select MFD_SYSCON
        select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_V4L2
        ---help---
          Driver for an OMAP 4 ISS controller.
diff --git a/drivers/staging/vc04_services/bcm2835-camera/Kconfig 
b/drivers/staging/vc04_services/bcm2835-camera/Kconfig
index b8b01aa4e426..6dec4a83556c 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/Kconfig
+++ b/drivers/staging/vc04_services/bcm2835-camera/Kconfig
@@ -4,6 +4,7 @@ config VIDEO_BCM2835
        depends on VIDEO_V4L2 && (ARCH_BCM2835 || COMPILE_TEST)
        select BCM2835_VCHIQ
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select BTREE
        help
          Say Y here to enable camera host interface devices for
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 31cce7805eb2..85162b205a1d 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -448,6 +448,7 @@ config USB_CONFIGFS_F_UVC
        depends on VIDEO_V4L2
        depends on VIDEO_DEV
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select USB_F_UVC
        help
          The Webcam function acts as a composite USB Audio and Video Class
diff --git a/drivers/usb/gadget/legacy/Kconfig 
b/drivers/usb/gadget/legacy/Kconfig
index 784bf86dad4f..bf39b0700b2c 100644
--- a/drivers/usb/gadget/legacy/Kconfig
+++ b/drivers/usb/gadget/legacy/Kconfig
@@ -482,6 +482,7 @@ config USB_G_WEBCAM
        depends on VIDEO_V4L2
        select USB_LIBCOMPOSITE
        select VIDEOBUF2_VMALLOC
+       select VIDEOBUF2_V4L2
        select USB_F_UVC
        help
          The Webcam Gadget acts as a composite USB Audio and Video Class
-- 
2.11.0

Reply via email to