1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Generic video config states
4#
5
6# Enable the V4L2 core and API
7config VIDEO_V4L2
8	tristate
9	depends on (I2C || I2C=n) && VIDEO_DEV
10	select RATIONAL
11	select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE
12	default (I2C || I2C=n) && VIDEO_DEV
13
14config VIDEO_V4L2_I2C
15	bool
16	depends on I2C && VIDEO_V4L2
17	default y
18
19config VIDEO_V4L2_SUBDEV_API
20	bool "V4L2 sub-device userspace API"
21	depends on VIDEO_DEV && MEDIA_CONTROLLER
22	help
23	  Enables the V4L2 sub-device pad-level userspace API used to configure
24	  video format, size and frame rate between hardware blocks.
25
26	  This API is mostly used by camera interfaces in embedded platforms.
27
28config VIDEO_ADV_DEBUG
29	bool "Enable advanced debug functionality on V4L2 drivers"
30	help
31	  Say Y here to enable advanced debugging functionality on some
32	  V4L devices.
33	  In doubt, say N.
34
35config VIDEO_FIXED_MINOR_RANGES
36	bool "Enable old-style fixed minor ranges on drivers/video devices"
37	help
38	  Say Y here to enable the old-style fixed-range minor assignments.
39	  Only useful if you rely on the old behavior and use mknod instead of udev.
40
41	  When in doubt, say N.
42
43# Used by drivers that need tuner.ko
44config VIDEO_TUNER
45	tristate
46
47# Used by drivers that need v4l2-jpeg.ko
48config V4L2_JPEG_HELPER
49	tristate
50
51# Used by drivers that need v4l2-h264.ko
52config V4L2_H264
53	tristate
54
55# Used by drivers that need v4l2-mem2mem.ko
56config V4L2_MEM2MEM_DEV
57	tristate
58	depends on VIDEOBUF2_CORE
59
60# Used by LED subsystem flash drivers
61config V4L2_FLASH_LED_CLASS
62	tristate "V4L2 flash API for LED flash class devices"
63	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
64	depends on LEDS_CLASS_FLASH
65	select V4L2_ASYNC
66	help
67	  Say Y here to enable V4L2 flash API support for LED flash
68	  class drivers.
69
70	  When in doubt, say N.
71
72config V4L2_FWNODE
73	tristate
74	select V4L2_ASYNC
75
76config V4L2_ASYNC
77	tristate
78
79# Used by drivers that need Videobuf modules
80config VIDEOBUF_GEN
81	tristate
82
83config VIDEOBUF_DMA_SG
84	tristate
85	select VIDEOBUF_GEN
86
87config VIDEOBUF_VMALLOC
88	tristate
89	select VIDEOBUF_GEN
90
91config VIDEOBUF_DMA_CONTIG
92	tristate
93	select VIDEOBUF_GEN
94