config VIDEO_SAA7134
	tristate "Philips SAA7134 support"
	depends on m
	depends on VIDEO_DEV && PCI && I2C
	select VIDEOBUF2_DMA_SG
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	depends on CRC32
	select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_SAA6752HS if MEDIA_SUBDRV_AUTOSELECT
	---help---
	  This is a video4linux driver for Philips SAA713x based
	  TV cards.

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

config VIDEO_SAA7134_ALSA
	tristate "Philips SAA7134 DMA audio support"
	depends on m
	depends on VIDEO_SAA7134 && SND
	depends on SND_PCM
	---help---
	  This is a video4linux driver for direct (DMA) audio in
	  Philips SAA713x based TV cards using ALSA

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

config VIDEO_SAA7134_RC
	bool "Philips SAA7134 Remote Controller support"
	depends on RC_CORE
	depends on VIDEO_SAA7134
	depends on !(RC_CORE=m && VIDEO_SAA7134=y)
	default y
	---help---
	  Enables Remote Controller support on saa7134 driver.

config VIDEO_SAA7134_DVB
	tristate "DVB/ATSC Support for saa7134 based TV cards"
	depends on m
	depends on VIDEO_SAA7134 && DVB_CORE
	select VIDEOBUF2_DVB
	select DVB_PLL if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA1004X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_NXT200X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10086 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA826X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6421 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ISL6405 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA827X if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10036 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_MT312 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT3305 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10039 if MEDIA_SUBDRV_AUTOSELECT
	---help---
	  This adds support for DVB cards based on the
	  Philips saa7134 chip.

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

config VIDEO_SAA7134_GO7007
	tristate "go7007 support for saa7134 based TV cards"
	depends on m
	depends on VIDEO_SAA7134
	depends on VIDEO_GO7007
	---help---
	  Enables saa7134 driver support for boards with go7007
	  MPEG encoder (WIS Voyager or compatible).
