aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/Kconfig')
-rw-r--r--drivers/media/Kconfig184
1 files changed, 130 insertions, 54 deletions
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 9575db429df..1d0758aeb8e 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -6,83 +6,120 @@ menuconfig MEDIA_SUPPORT
tristate "Multimedia support"
depends on HAS_IOMEM
help
- If you want to use Video for Linux, DVB for Linux, or DAB adapters,
+ If you want to use Webcams, Video grabber devices and/or TV devices
enable this option and other options below.
+ Additional info and docs are available on the web at
+ <http://linuxtv.org>
if MEDIA_SUPPORT
comment "Multimedia core support"
#
-# Media controller
+# Multimedia support - automatically enable V4L2 and DVB core
#
+config MEDIA_CAMERA_SUPPORT
+ bool "Cameras/video grabbers support"
+ ---help---
+ Enable support for webcams and video grabbers.
-config MEDIA_CONTROLLER
- bool "Media Controller API (EXPERIMENTAL)"
- depends on EXPERIMENTAL
+ Say Y when you have a webcam or a video capture grabber board.
+
+config MEDIA_ANALOG_TV_SUPPORT
+ bool "Analog TV support"
---help---
- Enable the media controller API used to query media devices internal
- topology and configure it dynamically.
+ Enable analog TV support.
- This API is mostly used by camera interfaces in embedded platforms.
+ Say Y when you have a TV board with analog support or with a
+ hybrid analog/digital TV chipset.
-#
-# V4L core and enabled API's
-#
+ Note: There are several DVB cards that are based on chips that
+ support both analog and digital TV. Disabling this option
+ will disable support for them.
-config VIDEO_DEV
- tristate "Video For Linux"
+config MEDIA_DIGITAL_TV_SUPPORT
+ bool "Digital TV support"
---help---
- V4L core support for video capture and overlay devices, webcams and
- AM/FM radio cards.
+ Enable digital TV support.
- This kernel includes support for the new Video for Linux Two API,
- (V4L2).
+ Say Y when you have a board with digital support or a board with
+ hybrid digital TV and analog TV.
+
+config MEDIA_RADIO_SUPPORT
+ bool "AM/FM radio receivers/transmitters support"
+ ---help---
+ Enable AM/FM radio support.
Additional info and docs are available on the web at
<http://linuxtv.org>
- Documentation for V4L2 is also available on the web at
- <http://bytesex.org/v4l/>.
+ Say Y when you have a board with radio support.
+
+ Note: There are several TV cards that are based on chips that
+ support radio reception. Disabling this option will
+ disable support for them.
+
+config MEDIA_RC_SUPPORT
+ bool "Remote Controller support"
+ depends on INPUT
+ ---help---
+ Enable support for Remote Controllers on Linux. This is
+ needed in order to support several video capture adapters,
+ standalone IR receivers/transmitters, and RF receivers.
+
+ Enable this option if you have a video capture board even
+ if you don't need IR, as otherwise, you may not be able to
+ compile the driver for your adapter.
+
+ Say Y when you have a TV or an IR device.
- To compile this driver as a module, choose M here: the
- module will be called videodev.
+#
+# Media controller
+# Selectable only for webcam/grabbers, as other drivers don't use it
+#
-config VIDEO_V4L2_COMMON
+config MEDIA_CONTROLLER
+ bool "Media Controller API"
+ depends on MEDIA_CAMERA_SUPPORT
+ ---help---
+ Enable the media controller API used to query media devices internal
+ topology and configure it dynamically.
+
+ This API is mostly used by camera interfaces in embedded platforms.
+
+#
+# Video4Linux support
+# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
+#
+
+config VIDEO_DEV
tristate
- depends on (I2C || I2C=n) && VIDEO_DEV
- default (I2C || I2C=n) && VIDEO_DEV
+ depends on MEDIA_SUPPORT
+ depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT
+ default y
config VIDEO_V4L2_SUBDEV_API
- bool "V4L2 sub-device userspace API (EXPERIMENTAL)"
- depends on VIDEO_DEV && MEDIA_CONTROLLER && EXPERIMENTAL
+ bool "V4L2 sub-device userspace API"
+ depends on VIDEO_DEV && MEDIA_CONTROLLER
---help---
Enables the V4L2 sub-device pad-level userspace API used to configure
video format, size and frame rate between hardware blocks.
This API is mostly used by camera interfaces in embedded platforms.
+source "drivers/media/v4l2-core/Kconfig"
+
#
# DVB Core
+# Only enables if one of DTV is selected
#
config DVB_CORE
- tristate "DVB for Linux"
+ tristate
+ depends on MEDIA_SUPPORT
+ depends on MEDIA_DIGITAL_TV_SUPPORT
+ default y
select CRC32
- help
- DVB core utility functions for device handling, software fallbacks etc.
-
- Enable this if you own a DVB/ATSC adapter and want to use it or if
- you compile Linux for a digital SetTopBox.
-
- Say Y when you have a DVB or an ATSC card and want to use it.
-
- API specs and user tools are available from <http://www.linuxtv.org/>.
-
- Please report problems regarding this support to the LinuxDVB
- mailing list.
-
- If unsure say N.
config DVB_NET
bool "DVB Network Support"
@@ -97,33 +134,72 @@ config DVB_NET
You may want to disable the network support on embedded devices. If
unsure say Y.
-config VIDEO_MEDIA
+# This Kconfig option is used by both PCI and USB drivers
+config TTPCI_EEPROM
tristate
- default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV)
+ depends on I2C
+ default n
-comment "Multimedia drivers"
+source "drivers/media/dvb-core/Kconfig"
-source "drivers/media/common/Kconfig"
+comment "Media drivers"
source "drivers/media/rc/Kconfig"
#
-# Tuner drivers for DVB and V4L
+# V4L platform/mem2mem drivers
#
-source "drivers/media/common/tuners/Kconfig"
+source "drivers/media/usb/Kconfig"
+source "drivers/media/pci/Kconfig"
+source "drivers/media/platform/Kconfig"
+source "drivers/media/mmc/Kconfig"
+source "drivers/media/parport/Kconfig"
+source "drivers/media/radio/Kconfig"
-#
-# Video/Radio/Hybrid adapters
-#
+comment "Supported FireWire (IEEE 1394) Adapters"
+ depends on DVB_CORE && FIREWIRE
+source "drivers/media/firewire/Kconfig"
-source "drivers/media/video/Kconfig"
+# Common driver options
+source "drivers/media/common/Kconfig"
-source "drivers/media/radio/Kconfig"
+comment "Media ancillary drivers (tuners, sensors, i2c, frontends)"
#
-# DVB adapters
+# Ancillary drivers (tuners, i2c, frontends)
#
-source "drivers/media/dvb/Kconfig"
+config MEDIA_SUBDRV_AUTOSELECT
+ bool "Autoselect ancillary drivers (tuners, sensors, i2c, frontends)"
+ depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT
+ depends on HAS_IOMEM
+ select I2C
+ select I2C_MUX
+ default y
+ help
+ By default, a media driver auto-selects all possible ancillary
+ devices such as tuners, sensors, video encoders/decoders and
+ frontends, that are used by any of the supported devices.
+
+ This is generally the right thing to do, except when there
+ are strict constraints with regards to the kernel size,
+ like on embedded systems.
+
+ Use this option with care, as deselecting ancillary drivers which
+ are, in fact, necessary will result in the lack of the needed
+ functionality for your device (it may not tune or may not have
+ the needed demodulators).
+
+ If unsure say Y.
+
+config MEDIA_ATTACH
+ bool
+ depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
+ depends on MODULES
+ default MODULES
+
+source "drivers/media/i2c/Kconfig"
+source "drivers/media/tuners/Kconfig"
+source "drivers/media/dvb-frontends/Kconfig"
endif # MEDIA_SUPPORT