a832862295
both DVB_CORE and VIDEO_DEV already depends on MEDIA_SUPPORT, as they're below an if block. So, remove this double dependency. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
244 lines
6.5 KiB
Plaintext
244 lines
6.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Multimedia device configuration
|
|
#
|
|
|
|
config CEC_CORE
|
|
tristate
|
|
|
|
config CEC_NOTIFIER
|
|
bool
|
|
|
|
config CEC_PIN
|
|
bool
|
|
|
|
source "drivers/media/rc/Kconfig"
|
|
|
|
menuconfig MEDIA_SUPPORT
|
|
tristate "Multimedia support"
|
|
depends on HAS_IOMEM
|
|
help
|
|
If you want to use media devices, including Webcams, Video grabber
|
|
devices and/or TV devices, V4L2 codecs, etc, enable this option
|
|
and other options below.
|
|
|
|
Additional info and docs are available on the web at
|
|
<https://linuxtv.org>
|
|
|
|
if MEDIA_SUPPORT
|
|
|
|
comment "Multimedia core support"
|
|
|
|
#
|
|
# 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.
|
|
|
|
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
|
|
Enable digital TV support.
|
|
|
|
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
|
|
<https://linuxtv.org>
|
|
|
|
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_SDR_SUPPORT
|
|
bool "Software defined radio support"
|
|
help
|
|
Enable software defined radio support.
|
|
|
|
Say Y when you have a software defined radio device.
|
|
|
|
config MEDIA_CEC_SUPPORT
|
|
bool "HDMI CEC support"
|
|
help
|
|
Enable support for HDMI CEC (Consumer Electronics Control),
|
|
which is an optional HDMI feature.
|
|
|
|
Say Y when you have an HDMI receiver, transmitter or a USB CEC
|
|
adapter that supports HDMI CEC.
|
|
|
|
config MEDIA_PLATFORM_SUPPORT
|
|
bool "Platform-specific devices support"
|
|
help
|
|
Enable support for complex cameras, codecs, and other hardware
|
|
that are integrated at the CPU, GPU or on Image Signalling Processor
|
|
and don't use PCI, USB or Firewire buses.
|
|
|
|
This is found on Embedded hardware (SoC), on V4L2 codecs and
|
|
on some GPU and newer CPU chipsets.
|
|
|
|
Say Y when you want to be able so see such devices.
|
|
|
|
config MEDIA_TEST_SUPPORT
|
|
bool "Test drivers support"
|
|
help
|
|
Those drivers should not be used on production Kernels, but
|
|
can be useful on debug ones. It enables several dummy drivers
|
|
that simulate a real hardware. Very useful to test userspace
|
|
applications and to validate if the subsystem core is doesn't
|
|
have regressions.
|
|
|
|
Say Y if you want to use some virtual test driver.
|
|
|
|
In case of doubts, say N.
|
|
|
|
source "drivers/media/cec/Kconfig"
|
|
|
|
source "drivers/media/mc/Kconfig"
|
|
|
|
#
|
|
# Video4Linux support
|
|
# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
|
|
#
|
|
|
|
config VIDEO_DEV
|
|
tristate
|
|
default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT
|
|
|
|
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.
|
|
|
|
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
|
|
depends on MEDIA_DIGITAL_TV_SUPPORT
|
|
depends on (I2C || I2C=n)
|
|
default y
|
|
select CRC32
|
|
|
|
config DVB_MMAP
|
|
bool "Enable DVB memory-mapped API (EXPERIMENTAL)"
|
|
depends on DVB_CORE
|
|
depends on VIDEO_V4L2=y || VIDEO_V4L2=DVB_CORE
|
|
select VIDEOBUF2_VMALLOC
|
|
help
|
|
This option enables DVB experimental memory-mapped API, which
|
|
reduces the number of context switches to read DVB buffers, as
|
|
the buffers can use mmap() syscalls.
|
|
|
|
Support for it is experimental. Use with care. If unsure,
|
|
say N.
|
|
|
|
config DVB_NET
|
|
bool "DVB Network Support"
|
|
default (NET && INET)
|
|
depends on NET && INET && DVB_CORE
|
|
help
|
|
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.
|
|
|
|
You may want to disable the network support on embedded devices. If
|
|
unsure say Y.
|
|
|
|
source "drivers/media/dvb-core/Kconfig"
|
|
|
|
comment "Media drivers"
|
|
|
|
source "drivers/media/usb/Kconfig"
|
|
source "drivers/media/pci/Kconfig"
|
|
source "drivers/media/radio/Kconfig"
|
|
|
|
if MEDIA_PLATFORM_SUPPORT
|
|
source "drivers/media/platform/Kconfig"
|
|
source "drivers/media/test_drivers/Kconfig"
|
|
source "drivers/media/mmc/Kconfig"
|
|
endif
|
|
|
|
source "drivers/media/firewire/Kconfig"
|
|
|
|
# Common driver options
|
|
source "drivers/media/common/Kconfig"
|
|
|
|
comment "Media ancillary drivers (tuners, sensors, i2c, spi, frontends)"
|
|
|
|
#
|
|
# Ancillary drivers (tuners, i2c, spi, frontends)
|
|
#
|
|
|
|
config MEDIA_SUBDRV_AUTOSELECT
|
|
bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
|
|
depends on MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_CAMERA_SUPPORT || MEDIA_SDR_SUPPORT
|
|
depends on HAS_IOMEM
|
|
select I2C
|
|
select I2C_MUX
|
|
default y if !EMBEDDED
|
|
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_HIDE_ANCILLARY_SUBDRV
|
|
bool
|
|
depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
|
|
default 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/spi/Kconfig"
|
|
source "drivers/media/tuners/Kconfig"
|
|
source "drivers/media/dvb-frontends/Kconfig"
|
|
|
|
endif # MEDIA_SUPPORT
|