config VIDEO_PVRUSB2
	tristate "Hauppauge WinTV-PVR USB2 support"
	depends on VIDEO_V4L2 && I2C
	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 MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1409 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_S5H1411 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10048 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA18271 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_TDA8290 if MEDIA_SUBDRV_AUTOSELECT
	---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.
