config VIDEO_EM28XX
	tristate "Empia EM28xx USB devices support"
	depends on VIDEO_DEV && I2C
	select VIDEO_TUNER
	select VIDEO_TVEEPROM

config VIDEO_EM28XX_V4L2
	tristate "Empia EM28xx analog TV, video capture and/or webcam support"
	depends on VIDEO_EM28XX
	select VIDEOBUF2_VMALLOC
	select VIDEO_SAA711X if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TVP5150 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_MT9V011 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT
	select VIDEO_OV2640 if MEDIA_SUBDRV_AUTOSELECT && MEDIA_CAMERA_SUPPORT
	---help---
	  This is a video4linux driver for Empia 28xx based TV cards.

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

config VIDEO_EM28XX_ALSA
	depends on VIDEO_EM28XX && SND
	select SND_PCM
	tristate "Empia EM28xx ALSA audio module"
	---help---
	  This is an ALSA driver for some Empia 28xx based TV cards.

	  This is not required for em2800/em2820/em2821 boards. However,
	  newer em28xx devices uses Vendor Class for audio, instead of
	  implementing the USB Audio Class. For those chips, this module
	  will enable digital audio.

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

config VIDEO_EM28XX_DVB
	tristate "DVB/ATSC Support for em28xx based TV cards"
	depends on VIDEO_EM28XX && DVB_CORE
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3306A if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S921 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRXD if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CXD2820R if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10071 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_A8293 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MB86A20S if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QT1010 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_M88DS3103 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TS2020 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_DRX39XYJ if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SI2168 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SI2157 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TC90522 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_QM1D1C0042 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC2028 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_XC5000 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_MT2060 if MEDIA_SUBDRV_AUTOSELECT
	---help---
	  This adds support for DVB cards based on the
	  Empiatech em28xx chips.

config VIDEO_EM28XX_RC
	tristate "EM28XX Remote Controller support"
	depends on RC_CORE
	depends on VIDEO_EM28XX
	depends on !(RC_CORE=m && VIDEO_EM28XX=y)
	default VIDEO_EM28XX
	---help---
	  Enables Remote Controller support on em28xx driver.
