2019-05-19 13:07:45 +01:00
# SPDX-License-Identifier: GPL-2.0-only
2012-06-14 16:35:52 -03:00
#
# Generic video config states
#
2019-08-15 13:48:03 -03:00
config VIDEO_V4L2_I2C
bool
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: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> # for meson-vdec & meson-ge2d
Acked-by: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
Acked-by: Łukasz Stelmach <l.stelmach@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-03-13 07:25:46 +01:00
depends on I2C && VIDEO_DEV
2019-08-15 13:48:03 -03:00
default y
2020-03-24 13:50:33 +01:00
config VIDEO_V4L2_SUBDEV_API
2022-06-18 19:54:19 +01:00
bool
2020-03-24 13:50:33 +01:00
depends on VIDEO_DEV && MEDIA_CONTROLLER
help
Enables the V4L2 sub-device pad-level userspace API used to configure
video format, size and frame rate between hardware blocks.
This API is mostly used by camera interfaces in embedded platforms.
2012-08-14 16:07:25 -03:00
config VIDEO_ADV_DEBUG
bool "Enable advanced debug functionality on V4L2 drivers"
2019-03-20 06:39:44 -04:00
help
2012-08-14 16:07:25 -03:00
Say Y here to enable advanced debugging functionality on some
V4L devices.
In doubt, say N.
config VIDEO_FIXED_MINOR_RANGES
bool "Enable old-style fixed minor ranges on drivers/video devices"
2019-03-20 06:39:44 -04:00
help
2012-08-14 16:07:25 -03:00
Say Y here to enable the old-style fixed-range minor assignments.
Only useful if you rely on the old behavior and use mknod instead of udev.
When in doubt, say N.
2012-08-20 10:32:19 -03:00
# Used by drivers that need tuner.ko
config VIDEO_TUNER
2012-06-14 16:35:52 -03:00
tristate
2012-08-20 10:32:19 -03:00
2020-03-18 19:35:32 +01:00
# Used by drivers that need v4l2-jpeg.ko
config V4L2_JPEG_HELPER
tristate
2020-04-04 00:13:41 +02:00
# Used by drivers that need v4l2-h264.ko
config V4L2_H264
tristate
2021-11-16 14:38:36 +00:00
# Used by drivers that need v4l2-vp9.ko
config V4L2_VP9
tristate
2012-08-20 10:32:19 -03:00
# Used by drivers that need v4l2-mem2mem.ko
config V4L2_MEM2MEM_DEV
2018-01-04 06:47:28 -05:00
tristate
depends on VIDEOBUF2_CORE
2012-06-14 16:35:52 -03:00
2015-06-19 00:31:47 -07:00
# Used by LED subsystem flash drivers
config V4L2_FLASH_LED_CLASS
tristate "V4L2 flash API for LED flash class devices"
2022-06-18 19:54:19 +01:00
depends on VIDEO_DEV
2015-06-19 00:31:47 -07:00
depends on LEDS_CLASS_FLASH
2022-06-18 19:54:19 +01:00
select MEDIA_CONTROLLER
2021-03-05 18:38:39 +01:00
select V4L2_ASYNC
2022-06-18 19:54:19 +01:00
select VIDEO_V4L2_SUBDEV_API
2019-03-20 06:39:44 -04:00
help
2015-06-19 00:31:47 -07:00
Say Y here to enable V4L2 flash API support for LED flash
class drivers.
When in doubt, say N.
2016-08-12 08:05:51 -03:00
config V4L2_FWNODE
tristate
2021-03-05 18:38:39 +01:00
select V4L2_ASYNC
config V4L2_ASYNC
tristate
2016-08-12 08:05:51 -03:00
2023-06-27 14:51:04 +02:00
config V4L2_CCI
tristate
config V4L2_CCI_I2C
tristate
depends on I2C
select REGMAP_I2C
select V4L2_CCI