Commit 9958d30f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

media: Kconfig: cleanup VIDEO_DEV dependencies



media Kconfig has two entries associated to V4L API:
VIDEO_DEV and VIDEO_V4L2.

On Kernel 2.6.x, there were two V4L APIs, each one with its own flag.
VIDEO_DEV were meant to:
	1) enable Video4Linux and make its Kconfig options to appear;
	2) it makes the Kernel build the V4L core.

while VIDEO_V4L2 where used to distinguish between drivers that
implement the newer API and drivers that implemented the former one.

With time, such meaning changed, specially after the removal of
all V4L version 1 drivers.

At the current implementation, VIDEO_DEV only does (1): it enables
the media options related to V4L, that now has:

	menu "Video4Linux options"
		visible if VIDEO_DEV

	source "drivers/media/v4l2-core/Kconfig"
	endmenu

but it doesn't affect anymore the V4L core drivers.

The rationale is that the V4L2 core has a "soft" dependency
at the I2C bus, and now requires to select a number of other
Kconfig options:

	config VIDEO_V4L2
		tristate
		depends on (I2C || I2C=n) && VIDEO_DEV
		select RATIONAL
		select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE
		default (I2C || I2C=n) && VIDEO_DEV

In the past, merging them would be tricky, but it seems that it is now
possible to merge those symbols, in order to simplify V4L dependencies.

Let's keep VIDEO_DEV, as this one is used on some make *defconfig
configurations.

Suggested-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarJacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> # for meson-vdec & meson-ge2d
Acked-by: default avatarAndrzej Pietrasiewicz <andrzejtp2010@gmail.com>
Acked-by: default avatarŁukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 63fe3d27
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ config RMI4_F3A

config RMI4_F54
	bool "RMI4 Function 54 (Analog diagnostics)"
	depends on VIDEO_V4L2=y || (RMI4_CORE=m && VIDEO_V4L2=m)
	depends on VIDEO_DEV=y || (RMI4_CORE=m && VIDEO_DEV=m)
	select VIDEOBUF2_VMALLOC
	select RMI4_F55
	help
+2 −2
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ config TOUCHSCREEN_ATMEL_MXT
config TOUCHSCREEN_ATMEL_MXT_T37
	bool "Support T37 Diagnostic Data"
	depends on TOUCHSCREEN_ATMEL_MXT
	depends on VIDEO_V4L2=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_V4L2=m)
	depends on VIDEO_DEV=y || (TOUCHSCREEN_ATMEL_MXT=m && VIDEO_DEV=m)
	select VIDEOBUF2_VMALLOC
	help
	  Say Y here if you want support to output data from the T37
@@ -1252,7 +1252,7 @@ config TOUCHSCREEN_SUN4I
config TOUCHSCREEN_SUR40
	tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
	depends on USB && MEDIA_USB_SUPPORT && HAS_DMA
	depends on VIDEO_V4L2
	depends on VIDEO_DEV
	select VIDEOBUF2_DMA_SG
	help
	  Say Y here if you want support for the Samsung SUR40 touchscreen
+3 −0
Original line number Diff line number Diff line
@@ -160,6 +160,9 @@ menu "Media core support"
config VIDEO_DEV
	tristate "Video4Linux core"
	default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT
	depends on (I2C || I2C=n)
	select RATIONAL
	select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE
	help
	  Enables the V4L2 API, used by cameras, analog TV, video grabbers,
	  radio devices and by some input devices.
+1 −1
Original line number Diff line number Diff line
@@ -5,6 +5,6 @@ config VIDEO_SAA7146

config VIDEO_SAA7146_VV
	tristate
	depends on VIDEO_V4L2
	depends on VIDEO_DEV
	select VIDEOBUF_DMA_SG
	select VIDEO_SAA7146
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
config DVB_MMAP
	bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
	depends on DVB_CORE
	depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
	depends on VIDEO_DEV=y || VIDEO_DEV=DVB_CORE
	select VIDEOBUF2_VMALLOC
	help
	  This option enables DVB experimental memory-mapped API, which
Loading