config VIDEO_PVRUSB2
	tristate "Hauppauge WinTV-PVR USB2 support"
	depends on VIDEO_V4L2 && I2C
	depends on VIDEO_MEDIA	# Avoids pvrusb = Y / DVB = M
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_CX2341X
	select VIDEO_SAA711X
	select VIDEO_CX25840
	select VIDEO_MSP3400
	select VIDEO_WM8775
	select VIDEO_CS53L32A
	---help---
	  This is a video4linux driver for Conexant 23416 based
	  usb2 personal video recorder devices.

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

config VIDEO_PVRUSB2_SYSFS
	bool "pvrusb2 sysfs support (EXPERIMENTAL)"
	default y
	depends on VIDEO_PVRUSB2 && SYSFS && EXPERIMENTAL
	---help---
	  This option enables the operation of a sysfs based
	  interface for query and control of the pvrusb2 driver.

	  This is not generally needed for v4l applications,
	  although certain applications are optimized to take
	  advantage of this feature.

	  If you are in doubt, say Y.

	  Note: This feature is experimental and subject to change.

config VIDEO_PVRUSB2_DVB
	bool "pvrusb2 ATSC/DVB support (EXPERIMENTAL)"
	default y
	depends on VIDEO_PVRUSB2 && DVB_CORE && EXPERIMENTAL
	select DVB_LGDT330X if !DVB_FE_CUSTOMISE
	select DVB_S5H1409 if !DVB_FE_CUSTOMISE
	select DVB_S5H1411 if !DVB_FE_CUSTOMISE
	select DVB_TDA10048 if !DVB_FE_CUSTOMIZE
	select MEDIA_TUNER_TDA18271 if !DVB_FE_CUSTOMIZE
	select MEDIA_TUNER_SIMPLE if !MEDIA_TUNER_CUSTOMIZE
	select MEDIA_TUNER_TDA8290 if !DVB_FE_CUSTOMIZE
	---help---

	  This option enables a DVB interface for the pvrusb2 driver.
	  If your device does not support digital television, this
	  feature will have no affect on the driver's operation.

	  If you are in doubt, say Y.

config VIDEO_PVRUSB2_DEBUGIFC
	bool "pvrusb2 debug interface"
	depends on VIDEO_PVRUSB2_SYSFS
	---help---
	  This option enables the inclusion of a debug interface
	  in the pvrusb2 driver, hosted through sysfs.

	  You do not need to select this option unless you plan
	  on debugging the driver or performing a manual firmware
	  extraction.

	  If you are in doubt, say N.
