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 <[email protected]>
---
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