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