# SPDX-License-Identifier: GPL-2.0-only
#
# Generic video config states
#

# Enable the V4L2 core and API
config VIDEO_V4L2
	tristate
	depends on (I2C || I2C=n) && VIDEO_DEV
	select RATIONAL
	select VIDEOBUF2_V4L2 if VIDEOBUF2_CORE
	default (I2C || I2C=n) && VIDEO_DEV

config VIDEO_V4L2_I2C
	bool
	depends on I2C && VIDEO_V4L2
	default y

config VIDEO_ADV_DEBUG
	bool "Enable advanced debug functionality on V4L2 drivers"
	help
	  Say Y here to enable advanced debugging functionality on some
	  V4L devices.
	  In doubt, say N.

config VIDEO_FIXED_MINOR_RANGES
	bool "Enable old-style fixed minor ranges on drivers/video devices"
	help
	  Say Y here to enable the old-style fixed-range minor assignments.
	  Only useful if you rely on the old behavior and use mknod instead of udev.

	  When in doubt, say N.

config VIDEO_PCI_SKELETON
	tristate "Skeleton PCI V4L2 driver"
	depends on PCI
	depends on SAMPLES
	depends on VIDEO_V4L2 && VIDEOBUF2_CORE
	depends on VIDEOBUF2_MEMOPS && VIDEOBUF2_DMA_CONTIG
	help
	  Enable build of the skeleton PCI driver, used as a reference
	  when developing new drivers.

# Used by drivers that need tuner.ko
config VIDEO_TUNER
	tristate

# Used by drivers that need v4l2-mem2mem.ko
config V4L2_MEM2MEM_DEV
	tristate
	depends on VIDEOBUF2_CORE

# Used by LED subsystem flash drivers
config V4L2_FLASH_LED_CLASS
	tristate "V4L2 flash API for LED flash class devices"
	depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
	depends on LEDS_CLASS_FLASH
	help
	  Say Y here to enable V4L2 flash API support for LED flash
	  class drivers.

	  When in doubt, say N.

config V4L2_FWNODE
	tristate

# Used by drivers that need Videobuf modules
config VIDEOBUF_GEN
	tristate

config VIDEOBUF_DMA_SG
	tristate
	select VIDEOBUF_GEN

config VIDEOBUF_VMALLOC
	tristate
	select VIDEOBUF_GEN

config VIDEOBUF_DMA_CONTIG
	tristate
	select VIDEOBUF_GEN
