config VIDEO_SAA7134
	tristate "Philips SAA7134 support"
	depends on VIDEO_DEV && PCI && I2C
	select VIDEOBUF_DMA_SG
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select CRC32
	select VIDEO_SAA6588 if VIDEO_HELPER_CHIPS_AUTO
	---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 VIDEO_SAA7134 && SND
	select 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
	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 VIDEO_SAA7134 && DVB_CORE
	select VIDEOBUF_DVB
	select DVB_PLL if !DVB_FE_CUSTOMISE
	select DVB_MT352 if !DVB_FE_CUSTOMISE
	select DVB_TDA1004X if !DVB_FE_CUSTOMISE
	select DVB_NXT200X if !DVB_FE_CUSTOMISE
	select DVB_TDA10086 if !DVB_FE_CUSTOMISE
	select DVB_TDA826X if !DVB_FE_CUSTOMISE
	select DVB_ISL6421 if !DVB_FE_CUSTOMISE
	select DVB_ISL6405 if !DVB_FE_CUSTOMISE
	select MEDIA_TUNER_TDA827X if !MEDIA_TUNER_CUSTOMISE
	select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMISE
	select DVB_ZL10036 if !DVB_FE_CUSTOMISE
	select DVB_MT312 if !DVB_FE_CUSTOMISE
	select DVB_LNBP21 if !DVB_FE_CUSTOMISE
	select DVB_ZL10353 if !DVB_FE_CUSTOMISE
	select DVB_LGDT3305 if !DVB_FE_CUSTOMISE
	select DVB_TDA10048 if !DVB_FE_CUSTOMISE
	select MEDIA_TUNER_TDA18271 if !MEDIA_TUNER_CUSTOMISE
	select MEDIA_TUNER_TDA8290 if !MEDIA_TUNER_CUSTOMISE
	select DVB_ZL10039 if !DVB_FE_CUSTOMISE
	---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.
