# SPDX-License-Identifier: GPL-2.0-only
config VIDEO_CX18
	tristate "Conexant cx23418 MPEG encoder support"
	depends on VIDEO_DEV && DVB_CORE && PCI && I2C
	select I2C_ALGOBIT
	select VIDEOBUF_VMALLOC
	depends on RC_CORE
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_CX2341X
	select VIDEO_CS5345
	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MXL5005S if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	help
	  This is a video4linux driver for Conexant cx23418 based
	  PCI combo video recorder devices.

	  This is used in devices such as the Hauppauge HVR-1600
	  cards.

	  To compile this driver as a module, choose M here: the
	  module will be called cx18.

config VIDEO_CX18_ALSA
	tristate "Conexant 23418 DMA audio support"
	depends on VIDEO_CX18 && SND
	select SND_PCM
	help
	  This is a video4linux driver for direct (DMA) audio on
	  Conexant 23418 based TV cards using ALSA.

	  To compile this driver as a module, choose M here: the
	  module will be called cx18-alsa.
