0c822d97bd
After this change, the menu is displayed like above. 1) When filtering is not active: --- Multimedia support [ ] Filter devices by their types [*] Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends) Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options ---> Media drivers ---> 2) When filtering is active: --- Multimedia support [*] Filter devices by their types [*] Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends) Media device types ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options ---> Media drivers ---> The per-API menu will only be displayed if the corresponding core support is enabled. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
266 lines
7.1 KiB
Plaintext
266 lines
7.1 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Multimedia device configuration
|
|
#
|
|
|
|
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
|
|
|
|
config MEDIA_SUPPORT_FILTER
|
|
bool "Filter media drivers"
|
|
depends on MEDIA_SUPPORT
|
|
default y if !EMBEDDED && !EXPERT
|
|
help
|
|
Configuring the media subsystem can be complex, as there are
|
|
hundreds of drivers and other config options.
|
|
|
|
This menu offers option that will help the Kernel's config
|
|
system to hide drivers that are out of the scope of the
|
|
user needs, and disabling core support for unused APIs.
|
|
|
|
If not selected, all non-optional media core functionality
|
|
needed to support media drivers will be enabled. Also, all
|
|
media device drivers should be shown.
|
|
|
|
config MEDIA_SUBDRV_AUTOSELECT
|
|
bool "Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends)"
|
|
depends on HAS_IOMEM
|
|
select I2C
|
|
select I2C_MUX
|
|
default y if MEDIA_SUPPORT_FILTER
|
|
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.
|
|
|
|
menu "Media device types"
|
|
visible if MEDIA_SUPPORT_FILTER
|
|
|
|
#
|
|
# Multimedia support - automatically enable V4L2 and DVB core
|
|
#
|
|
config MEDIA_CAMERA_SUPPORT
|
|
bool "Cameras and video grabbers"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
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"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
help
|
|
Enable analog TV support.
|
|
|
|
Say Y when you have a board with analog TV support.
|
|
|
|
config MEDIA_DIGITAL_TV_SUPPORT
|
|
bool "Digital TV"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
help
|
|
Enable digital TV support.
|
|
|
|
Say Y when you have a board with digital TV support.
|
|
|
|
config MEDIA_RADIO_SUPPORT
|
|
bool "AM/FM radio receivers/transmitters"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
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.
|
|
|
|
config MEDIA_SDR_SUPPORT
|
|
bool "Software defined radio"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
help
|
|
Enable software defined radio support.
|
|
|
|
Say Y when you have a software defined radio device.
|
|
|
|
config MEDIA_CEC_SUPPORT
|
|
bool "HDMI CEC"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
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"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
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"
|
|
default y if !MEDIA_SUPPORT_FILTER
|
|
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.
|
|
Say Y when you have a software defined radio device.
|
|
endmenu # media device types
|
|
|
|
|
|
menu "Media core support"
|
|
visible if !MEDIA_SUPPORT_FILTER
|
|
|
|
comment "Video4Linux core enabled to support hybrid TV devices"
|
|
depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI
|
|
|
|
config VIDEO_DEV
|
|
tristate
|
|
prompt "Video4Linux core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI)
|
|
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
|
|
help
|
|
Enables the V4L2 API, used by cameras, analog TV, video grabbers,
|
|
radio devices and by some input devices.
|
|
|
|
config MEDIA_CONTROLLER
|
|
bool "Media Controller API"
|
|
default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_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.
|
|
|
|
#
|
|
# DVB Core
|
|
# Only enables if one of DTV is selected
|
|
#
|
|
|
|
comment "Digital TV core enabled to support hybrid TV devices"
|
|
depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI
|
|
|
|
config DVB_CORE
|
|
tristate
|
|
prompt "Digital TV core" if !(MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI)
|
|
depends on MEDIA_DIGITAL_TV_SUPPORT
|
|
depends on (I2C || I2C=n)
|
|
select CRC32
|
|
help
|
|
Enables the DVB API, used by Digital TV devices. Supports several
|
|
standards, including DVB, ATSC, ISDB and CMDB.
|
|
|
|
endmenu # Media core support
|
|
|
|
#
|
|
# Extra per-media API core functionality
|
|
|
|
menu "Video4Linux options"
|
|
visible if VIDEO_DEV
|
|
|
|
source "drivers/media/v4l2-core/Kconfig"
|
|
endmenu
|
|
|
|
menu "Media controller options"
|
|
visible if MEDIA_CONTROLLER
|
|
|
|
source "drivers/media/mc/Kconfig"
|
|
endmenu
|
|
|
|
menu "Digital TV options"
|
|
visible if DVB_CORE
|
|
|
|
source "drivers/media/dvb-core/Kconfig"
|
|
endmenu
|
|
|
|
menu "HDMI CEC options"
|
|
visible if CEC_CORE
|
|
|
|
source "drivers/media/cec/Kconfig"
|
|
endmenu
|
|
|
|
menu "Media drivers"
|
|
|
|
comment "Drivers filtered as selected at 'Filter media drivers'"
|
|
depends on MEDIA_SUPPORT_FILTER
|
|
|
|
source "drivers/media/usb/Kconfig"
|
|
source "drivers/media/pci/Kconfig"
|
|
source "drivers/media/radio/Kconfig"
|
|
|
|
# Common driver options
|
|
source "drivers/media/common/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"
|
|
|
|
endmenu
|
|
|
|
#
|
|
# Ancillary drivers (tuners, i2c, spi, frontends)
|
|
#
|
|
|
|
config MEDIA_HIDE_ANCILLARY_SUBDRV
|
|
bool
|
|
depends on MEDIA_SUBDRV_AUTOSELECT && !COMPILE_TEST && !EXPERT
|
|
default y
|
|
|
|
menu "Media ancillary drivers"
|
|
visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
|
|
|
|
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"
|
|
|
|
endmenu
|
|
|
|
endif # MEDIA_SUPPORT
|