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>
This commit is contained in:
parent
a832862295
commit
a3b91d8bd1
|
@ -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
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
|
||||
# Should match the hybrid card list below
|
||||
config MEDIA_HYBRID_PCI
|
||||
bool
|
||||
depends on VIDEO_CX18 || VIDEO_CX23885 || VIDEO_CX88 || VIDEO_BT848 || VIDEO_SAA7134 || VIDEO_SAA7164
|
||||
default y
|
||||
|
||||
if PCI && MEDIA_SUPPORT
|
||||
|
||||
menuconfig MEDIA_PCI_SUPPORT
|
||||
|
@ -24,18 +31,18 @@ if MEDIA_ANALOG_TV_SUPPORT
|
|||
source "drivers/media/pci/ivtv/Kconfig"
|
||||
source "drivers/media/pci/saa7146/Kconfig"
|
||||
source "drivers/media/pci/dt3155/Kconfig"
|
||||
source "drivers/media/pci/cx25821/Kconfig"
|
||||
source "drivers/media/pci/cobalt/Kconfig"
|
||||
endif
|
||||
|
||||
if MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT
|
||||
comment "Media capture/analog/hybrid TV support"
|
||||
source "drivers/media/pci/cx18/Kconfig"
|
||||
source "drivers/media/pci/cx23885/Kconfig"
|
||||
source "drivers/media/pci/cx25821/Kconfig"
|
||||
source "drivers/media/pci/cx88/Kconfig"
|
||||
source "drivers/media/pci/bt8xx/Kconfig"
|
||||
source "drivers/media/pci/saa7134/Kconfig"
|
||||
source "drivers/media/pci/saa7164/Kconfig"
|
||||
source "drivers/media/pci/cobalt/Kconfig"
|
||||
|
||||
endif
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_BT848
|
||||
tristate "BT848 Video For Linux"
|
||||
depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2
|
||||
depends on PCI && I2C
|
||||
select I2C_ALGOBIT
|
||||
select VIDEOBUF_DMA_SG
|
||||
depends on RC_CORE
|
||||
depends on MEDIA_RADIO_SUPPORT
|
||||
select VIDEO_TUNER
|
||||
select VIDEO_TVEEPROM
|
||||
select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
|
||||
|
@ -24,7 +23,7 @@ config VIDEO_BT848
|
|||
|
||||
config DVB_BT8XX
|
||||
tristate "DVB/ATSC Support for bt878 based TV cards"
|
||||
depends on DVB_CORE && PCI && I2C && VIDEO_BT848
|
||||
depends on PCI && I2C && VIDEO_BT848
|
||||
select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
|
||||
select DVB_SP887X if MEDIA_SUBDRV_AUTOSELECT
|
||||
select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_CX18
|
||||
tristate "Conexant cx23418 MPEG encoder support"
|
||||
depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C
|
||||
depends on PCI && I2C
|
||||
select I2C_ALGOBIT
|
||||
select VIDEOBUF_VMALLOC
|
||||
depends on RC_CORE
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_CX23885
|
||||
tristate "Conexant cx23885 (2388x successor) support"
|
||||
depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT && SND
|
||||
depends on PCI && I2C && INPUT && SND
|
||||
select SND_PCM
|
||||
select I2C_ALGOBIT
|
||||
select VIDEO_TUNER
|
||||
|
@ -53,7 +53,7 @@ config VIDEO_CX23885
|
|||
|
||||
config MEDIA_ALTERA_CI
|
||||
tristate "Altera FPGA based CI module"
|
||||
depends on VIDEO_CX23885 && DVB_CORE
|
||||
depends on VIDEO_CX23885
|
||||
select ALTERA_STAPL
|
||||
help
|
||||
An Altera FPGA CI module for NetUP Dual DVB-T/C RF CI card.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_CX88
|
||||
tristate "Conexant 2388x (bt878 successor) support"
|
||||
depends on VIDEO_DEV && PCI && I2C && RC_CORE
|
||||
depends on PCI && I2C && RC_CORE
|
||||
select I2C_ALGOBIT
|
||||
select VIDEOBUF2_DMA_SG
|
||||
select VIDEO_TUNER
|
||||
|
@ -44,7 +44,7 @@ config VIDEO_CX88_BLACKBIRD
|
|||
|
||||
config VIDEO_CX88_DVB
|
||||
tristate "DVB/ATSC Support for cx2388x based TV cards"
|
||||
depends on VIDEO_CX88 && DVB_CORE
|
||||
depends on VIDEO_CX88
|
||||
select VIDEOBUF2_DVB
|
||||
select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
|
||||
select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_SAA7134
|
||||
tristate "Philips SAA7134 support"
|
||||
depends on VIDEO_DEV && PCI && I2C
|
||||
depends on PCI && I2C
|
||||
select VIDEOBUF2_DMA_SG
|
||||
select VIDEO_TUNER
|
||||
select VIDEO_TVEEPROM
|
||||
|
@ -37,7 +37,7 @@ config VIDEO_SAA7134_RC
|
|||
|
||||
config VIDEO_SAA7134_DVB
|
||||
tristate "DVB/ATSC Support for saa7134 based TV cards"
|
||||
depends on VIDEO_SAA7134 && DVB_CORE
|
||||
depends on VIDEO_SAA7134
|
||||
select VIDEOBUF2_DVB
|
||||
select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
|
||||
select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_SAA7164
|
||||
tristate "NXP SAA7164 support"
|
||||
depends on DVB_CORE && VIDEO_DEV && PCI && I2C
|
||||
depends on PCI && I2C
|
||||
select I2C_ALGOBIT
|
||||
select FW_LOADER
|
||||
select VIDEO_TUNER
|
||||
|
|
|
@ -531,7 +531,7 @@ config VIDEO_TI_CSC
|
|||
|
||||
menuconfig DVB_PLATFORM_DRIVERS
|
||||
bool "DVB platform devices"
|
||||
depends on MEDIA_DIGITAL_TV_SUPPORT
|
||||
select DVB_CORE
|
||||
help
|
||||
Say Y here to enable support for platform-specific Digital TV drivers.
|
||||
|
||||
|
|
|
@ -5,6 +5,12 @@ config TTPCI_EEPROM
|
|||
tristate
|
||||
depends on I2C
|
||||
|
||||
# Should match the hybrid card list below
|
||||
config MEDIA_HYBRID_USB
|
||||
bool
|
||||
depends on VIDEO_AU0828 || VIDEO_CX231XX || VIDEO_TM6000 || VIDEO_PVRUSB2
|
||||
default y
|
||||
|
||||
if USB && MEDIA_SUPPORT
|
||||
|
||||
menuconfig MEDIA_USB_SUPPORT
|
||||
|
@ -29,7 +35,6 @@ endif
|
|||
|
||||
if MEDIA_ANALOG_TV_SUPPORT
|
||||
comment "Analog TV USB devices"
|
||||
source "drivers/media/usb/pvrusb2/Kconfig"
|
||||
source "drivers/media/usb/hdpvr/Kconfig"
|
||||
source "drivers/media/usb/stk1160/Kconfig"
|
||||
source "drivers/media/usb/go7007/Kconfig"
|
||||
|
@ -39,6 +44,7 @@ if (MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT)
|
|||
comment "Analog/digital TV USB devices"
|
||||
source "drivers/media/usb/au0828/Kconfig"
|
||||
source "drivers/media/usb/cx231xx/Kconfig"
|
||||
source "drivers/media/usb/pvrusb2/Kconfig"
|
||||
source "drivers/media/usb/tm6000/Kconfig"
|
||||
endif
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
config VIDEO_AU0828
|
||||
tristate "Auvitek AU0828 support"
|
||||
depends on I2C && INPUT && DVB_CORE && USB && VIDEO_V4L2
|
||||
depends on I2C && INPUT && USB
|
||||
select MEDIA_CONTROLLER
|
||||
select MEDIA_CONTROLLER_DVB
|
||||
select I2C_ALGOBIT
|
||||
select VIDEO_TVEEPROM
|
||||
select VIDEOBUF2_VMALLOC if VIDEO_V4L2
|
||||
select VIDEOBUF2_VMALLOC
|
||||
select DVB_AU8522_DTV if MEDIA_SUBDRV_AUTOSELECT
|
||||
select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
|
||||
select MEDIA_TUNER_MXL5007T if MEDIA_SUBDRV_AUTOSELECT
|
||||
|
@ -22,8 +22,6 @@ config VIDEO_AU0828
|
|||
config VIDEO_AU0828_V4L2
|
||||
bool "Auvitek AU0828 v4l2 analog video support"
|
||||
depends on VIDEO_AU0828
|
||||
depends on VIDEO_V4L2=y || VIDEO_V4L2=VIDEO_AU0828
|
||||
select DVB_AU8522_V4L if MEDIA_SUBDRV_AUTOSELECT
|
||||
select VIDEO_TUNER
|
||||
default y
|
||||
help
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_CX231XX
|
||||
tristate "Conexant cx231xx USB video capture support"
|
||||
depends on VIDEO_DEV && I2C && I2C_MUX
|
||||
depends on I2C && I2C_MUX
|
||||
select VIDEO_TUNER
|
||||
select VIDEO_TVEEPROM
|
||||
select VIDEOBUF2_VMALLOC
|
||||
|
@ -40,7 +40,7 @@ config VIDEO_CX231XX_ALSA
|
|||
|
||||
config VIDEO_CX231XX_DVB
|
||||
tristate "DVB/ATSC Support for Cx231xx based TV cards"
|
||||
depends on VIDEO_CX231XX && DVB_CORE
|
||||
depends on VIDEO_CX231XX
|
||||
select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
|
||||
select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
|
||||
select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_PVRUSB2
|
||||
tristate "Hauppauge WinTV-PVR USB2 support"
|
||||
depends on VIDEO_V4L2 && I2C
|
||||
depends on I2C
|
||||
select VIDEO_TUNER
|
||||
select VIDEO_TVEEPROM
|
||||
select VIDEO_CX2341X
|
||||
|
@ -36,7 +36,7 @@ config VIDEO_PVRUSB2_SYSFS
|
|||
config VIDEO_PVRUSB2_DVB
|
||||
bool "pvrusb2 ATSC/DVB support"
|
||||
default y
|
||||
depends on VIDEO_PVRUSB2 && DVB_CORE
|
||||
depends on VIDEO_PVRUSB2
|
||||
select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
|
||||
select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
|
||||
select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
config VIDEO_TM6000
|
||||
tristate "TV Master TM5600/6000/6010 driver"
|
||||
depends on VIDEO_DEV && I2C && INPUT && RC_CORE && USB
|
||||
depends on I2C && INPUT && RC_CORE && USB
|
||||
select VIDEO_TUNER
|
||||
select MEDIA_TUNER_XC2028
|
||||
select MEDIA_TUNER_XC5000
|
||||
|
@ -28,7 +28,7 @@ config VIDEO_TM6000_ALSA
|
|||
|
||||
config VIDEO_TM6000_DVB
|
||||
tristate "DVB Support for tm6000 based TV cards"
|
||||
depends on VIDEO_TM6000 && DVB_CORE && USB
|
||||
depends on VIDEO_TM6000 && USB
|
||||
select DVB_ZL10353
|
||||
help
|
||||
This adds support for DVB cards based on the tm5600/tm6000 chip.
|
||||
|
|
Loading…
Reference in New Issue