config VIDEO_EM28XX
	tristate "Empia EM28xx USB devices support"
	depends on m
	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 m
	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

	---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
	depends on SND_PCM
	tristate "Empia EM28xx ALSA audio module"
	depends on m
	---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
	depends on !KERNEL_3_8
	depends on !KERNEL_3_4
	tristate "DVB/ATSC Support for em28xx based TV cards"
	depends on m
	depends on VIDEO_EM28XX && DVB_CORE
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3305 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
	---help---
	  This adds support for DVB cards based on the
	  Empiatech em28xx chips.

config VIDEO_EM28XX_RC
        tristate "EM28XX Remote Controller support"
        depends on m
        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.
