Merge tag 'md/4.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
[sfrench/cifs-2.6.git] / drivers / media / Kconfig
1 #
2 # Multimedia device configuration
3 #
4
5 config CEC_CORE
6         tristate
7
8 config CEC_NOTIFIER
9         bool
10
11 menuconfig MEDIA_SUPPORT
12         tristate "Multimedia support"
13         depends on HAS_IOMEM
14         help
15           If you want to use Webcams, Video grabber devices and/or TV devices
16           enable this option and other options below.
17           Additional info and docs are available on the web at
18           <https://linuxtv.org>
19
20 if MEDIA_SUPPORT
21
22 comment "Multimedia core support"
23
24 #
25 # Multimedia support - automatically enable V4L2 and DVB core
26 #
27 config MEDIA_CAMERA_SUPPORT
28         bool "Cameras/video grabbers support"
29         ---help---
30           Enable support for webcams and video grabbers.
31
32           Say Y when you have a webcam or a video capture grabber board.
33
34 config MEDIA_ANALOG_TV_SUPPORT
35         bool "Analog TV support"
36         ---help---
37           Enable analog TV support.
38
39           Say Y when you have a TV board with analog support or with a
40           hybrid analog/digital TV chipset.
41
42           Note: There are several DVB cards that are based on chips that
43                 support both analog and digital TV. Disabling this option
44                 will disable support for them.
45
46 config MEDIA_DIGITAL_TV_SUPPORT
47         bool "Digital TV support"
48         ---help---
49           Enable digital TV support.
50
51           Say Y when you have a board with digital support or a board with
52           hybrid digital TV and analog TV.
53
54 config MEDIA_RADIO_SUPPORT
55         bool "AM/FM radio receivers/transmitters support"
56         ---help---
57           Enable AM/FM radio support.
58
59           Additional info and docs are available on the web at
60           <https://linuxtv.org>
61
62           Say Y when you have a board with radio support.
63
64           Note: There are several TV cards that are based on chips that
65                 support radio reception. Disabling this option will
66                 disable support for them.
67
68 config MEDIA_SDR_SUPPORT
69         bool "Software defined radio support"
70         ---help---
71           Enable software defined radio support.
72
73           Say Y when you have a software defined radio device.
74
75 config MEDIA_RC_SUPPORT
76         bool "Remote Controller support"
77         depends on INPUT
78         ---help---
79           Enable support for Remote Controllers on Linux. This is
80           needed in order to support several video capture adapters,
81           standalone IR receivers/transmitters, and RF receivers.
82
83           Enable this option if you have a video capture board even
84           if you don't need IR, as otherwise, you may not be able to
85           compile the driver for your adapter.
86
87           Say Y when you have a TV or an IR device.
88
89 config MEDIA_CEC_SUPPORT
90        bool "HDMI CEC support"
91        ---help---
92          Enable support for HDMI CEC (Consumer Electronics Control),
93          which is an optional HDMI feature.
94
95          Say Y when you have an HDMI receiver, transmitter or a USB CEC
96          adapter that supports HDMI CEC.
97
98 source "drivers/media/cec/Kconfig"
99
100 #
101 # Media controller
102 #       Selectable only for webcam/grabbers, as other drivers don't use it
103 #
104
105 config MEDIA_CONTROLLER
106         bool "Media Controller API"
107         depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
108         ---help---
109           Enable the media controller API used to query media devices internal
110           topology and configure it dynamically.
111
112           This API is mostly used by camera interfaces in embedded platforms.
113
114 config MEDIA_CONTROLLER_DVB
115         bool "Enable Media controller for DVB (EXPERIMENTAL)"
116         depends on MEDIA_CONTROLLER && DVB_CORE
117         ---help---
118           Enable the media controller API support for DVB.
119
120           This is currently experimental.
121
122 #
123 # Video4Linux support
124 #       Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
125 #
126
127 config VIDEO_DEV
128         tristate
129         depends on MEDIA_SUPPORT
130         depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT
131         default y
132
133 config VIDEO_V4L2_SUBDEV_API
134         bool "V4L2 sub-device userspace API"
135         depends on VIDEO_DEV && MEDIA_CONTROLLER
136         ---help---
137           Enables the V4L2 sub-device pad-level userspace API used to configure
138           video format, size and frame rate between hardware blocks.
139
140           This API is mostly used by camera interfaces in embedded platforms.
141
142 source "drivers/media/v4l2-core/Kconfig"
143
144 #
145 # DVB Core
146 #       Only enables if one of DTV is selected
147 #
148
149 config DVB_CORE
150         tristate
151         depends on MEDIA_SUPPORT
152         depends on MEDIA_DIGITAL_TV_SUPPORT
153         default y
154         select CRC32
155
156 config DVB_NET
157         bool "DVB Network Support"
158         default (NET && INET)
159         depends on NET && INET && DVB_CORE
160         help
161           This option enables DVB Network Support which is a part of the DVB
162           standard. It is used, for example, by automatic firmware updates used
163           on Set-Top-Boxes. It can also be used to access the Internet via the
164           DVB card, if the network provider supports it.
165
166           You may want to disable the network support on embedded devices. If
167           unsure say Y.
168
169 # This Kconfig option is used by both PCI and USB drivers
170 config TTPCI_EEPROM
171         tristate
172         depends on I2C
173         default n
174
175 source "drivers/media/dvb-core/Kconfig"
176
177 comment "Media drivers"
178 source "drivers/media/rc/Kconfig"
179
180 #
181 # V4L platform/mem2mem drivers
182 #
183
184 source "drivers/media/usb/Kconfig"
185 source "drivers/media/pci/Kconfig"
186 source "drivers/media/platform/Kconfig"
187 source "drivers/media/mmc/Kconfig"
188 source "drivers/media/radio/Kconfig"
189
190 comment "Supported FireWire (IEEE 1394) Adapters"
191         depends on DVB_CORE && FIREWIRE
192 source "drivers/media/firewire/Kconfig"
193
194 # Common driver options
195 source "drivers/media/common/Kconfig"
196
197 comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
198
199 #
200 # Ancillary drivers (tuners, i2c, spi, frontends)
201 #
202
203 config MEDIA_SUBDRV_AUTOSELECT
204         bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
205         depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
206         depends on HAS_IOMEM
207         select I2C
208         select I2C_MUX
209         default y
210         help
211           By default, a media driver auto-selects all possible ancillary
212           devices such as tuners, sensors, video encoders/decoders and
213           frontends, that are used by any of the supported devices.
214
215           This is generally the right thing to do, except when there
216           are strict constraints with regards to the kernel size,
217           like on embedded systems.
218
219           Use this option with care, as deselecting ancillary drivers which
220           are, in fact, necessary will result in the lack of the needed
221           functionality for your device (it may not tune or may not have
222           the needed demodulators).
223
224           If unsure say Y.
225
226 config MEDIA_ATTACH
227         bool
228         depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
229         depends on MODULES
230         default MODULES
231
232 source "drivers/media/i2c/Kconfig"
233 source "drivers/media/spi/Kconfig"
234 source "drivers/media/tuners/Kconfig"
235 source "drivers/media/dvb-frontends/Kconfig"
236
237 endif # MEDIA_SUPPORT