config VIDEO_EM28XX
	tristate "Empia EM28xx USB video capture support"
	depends on VIDEO_DEV && I2C
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEOBUF_VMALLOC
	select VIDEO_SAA711X if VIDEO_HELPER_CHIPS_AUTO
	select VIDEO_TVP5150 if VIDEO_HELPER_CHIPS_AUTO
	select VIDEO_MSP3400 if VIDEO_HELPER_CHIPS_AUTO
	select VIDEO_MT9V011 if VIDEO_HELPER_CHIPS_AUTO

	---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 !DVB_FE_CUSTOMISE
	select DVB_ZL10353 if !DVB_FE_CUSTOMISE
	select DVB_TDA10023 if !DVB_FE_CUSTOMISE
	select DVB_S921 if !DVB_FE_CUSTOMISE
	select DVB_DRXD if !DVB_FE_CUSTOMISE
	select DVB_CXD2820R if !DVB_FE_CUSTOMISE
	select DVB_DRXK if !DVB_FE_CUSTOMISE
	select DVB_TDA18271C2DD if !DVB_FE_CUSTOMISE
	select DVB_TDA10071 if !DVB_FE_CUSTOMISE
	select DVB_A8293 if !DVB_FE_CUSTOMISE
	select VIDEOBUF_DVB
	---help---
	  This adds support for DVB cards based on the
	  Empiatech em28xx chips.

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