Revert "media: Kconfig: better support hybrid TV devices"
Changing from "depends on" to "select" may cause some
side-effects. This patch is not ready to be merged yet,
as it requires some adjustments.
So, let's revert it.
This reverts commit a3b91d8bd1e034c8ed89d3f55243478af97a0a52.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 0972a42..a8def15 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -77,7 +77,12 @@
help
Enable analog TV support.
- Say Y when you have a board with 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
@@ -86,7 +91,8 @@
help
Enable digital TV support.
- Say Y when you have a board with 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
@@ -100,6 +106,10 @@
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
prompt "Software defined radio" if MEDIA_SUPPORT_FILTER
@@ -155,13 +165,9 @@
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
+ tristate "Video4Linux core"
+ default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_RADIO_SUPPORT || MEDIA_SDR_SUPPORT || MEDIA_PLATFORM_SUPPORT || MEDIA_TEST_SUPPORT
help
Enables the V4L2 API, used by cameras, analog TV, video grabbers,
radio devices and by some input devices.
@@ -180,12 +186,8 @@
# 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
diff --git a/drivers/media/pci/Kconfig b/drivers/media/pci/Kconfig
index 44f1efd2..2cd8e32 100644
--- a/drivers/media/pci/Kconfig
+++ b/drivers/media/pci/Kconfig
@@ -1,11 +1,5 @@
# 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
menuconfig MEDIA_PCI_SUPPORT
@@ -31,18 +25,18 @@
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
diff --git a/drivers/media/pci/bt8xx/Kconfig b/drivers/media/pci/bt8xx/Kconfig
index 30714c7..3f56dec 100644
--- a/drivers/media/pci/bt8xx/Kconfig
+++ b/drivers/media/pci/bt8xx/Kconfig
@@ -1,10 +1,11 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_BT848
tristate "BT848 Video For Linux"
- depends on PCI && I2C
+ depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2
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
@@ -23,7 +24,7 @@
config DVB_BT8XX
tristate "DVB/ATSC Support for bt878 based TV cards"
- depends on PCI && I2C && VIDEO_BT848
+ depends on DVB_CORE && 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
diff --git a/drivers/media/pci/cx18/Kconfig b/drivers/media/pci/cx18/Kconfig
index 110e072..7074a10 100644
--- a/drivers/media/pci/cx18/Kconfig
+++ b/drivers/media/pci/cx18/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX18
tristate "Conexant cx23418 MPEG encoder support"
- depends on PCI && I2C
+ depends on VIDEO_V4L2 && DVB_CORE && PCI && I2C
select I2C_ALGOBIT
select VIDEOBUF_VMALLOC
depends on RC_CORE
diff --git a/drivers/media/pci/cx23885/Kconfig b/drivers/media/pci/cx23885/Kconfig
index e8f4edf..926da88 100644
--- a/drivers/media/pci/cx23885/Kconfig
+++ b/drivers/media/pci/cx23885/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX23885
tristate "Conexant cx23885 (2388x successor) support"
- depends on PCI && I2C && INPUT && SND
+ depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT && SND
select SND_PCM
select I2C_ALGOBIT
select VIDEO_TUNER
@@ -53,7 +53,7 @@
config MEDIA_ALTERA_CI
tristate "Altera FPGA based CI module"
- depends on VIDEO_CX23885
+ depends on VIDEO_CX23885 && DVB_CORE
select ALTERA_STAPL
help
An Altera FPGA CI module for NetUP Dual DVB-T/C RF CI card.
diff --git a/drivers/media/pci/cx88/Kconfig b/drivers/media/pci/cx88/Kconfig
index ab994b3..24e1e7c 100644
--- a/drivers/media/pci/cx88/Kconfig
+++ b/drivers/media/pci/cx88/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX88
tristate "Conexant 2388x (bt878 successor) support"
- depends on PCI && I2C && RC_CORE
+ depends on VIDEO_DEV && PCI && I2C && RC_CORE
select I2C_ALGOBIT
select VIDEOBUF2_DMA_SG
select VIDEO_TUNER
@@ -44,7 +44,7 @@
config VIDEO_CX88_DVB
tristate "DVB/ATSC Support for cx2388x based TV cards"
- depends on VIDEO_CX88
+ depends on VIDEO_CX88 && DVB_CORE
select VIDEOBUF2_DVB
select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
diff --git a/drivers/media/pci/saa7134/Kconfig b/drivers/media/pci/saa7134/Kconfig
index a2af02f..30c1759 100644
--- a/drivers/media/pci/saa7134/Kconfig
+++ b/drivers/media/pci/saa7134/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SAA7134
tristate "Philips SAA7134 support"
- depends on PCI && I2C
+ depends on VIDEO_DEV && PCI && I2C
select VIDEOBUF2_DMA_SG
select VIDEO_TUNER
select VIDEO_TVEEPROM
@@ -37,7 +37,7 @@
config VIDEO_SAA7134_DVB
tristate "DVB/ATSC Support for saa7134 based TV cards"
- depends on VIDEO_SAA7134
+ depends on VIDEO_SAA7134 && DVB_CORE
select VIDEOBUF2_DVB
select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
diff --git a/drivers/media/pci/saa7164/Kconfig b/drivers/media/pci/saa7164/Kconfig
index 8df933a..6655c3e 100644
--- a/drivers/media/pci/saa7164/Kconfig
+++ b/drivers/media/pci/saa7164/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_SAA7164
tristate "NXP SAA7164 support"
- depends on PCI && I2C
+ depends on DVB_CORE && VIDEO_DEV && PCI && I2C
select I2C_ALGOBIT
select FW_LOADER
select VIDEO_TUNER
diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
index b8b2de5..c11386b 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -543,7 +543,7 @@
menuconfig DVB_PLATFORM_DRIVERS
bool "DVB platform devices"
- select DVB_CORE
+ depends on MEDIA_DIGITAL_TV_SUPPORT
help
Say Y here to enable support for platform-specific Digital TV drivers.
diff --git a/drivers/media/usb/Kconfig b/drivers/media/usb/Kconfig
index 036aa43..bf08393 100644
--- a/drivers/media/usb/Kconfig
+++ b/drivers/media/usb/Kconfig
@@ -5,12 +5,6 @@
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
@@ -35,6 +29,7 @@
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"
@@ -44,7 +39,6 @@
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
diff --git a/drivers/media/usb/au0828/Kconfig b/drivers/media/usb/au0828/Kconfig
index 2f5ee68..05cc6c4 100644
--- a/drivers/media/usb/au0828/Kconfig
+++ b/drivers/media/usb/au0828/Kconfig
@@ -2,12 +2,12 @@
config VIDEO_AU0828
tristate "Auvitek AU0828 support"
- depends on I2C && INPUT && USB
+ depends on I2C && INPUT && DVB_CORE && USB && VIDEO_V4L2
select MEDIA_CONTROLLER
select MEDIA_CONTROLLER_DVB
select I2C_ALGOBIT
select VIDEO_TVEEPROM
- select VIDEOBUF2_VMALLOC
+ select VIDEOBUF2_VMALLOC if VIDEO_V4L2
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,6 +22,8 @@
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
diff --git a/drivers/media/usb/cx231xx/Kconfig b/drivers/media/usb/cx231xx/Kconfig
index 7e3b189..2fe2b2d 100644
--- a/drivers/media/usb/cx231xx/Kconfig
+++ b/drivers/media/usb/cx231xx/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX231XX
tristate "Conexant cx231xx USB video capture support"
- depends on I2C && I2C_MUX
+ depends on VIDEO_DEV && I2C && I2C_MUX
select VIDEO_TUNER
select VIDEO_TVEEPROM
select VIDEOBUF2_VMALLOC
@@ -40,7 +40,7 @@
config VIDEO_CX231XX_DVB
tristate "DVB/ATSC Support for Cx231xx based TV cards"
- depends on VIDEO_CX231XX
+ depends on VIDEO_CX231XX && DVB_CORE
select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
diff --git a/drivers/media/usb/pvrusb2/Kconfig b/drivers/media/usb/pvrusb2/Kconfig
index 5bf45f2..e6a4f73 100644
--- a/drivers/media/usb/pvrusb2/Kconfig
+++ b/drivers/media/usb/pvrusb2/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_PVRUSB2
tristate "Hauppauge WinTV-PVR USB2 support"
- depends on I2C
+ depends on VIDEO_V4L2 && I2C
select VIDEO_TUNER
select VIDEO_TVEEPROM
select VIDEO_CX2341X
@@ -36,7 +36,7 @@
config VIDEO_PVRUSB2_DVB
bool "pvrusb2 ATSC/DVB support"
default y
- depends on VIDEO_PVRUSB2
+ depends on VIDEO_PVRUSB2 && DVB_CORE
select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
diff --git a/drivers/media/usb/tm6000/Kconfig b/drivers/media/usb/tm6000/Kconfig
index ad9cfa8..56e977d 100644
--- a/drivers/media/usb/tm6000/Kconfig
+++ b/drivers/media/usb/tm6000/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_TM6000
tristate "TV Master TM5600/6000/6010 driver"
- depends on I2C && INPUT && RC_CORE && USB
+ depends on VIDEO_DEV && I2C && INPUT && RC_CORE && USB
select VIDEO_TUNER
select MEDIA_TUNER_XC2028
select MEDIA_TUNER_XC5000
@@ -28,7 +28,7 @@
config VIDEO_TM6000_DVB
tristate "DVB Support for tm6000 based TV cards"
- depends on VIDEO_TM6000 && USB
+ depends on VIDEO_TM6000 && DVB_CORE && USB
select DVB_ZL10353
help
This adds support for DVB cards based on the tm5600/tm6000 chip.