# SPDX-License-Identifier: GPL-2.0-only
menuconfig USB_GSPCA
	tristate "GSPCA based webcams"
	depends on VIDEO_V4L2
	depends on INPUT || INPUT=n
	select VIDEOBUF2_VMALLOC
	default m
	help
	  Say Y here if you want to enable selecting webcams based
	  on the GSPCA framework.

	  See <file:Documentation/media/v4l-drivers/gspca-cardlist.rst> 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 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 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 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 at least 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_DTCS033
	tristate "DTCS033 (Scopium) USB Astro-Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for the Scopium camera
	  for planetary astrophotography.

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

config USB_GSPCA_ETOMS
	tristate "Etoms USB Camera Driver"
	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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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_TOUPTEK
	tristate "Touptek USB Camera Driver"
	depends on VIDEO_V4L2 && USB_GSPCA
	help
	  Say Y here if you want support for cameras based on the ToupTek UCMOS
	  / AmScope MU series camera.

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

config USB_GSPCA_TV8532
	tristate "TV8532 USB Camera Driver"
	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 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 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 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 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
