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"
 
          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
 #      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"
 #      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
 
 # 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
 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
 
 
 # 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
 
 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
 
 # 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
 
 # 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
 
 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.
 
 # 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
 
 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
 
 # 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
 
 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
 
 # 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
 
 
 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.
 
 
        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
 
 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"
        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
 
 
 
 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
 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
 
 # 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
 
 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
 
 # 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
 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
 
 # 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
 
 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.