aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/media/Kconfig
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-03-25 08:36:36 +0100
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-04-14 10:29:05 +0200
commita3b91d8bd1e034c8ed89d3f55243478af97a0a52 (patch)
treec6d32f8e4d62a3cec9e00a25fcd589466ae4906a /drivers/media/Kconfig
parentmedia: Kconfig: simplify some dependencies (diff)
downloadwireguard-linux-a3b91d8bd1e034c8ed89d3f55243478af97a0a52.tar.xz
wireguard-linux-a3b91d8bd1e034c8ed89d3f55243478af97a0a52.zip
media: Kconfig: better support hybrid TV devices
Right now, if one has an hybrid TV card, it has to select both analog and digital TV support, as otherwise the needed core support won't be selected. Change the logic to auto-select the core support for those drivers, as this is a way more intuitive. It should be noticed that, as now both DVB_CORE and VIDEO_DEV defaults depends on selecting a hybrid cards, we had to remove the explicit dependencies there, in order to avoid circular dependencies. That requires some tricks: 1) the prompt should not be not visible when an hybrid card is selected, as the user shold not change it. 2) When a media hybrid device is selected, the modular option for DVB_CORE and VIDEO_DEV will follow the MEDIA_SUPPORT dependency, as we can't have a core built with "y" with a driver built as module. Note: while here, moved two pure V4L2 PCI drivers out of the "hybrid" part of config and consider pvrusb2 as an hybrid device. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/Kconfig')
-rw-r--r--drivers/media/Kconfig24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index f6763d02f1be..f400370b2928 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -44,20 +44,14 @@ config MEDIA_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.
+ Say Y when you have a board with analog TV support.
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.
+ Say Y when you have a board with digital TV support.
config MEDIA_RADIO_SUPPORT
bool "AM/FM radio receivers/transmitters support"
@@ -69,10 +63,6 @@ config MEDIA_RADIO_SUPPORT
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
@@ -123,9 +113,13 @@ source "drivers/media/mc/Kconfig"
# Only enables if one of the V4L2 types (ATV, webcam, radio) is selected
#
+comment "Video4Linux core enabled to support hybrid TV devices"
+ depends on MEDIA_HYBRID_USB || MEDIA_HYBRID_PCI
+
config VIDEO_DEV
tristate
- default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT
+ 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_HYBRID_USB || MEDIA_HYBRID_PCI
config VIDEO_V4L2_SUBDEV_API
bool "V4L2 sub-device userspace API"
@@ -143,8 +137,12 @@ source "drivers/media/v4l2-core/Kconfig"
# 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)
default y