config VIDEO_CX23885
	tristate "Conexant cx23885 (2388x successor) support"
	depends on DVB_CORE && VIDEO_DEV && PCI && I2C && INPUT && SND
	select SND_PCM
	select I2C_ALGOBIT
	select VIDEO_BTCX
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	depends on RC_CORE
	select VIDEOBUF_DVB
	select VIDEOBUF_DMA_SG
	select VIDEO_CX25840
	select VIDEO_CX2341X
	select DVB_DIB7000P if !DVB_FE_CUSTOMISE
	select DVB_S5H1409 if !DVB_FE_CUSTOMISE
	select DVB_S5H1411 if !DVB_FE_CUSTOMISE
	select DVB_LGDT330X if !DVB_FE_CUSTOMISE
	select DVB_ZL10353 if !DVB_FE_CUSTOMISE
	select DVB_TDA10048 if !DVB_FE_CUSTOMISE
	select DVB_LNBP21 if !DVB_FE_CUSTOMISE
	select DVB_STV6110 if !DVB_FE_CUSTOMISE
	select DVB_CX24116 if !DVB_FE_CUSTOMISE
	select DVB_M88DS3103 if !DVB_FE_CUSTOMISE
	select DVB_M88DC2800 if !DVB_FE_CUSTOMISE
	select DVB_STV0900 if !DVB_FE_CUSTOMISE
	select DVB_DS3000 if !DVB_FE_CUSTOMISE
	select DVB_STV0367 if !DVB_FE_CUSTOMISE
	select MEDIA_TUNER_MT2131 if !MEDIA_TUNER_CUSTOMISE
	select MEDIA_TUNER_XC2028 if !MEDIA_TUNER_CUSTOMISE
	select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
	select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
	select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMISE
	---help---
	  This is a video4linux driver for Conexant 23885 based
	  TV cards.

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

config MEDIA_ALTERA_CI
	tristate "Altera FPGA based CI module"
	depends on VIDEO_CX23885 && DVB_CORE
	select ALTERA_STAPL
	---help---
	  An Altera FPGA CI module for NetUP Dual DVB-T/C RF CI card.

	  To compile this driver as a module, choose M here: the
	  module will be called altera-ci
