config USB_PWC
	tristate "USB Philips Cameras"
	depends on VIDEO_V4L2
	select VIDEOBUF2_VMALLOC
	---help---
	  Say Y or M here if you want to use one of these Philips & OEM
	  webcams:
	   * Philips PCA645, PCA646
	   * Philips PCVC675, PCVC680, PCVC690
	   * Philips PCVC720/40, PCVC730, PCVC740, PCVC750
	   * Philips SPC900NC
	   * Askey VC010
	   * Logitech QuickCam Pro 3000, 4000, 'Zoom', 'Notebook Pro'
	     and 'Orbit'/'Sphere'
	   * Samsung MPC-C10, MPC-C30
	   * Creative Webcam 5, Pro Ex
	   * SOTEC Afina Eye
	   * Visionite VCS-UC300, VCS-UM100

	  The PCA635, PCVC665 and PCVC720/20 are not supported by this driver
	  and never will be, but the 665 and 720/20 are supported by other
	  drivers.

	  Some newer logitech webcams are not handled by this driver but by the
	  Usb Video Class driver (linux-uvc).

	  The built-in microphone is enabled by selecting USB Audio support.

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

config USB_PWC_DEBUG
	bool "USB Philips Cameras verbose debug"
	depends on USB_PWC
	help
	  Say Y here in order to have the pwc driver generate verbose debugging
	  messages.
	  A special module options 'trace' is used to control the verbosity.

config USB_PWC_INPUT_EVDEV
	bool "USB Philips Cameras input events device support"
	default y
	depends on USB_PWC && (USB_PWC=INPUT || INPUT=y)
	---help---
	  This option makes USB Philips cameras register the snapshot button as
	  an input device to report button events.

	  If you are in doubt, say Y.
