menuconfig USB_GSPCA
	depends on BACKPORT_DISABLED_KCONFIG_OPTION
	tristate "GSPCA based webcams"
	depends on m
	depends on VIDEO_V4L2
	default m
	---help---
	  Say Y here if you want to enable selecting webcams based
	  on the GSPCA framework.

	  See <file:Documentation/video4linux/gspca.txt> for more info.

	  This driver uses the Video For Linux API. You must say Y or M to
	  "Video For Linux" to use this driver.

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


if USB_GSPCA && VIDEO_V4L2

source "drivers/media/usb/gspca/m5602/Kconfig"
source "drivers/media/usb/gspca/stv06xx/Kconfig"
source "drivers/media/usb/gspca/gl860/Kconfig"

config USB_GSPCA_BENQ
	tristate "Benq USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the Benq DC E300 camera.

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

config USB_GSPCA_CONEX
	tristate "Conexant Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Conexant chip.

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

config USB_GSPCA_CPIA1
	tristate "cpia CPiA (version 1) Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for USB cameras based on the cpia
	  CPiA chip. Note that you need atleast version 0.6.4 of libv4l for
	  applications to understand the videoformat generated by this driver.

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

config USB_GSPCA_ETOMS
	tristate "Etoms USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Etoms chip.

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

config USB_GSPCA_FINEPIX
	tristate "Fujifilm FinePix USB V4L2 driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the FinePix chip.

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

config USB_GSPCA_JEILINJ
	tristate "Jeilin JPEG USB V4L2 driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on this Jeilin chip.

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

config USB_GSPCA_JL2005BCD
	tristate "JL2005B/C/D USB V4L2 driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based the
	  JL2005B, JL2005C, or JL2005D chip.

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

config USB_GSPCA_KINECT
	tristate "Kinect sensor device USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the Microsoft Kinect sensor device.

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

config USB_GSPCA_KONICA
	tristate "Konica USB Camera V4L2 driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Konica chip.

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

config USB_GSPCA_MARS
	tristate "Mars USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Mars chip.

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

config USB_GSPCA_MR97310A
	tristate "Mars-Semi MR97310A USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the MR97310A chip.

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

config USB_GSPCA_NW80X
	tristate "Divio based (NW80x) USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the NW80x chips.

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

config USB_GSPCA_OV519
	tristate "OV51x / OVFX2 / W996xCF USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on one of these:
	  OV511(+), OV518(+), OV519, OVFX2, W9967CF, W9968CF

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

config USB_GSPCA_OV534
	tristate "OV534 OV772x USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the OV534 chip
	  and sensor OV772x (e.g. Sony Playstation EYE)

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

config USB_GSPCA_OV534_9
	tristate "OV534 OV965x USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the OV534 chip
	  and sensor OV965x (e.g. Hercules Dualpix)

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

config USB_GSPCA_PAC207
	tristate "Pixart PAC207 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the PAC207 chip.

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

config USB_GSPCA_PAC7302
	tristate "Pixart PAC7302 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the PAC7302 chip.

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

config USB_GSPCA_PAC7311
	tristate "Pixart PAC7311 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the PAC7311 chip.

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

config USB_GSPCA_SE401
	tristate "SE401 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	 Say Y here if you want support for cameras based on the
	 Endpoints (formerly known as AOX) se401 chip.

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

config USB_GSPCA_SN9C2028
	tristate "SONIX Dual-Mode USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want streaming support for Sonix SN9C2028 cameras.
	  These are supported as stillcams in libgphoto2/camlibs/sonix.

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

config USB_GSPCA_SN9C20X
	tristate "SN9C20X USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	 Say Y here if you want support for cameras based on the
	 sn9c20x chips (SN9C201 and SN9C202).

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

config USB_GSPCA_SONIXB
	tristate "SONIX Bayer USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Sonix
	  chips with Bayer format (SN9C101, SN9C102 and SN9C103).

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

config USB_GSPCA_SONIXJ
	tristate "SONIX JPEG USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Sonix
	  chips with JPEG format (SN9C102P, SN9C105 and >= SN9C110).

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

config USB_GSPCA_SPCA500
	tristate "SPCA500 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA500 chip.

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

config USB_GSPCA_SPCA501
	tristate "SPCA501 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA501 chip.

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

config USB_GSPCA_SPCA505
	tristate "SPCA505 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA505 chip.

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

config USB_GSPCA_SPCA506
	tristate "SPCA506 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA506 chip.

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

config USB_GSPCA_SPCA508
	tristate "SPCA508 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA508 chip.

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

config USB_GSPCA_SPCA561
	tristate "SPCA561 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA561 chip.

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

config USB_GSPCA_SPCA1528
	tristate "SPCA1528 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SPCA1528 chip.

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

config USB_GSPCA_SQ905
	tristate "SQ Technologies SQ905 based USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SQ905 chip.

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

config USB_GSPCA_SQ905C
	tristate "SQ Technologies SQ905C based USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SQ905C chip.

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

config USB_GSPCA_SQ930X
	tristate "SQ Technologies SQ930X based USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the SQ930X chip.

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

config USB_GSPCA_STK014
	tristate "Syntek DV4000 (STK014) USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the STK014 chip.

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

config USB_GSPCA_STK1135
	tristate "Syntek STK1135 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the STK1135 chip.

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

config USB_GSPCA_STV0680
	tristate "STV0680 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the STV0680 chip.

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

config USB_GSPCA_SUNPLUS
	tristate "SUNPLUS USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the Sunplus
	  SPCA504(abc) SPCA533 SPCA536 chips.

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

config USB_GSPCA_T613
	tristate "T613 (JPEG Compliance) USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the T613 chip.

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

config USB_GSPCA_TOPRO
	tristate "TOPRO USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the
	  TP6800 and TP6810 Topro chips.

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

config USB_GSPCA_TV8532
	tristate "TV8532 USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the TV8531 chip.

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

config USB_GSPCA_VC032X
	tristate "VC032X USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the VC032X chip.

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

config USB_GSPCA_VICAM
	tristate "ViCam USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the 3com homeconnect camera
	  (vicam).

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

config USB_GSPCA_XIRLINK_CIT
	tristate "Xirlink C-It USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for Xirlink C-It bases cameras.

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

config USB_GSPCA_ZC3XX
	tristate "ZC3XX USB Camera Driver"
	depends on m
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the ZC3XX chip.

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

endif
