media: Kconfig: move media controller core select to main Kconfig
[linux-2.6-block.git] / drivers / media / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
1da177e4
LT
2#
3# Multimedia device configuration
4#
5
b9e1486e
SY
6source "drivers/media/rc/Kconfig"
7
ab482a6c
RD
8menuconfig MEDIA_SUPPORT
9 tristate "Multimedia support"
e25df120 10 depends on HAS_IOMEM
ab482a6c 11 help
dee1877d
MCC
12 If you want to use media devices, including Webcams, Video grabber
13 devices and/or TV devices, V4L2 codecs, etc, enable this option
14 and other options below.
15
b4c184e5 16 Additional info and docs are available on the web at
991ce92f 17 <https://linuxtv.org>
ab482a6c 18
c6774ee0
MCC
19if MEDIA_SUPPORT
20
21config MEDIA_SUPPORT_FILTER
ce971d95 22 bool "Filter media drivers"
c39d5704 23 depends on MEDIA_SUPPORT
c6774ee0
MCC
24 help
25 Configuring the media subsystem can be complex, as there are
26 hundreds of drivers and other config options.
27
28 This menu offers option that will help the Kernel's config
29 system to hide drivers that are out of the scope of the
30 user needs, and disabling core support for unused APIs.
31
32 If not selected, all non-optional media core functionality
33 needed to support media drivers will be enabled. Also, all
34 media device drivers should be shown.
35
36menu "Media device types"
37 visible if MEDIA_SUPPORT_FILTER
7c91f062 38
b4c184e5
MCC
39#
40# Multimedia support - automatically enable V4L2 and DVB core
41#
42config MEDIA_CAMERA_SUPPORT
c39d5704 43 bool "Cameras and video grabbers"
c6774ee0 44 default y if !MEDIA_SUPPORT_FILTER
b60a5b8d 45 help
b4c184e5
MCC
46 Enable support for webcams and video grabbers.
47
48 Say Y when you have a webcam or a video capture grabber board.
49
50config MEDIA_ANALOG_TV_SUPPORT
c39d5704 51 bool "Analog TV"
c6774ee0 52 default y if !MEDIA_SUPPORT_FILTER
b60a5b8d 53 help
b4c184e5
MCC
54 Enable analog TV support.
55
a3b91d8b 56 Say Y when you have a board with analog TV support.
b4c184e5
MCC
57
58config MEDIA_DIGITAL_TV_SUPPORT
c39d5704 59 bool "Digital TV"
c6774ee0 60 default y if !MEDIA_SUPPORT_FILTER
b60a5b8d 61 help
b4c184e5
MCC
62 Enable digital TV support.
63
a3b91d8b 64 Say Y when you have a board with digital TV support.
b4c184e5
MCC
65
66config MEDIA_RADIO_SUPPORT
c39d5704 67 bool "AM/FM radio receivers/transmitters"
c6774ee0 68 default y if !MEDIA_SUPPORT_FILTER
b60a5b8d 69 help
b4c184e5
MCC
70 Enable AM/FM radio support.
71
72 Additional info and docs are available on the web at
991ce92f 73 <https://linuxtv.org>
b4c184e5
MCC
74
75 Say Y when you have a board with radio support.
76
435ef148 77config MEDIA_SDR_SUPPORT
c39d5704 78 bool "Software defined radio"
c6774ee0 79 default y if !MEDIA_SUPPORT_FILTER
b60a5b8d 80 help
435ef148
AP
81 Enable software defined radio support.
82
83 Say Y when you have a software defined radio device.
84
0dbacebe 85config MEDIA_CEC_SUPPORT
c39d5704 86 bool "HDMI CEC"
c6774ee0 87 default y if !MEDIA_SUPPORT_FILTER
b60a5b8d 88 help
349da8ce
BL
89 Enable support for HDMI CEC (Consumer Electronics Control),
90 which is an optional HDMI feature.
0dbacebe 91
349da8ce
BL
92 Say Y when you have an HDMI receiver, transmitter or a USB CEC
93 adapter that supports HDMI CEC.
29fb44a5 94
06b93644 95config MEDIA_PLATFORM_SUPPORT
c39d5704 96 bool "Platform-specific devices"
c6774ee0 97 default y if !MEDIA_SUPPORT_FILTER
06b93644
MCC
98 help
99 Enable support for complex cameras, codecs, and other hardware
100 that are integrated at the CPU, GPU or on Image Signalling Processor
101 and don't use PCI, USB or Firewire buses.
102
103 This is found on Embedded hardware (SoC), on V4L2 codecs and
104 on some GPU and newer CPU chipsets.
105
106 Say Y when you want to be able so see such devices.
107
4b32216a 108config MEDIA_TEST_SUPPORT
c39d5704 109 bool "Test drivers"
c6774ee0 110 default y if !MEDIA_SUPPORT_FILTER
4b32216a
MCC
111 help
112 Those drivers should not be used on production Kernels, but
113 can be useful on debug ones. It enables several dummy drivers
114 that simulate a real hardware. Very useful to test userspace
115 applications and to validate if the subsystem core is doesn't
116 have regressions.
117
118 Say Y if you want to use some virtual test driver.
119
120 In case of doubts, say N.
c39d5704 121 Say Y when you have a software defined radio device.
c6774ee0 122endmenu # media device types
4b32216a 123
7d5bc693 124comment "Multimedia core features"
078ab3ea 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
a3b91d8b
MCC
131comment "Video4Linux core enabled to support hybrid TV devices"
132 depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI
133
1da177e4 134config VIDEO_DEV
b4c184e5 135 tristate
a3b91d8b 136 prompt "Video4Linux core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI)
6268b351 137 default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT || MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI
1da177e4 138
8fc42fff
MCC
139config MEDIA_CONTROLLER
140 bool "Media Controller API"
141 default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT
142 help
143 Enable the media controller API used to query media devices internal
144 topology and configure it dynamically.
145
146 This API is mostly used by camera interfaces in embedded platforms.
147
7c91f062
MCC
148#
149# DVB Core
b4c184e5 150# Only enables if one of DTV is selected
7c91f062 151#
1da177e4 152
a3b91d8b
MCC
153comment "Digital TV core enabled to support hybrid TV devices"
154 depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI
155
7c91f062 156config DVB_CORE
b4c184e5 157 tristate
a3b91d8b 158 prompt "Digital TV core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI)
b4c184e5 159 depends on MEDIA_DIGITAL_TV_SUPPORT
88327305 160 depends on (I2C || I2C=n)
b4c184e5 161 default y
7c91f062 162 select CRC32
ca805d57 163
4021053e 164 help
4021053e 165
4021053e 166
a34ff6cd 167
a34ff6cd 168
7d5bc693
MCC
169source "drivers/media/v4l2-core/Kconfig"
170source "drivers/media/mc/Kconfig"
f0af8fa4 171source "drivers/media/dvb-core/Kconfig"
7d5bc693 172source "drivers/media/cec/Kconfig"
f0af8fa4 173
c455f5c8 174comment "Media drivers"
c1accaa2 175
ce971d95
MCC
176comment "Drivers filtered as selected at 'Filter media drivers'"
177 depends on MEDIA_SUPPORT_FILTER
178
786baecf 179source "drivers/media/usb/Kconfig"
3c8c09b5 180source "drivers/media/pci/Kconfig"
06b93644
MCC
181source "drivers/media/radio/Kconfig"
182
7d5bc693
MCC
183# Common driver options
184source "drivers/media/common/Kconfig"
185
06b93644 186if MEDIA_PLATFORM_SUPPORT
3c8c09b5 187source "drivers/media/platform/Kconfig"
4b32216a 188source "drivers/media/test_drivers/Kconfig"
0013ca8c 189source "drivers/media/mmc/Kconfig"
06b93644 190endif
1da177e4 191
616300bd
MCC
192source "drivers/media/firewire/Kconfig"
193
8283a092 194comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
5344fe6e 195
3c8c09b5 196#
8283a092 197# Ancillary drivers (tuners, i2c, spi, frontends)
3c8c09b5
MCC
198#
199
fccea74f 200config MEDIA_SUBDRV_AUTOSELECT
8283a092 201 bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
435ef148 202 depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
347f7a37
MCC
203 depends on HAS_IOMEM
204 select I2C
205 select I2C_MUX
24f6f93a 206 default y if !EMBEDDED
fccea74f 207 help
5344fe6e
HV
208 By default, a media driver auto-selects all possible ancillary
209 devices such as tuners, sensors, video encoders/decoders and
210 frontends, that are used by any of the supported devices.
fccea74f
MCC
211
212 This is generally the right thing to do, except when there
2c76a12a
MCC
213 are strict constraints with regards to the kernel size,
214 like on embedded systems.
fccea74f 215
2c76a12a
MCC
216 Use this option with care, as deselecting ancillary drivers which
217 are, in fact, necessary will result in the lack of the needed
218 functionality for your device (it may not tune or may not have
5344fe6e 219 the needed demodulators).
fccea74f
MCC
220
221 If unsure say Y.
222
4fa4ef39 223config MEDIA_HIDE_ANCILLARY_SUBDRV
1498dfba
KK
224 bool
225 depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
226 default y
4fa4ef39 227
bb69ee27
MCC
228config MEDIA_ATTACH
229 bool
230 depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
231 depends on MODULES
232 default MODULES
233
3c8c09b5 234source "drivers/media/i2c/Kconfig"
8283a092 235source "drivers/media/spi/Kconfig"
fccea74f 236source "drivers/media/tuners/Kconfig"
3c8c09b5
MCC
237source "drivers/media/dvb-frontends/Kconfig"
238
ab482a6c 239endif # MEDIA_SUPPORT