aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/Kconfig')
-rw-r--r--drivers/media/Kconfig234
1 files changed, 150 insertions, 84 deletions
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 93ea201f426..1d0758aeb8e 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -2,138 +2,204 @@
# Multimedia device configuration
#
-menu "Multimedia devices"
+menuconfig MEDIA_SUPPORT
+ tristate "Multimedia support"
depends on HAS_IOMEM
+ help
+ 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"
#
-# V4L core and enabled API's
+# 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 VIDEO_DEV
- tristate "Video For Linux"
+ Say Y when you have a webcam or a video capture grabber board.
+
+config MEDIA_ANALOG_TV_SUPPORT
+ bool "Analog TV support"
+ ---help---
+ Enable analog TV support.
+
+ Say Y when you have a TV board with analog support or with a
+ hybrid analog/digital TV chipset.
+
+ 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 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.
- To compile this driver as a module, choose M here: the
- module will be called videodev.
+ Note: There are several TV cards that are based on chips that
+ support radio reception. Disabling this option will
+ disable support for them.
-config VIDEO_V4L2_COMMON
- tristate
- depends on (I2C || I2C=n) && VIDEO_DEV
- default (I2C || I2C=n) && VIDEO_DEV
+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.
-config VIDEO_ALLOW_V4L1
- bool "Enable Video For Linux API 1 (DEPRECATED)"
- depends on VIDEO_DEV && VIDEO_V4L2_COMMON
- default VIDEO_DEV && VIDEO_V4L2_COMMON
+ 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.
+
+#
+# Media controller
+# Selectable only for webcam/grabbers, as other drivers don't use it
+#
+
+config MEDIA_CONTROLLER
+ bool "Media Controller API"
+ depends on MEDIA_CAMERA_SUPPORT
---help---
- Enables drivers based on the legacy V4L1 API.
+ Enable the media controller API used to query media devices internal
+ topology and configure it dynamically.
- This api were developed to be used at Kernel 2.2 and 2.4, but
- lacks support for several video standards. There are several
- drivers at kernel that still depends on it.
+ This API is mostly used by camera interfaces in embedded platforms.
- If you are unsure as to whether this is required, answer Y.
+#
+# Video4Linux support
+# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
+#
-config VIDEO_V4L1_COMPAT
- bool "Enable Video For Linux API 1 compatible Layer" if !VIDEO_ALLOW_V4L1
- depends on VIDEO_DEV
+config VIDEO_DEV
+ tristate
+ depends on MEDIA_SUPPORT
+ depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT
default y
- ---help---
- Enables a compatibility API used by most V4L2 devices to allow
- its usage with legacy applications that supports only V4L1 api.
- Documentation for the original API is included in the file
- <Documentation/video4linux/API.html>.
+config VIDEO_V4L2_SUBDEV_API
+ 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.
- User tools for this are available from
- <ftp://ftp.uk.linux.org/pub/linux/video4linux/>.
+ This API is mostly used by camera interfaces in embedded platforms.
- If you are unsure as to whether this is required, answer Y.
+source "drivers/media/v4l2-core/Kconfig"
#
# DVB Core
+# Only enables if one of DTV is selected
#
config DVB_CORE
- tristate "DVB for Linux"
- depends on NET && INET
+ tristate
+ depends on MEDIA_SUPPORT
+ depends on MEDIA_DIGITAL_TV_SUPPORT
+ default y
select CRC32
+
+config DVB_NET
+ bool "DVB Network Support"
+ default (NET && INET)
+ depends on NET && INET && DVB_CORE
help
- DVB core utility functions for device handling, software fallbacks etc.
+ This option enables DVB Network Support which is a part of the DVB
+ standard. It is used, for example, by automatic firmware updates used
+ on Set-Top-Boxes. It can also be used to access the Internet via the
+ DVB card, if the network provider supports it.
- Enable this if you own a DVB/ATSC adapter and want to use it or if
- you compile Linux for a digital SetTopBox.
+ You may want to disable the network support on embedded devices. If
+ unsure say Y.
- Say Y when you have a DVB or an ATSC card and want to use it.
+# This Kconfig option is used by both PCI and USB drivers
+config TTPCI_EEPROM
+ tristate
+ depends on I2C
+ default n
- API specs and user tools are available from <http://www.linuxtv.org/>.
+source "drivers/media/dvb-core/Kconfig"
- Please report problems regarding this support to the LinuxDVB
- mailing list.
+comment "Media drivers"
+source "drivers/media/rc/Kconfig"
- If unsure say N.
+#
+# V4L platform/mem2mem drivers
+#
-config VIDEO_MEDIA
- tristate
- default (DVB_CORE && (VIDEO_DEV = n)) || (VIDEO_DEV && (DVB_CORE = n)) || (DVB_CORE && VIDEO_DEV)
+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"
-comment "Multimedia drivers"
+comment "Supported FireWire (IEEE 1394) Adapters"
+ depends on DVB_CORE && FIREWIRE
+source "drivers/media/firewire/Kconfig"
+# Common driver options
source "drivers/media/common/Kconfig"
-#
-# Tuner drivers for DVB and V4L
-#
-
-source "drivers/media/common/tuners/Kconfig"
+comment "Media ancillary drivers (tuners, sensors, i2c, frontends)"
#
-# Video/Radio/Hybrid adapters
+# Ancillary drivers (tuners, i2c, frontends)
#
-source "drivers/media/video/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.
-source "drivers/media/radio/Kconfig"
+ This is generally the right thing to do, except when there
+ are strict constraints with regards to the kernel size,
+ like on embedded systems.
-#
-# DVB adapters
-#
+ 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).
-source "drivers/media/dvb/Kconfig"
+ If unsure say Y.
-config DAB
- boolean "DAB adapters"
- ---help---
- Allow selecting support for for Digital Audio Broadcasting (DAB)
- Receiver adapters.
+config MEDIA_ATTACH
+ bool
+ depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_RADIO_SUPPORT
+ depends on MODULES
+ default MODULES
-if DAB
-config USB_DABUSB
- tristate "DABUSB driver"
- depends on USB
- ---help---
- A Digital Audio Broadcasting (DAB) Receiver for USB and Linux
- brought to you by the DAB-Team
- <http://wwwbode.cs.tum.edu/Par/arch/dab/>. This driver can be taken
- as an example for URB-based bulk, control, and isochronous
- transactions. URB's are explained in
- <Documentation/usb/URB.txt>.
-
- To compile this driver as a module, choose M here: the
- module will be called dabusb.
-endif # DAB
-
-endmenu
+source "drivers/media/i2c/Kconfig"
+source "drivers/media/tuners/Kconfig"
+source "drivers/media/dvb-frontends/Kconfig"
+
+endif # MEDIA_SUPPORT