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

config VIDEO_V4L2_I2C
	bool
	depends on I2C && VIDEO_DEV
	default y

config VIDEO_V4L2_SUBDEV_API
	bool
	depends on VIDEO_DEV && MEDIA_CONTROLLER
	help
	  Enables the V4L2 sub-device pad-level userspace API used to configure
	  video format, size and frame rate between hardware blocks.

	  This API is mostly used by camera interfaces in embedded platforms.

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.

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

# Used by drivers that need v4l2-jpeg.ko
config V4L2_JPEG_HELPER
	tristate

# Used by drivers that need v4l2-h264.ko
config V4L2_H264
	tristate

# Used by drivers that need v4l2-vp9.ko
config V4L2_VP9
	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_DEV
	depends on LEDS_CLASS_FLASH
	select MEDIA_CONTROLLER
	select V4L2_ASYNC
	select VIDEO_V4L2_SUBDEV_API
	help
	  Say Y here to enable V4L2 flash API support for LED flash
	  class drivers.

	  When in doubt, say N.

config V4L2_FWNODE
	tristate
	select V4L2_ASYNC

config V4L2_ASYNC
	tristate

config V4L2_CCI
	tristate

config V4L2_CCI_I2C
	tristate
	depends on I2C
	select REGMAP_I2C
	select V4L2_CCI

config V4L2_LOOPBACK
	tristate "Video4Linux loopback support"
	help
	  This module allows you to create "virtual video devices". Normal (v4l2)
	  applications will read these devices as if they were ordinary video devices,
	  but the video will not be read from e.g. a capture card but instead it is
	  generated by another application.
