Merge tag 'mlx5-fixes-2017-07-09' of https://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6/btrfs-unstable.git] / drivers / media / Kconfig
blob55d9c2b82b7eab11268d88f7d8e5cf586f910985
2 # Multimedia device configuration
5 config CEC_CORE
6         tristate
8 config CEC_NOTIFIER
9         bool
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>
20 if MEDIA_SUPPORT
22 comment "Multimedia core support"
25 # Multimedia support - automatically enable V4L2 and DVB core
27 config MEDIA_CAMERA_SUPPORT
28         bool "Cameras/video grabbers support"
29         ---help---
30           Enable support for webcams and video grabbers.
32           Say Y when you have a webcam or a video capture grabber board.
34 config MEDIA_ANALOG_TV_SUPPORT
35         bool "Analog TV support"
36         ---help---
37           Enable analog TV support.
39           Say Y when you have a TV board with analog support or with a
40           hybrid analog/digital TV chipset.
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.
46 config MEDIA_DIGITAL_TV_SUPPORT
47         bool "Digital TV support"
48         ---help---
49           Enable digital TV support.
51           Say Y when you have a board with digital support or a board with
52           hybrid digital TV and analog TV.
54 config MEDIA_RADIO_SUPPORT
55         bool "AM/FM radio receivers/transmitters support"
56         ---help---
57           Enable AM/FM radio support.
59           Additional info and docs are available on the web at
60           <https://linuxtv.org>
62           Say Y when you have a board with radio support.
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.
68 config MEDIA_SDR_SUPPORT
69         bool "Software defined radio support"
70         ---help---
71           Enable software defined radio support.
73           Say Y when you have a software defined radio device.
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.
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.
87           Say Y when you have a TV or an IR device.
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.
95          Say Y when you have an HDMI receiver, transmitter or a USB CEC
96          adapter that supports HDMI CEC.
98 source "drivers/media/cec/Kconfig"
101 # Media controller
102 #       Selectable only for webcam/grabbers, as other drivers don't use it
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.
112           This API is mostly used by camera interfaces in embedded platforms.
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.
120           This is currently experimental.
123 # Video4Linux support
124 #       Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
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
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.
140           This API is mostly used by camera interfaces in embedded platforms.
142 source "drivers/media/v4l2-core/Kconfig"
145 # DVB Core
146 #       Only enables if one of DTV is selected
149 config DVB_CORE
150         tristate
151         depends on MEDIA_SUPPORT
152         depends on MEDIA_DIGITAL_TV_SUPPORT
153         default y
154         select CRC32
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.
166           You may want to disable the network support on embedded devices. If
167           unsure say Y.
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
175 source "drivers/media/dvb-core/Kconfig"
177 comment "Media drivers"
178 source "drivers/media/rc/Kconfig"
181 # V4L platform/mem2mem drivers
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"
190 comment "Supported FireWire (IEEE 1394) Adapters"
191         depends on DVB_CORE && FIREWIRE
192 source "drivers/media/firewire/Kconfig"
194 # Common driver options
195 source "drivers/media/common/Kconfig"
197 comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
200 # Ancillary drivers (tuners, i2c, spi, frontends)
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.
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.
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).
224           If unsure say Y.
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
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"
237 endif # MEDIA_SUPPORT