# SPDX-License-Identifier: GPL-2.0
menuconfig STAGING_MEDIA
	bool "Media staging drivers"
	default n
	help
	  This option allows you to select a number of media drivers that
	  don't have the "normal" Linux kernel quality level.
	  Most of them don't follow properly the V4L, DVB and/or RC API's,
	  so, they won't likely work fine with the existing applications.
	  That also means that, once fixed, their API's will change to match
	  the existing ones.

	  If you wish to work on these drivers, to help improve them, or
	  to report problems you have with them, please use the
	  linux-media@vger.kernel.org mailing list.

	  If in doubt, say N here.


if STAGING_MEDIA && MEDIA_SUPPORT

# Please keep them in alphabetic order
source "drivers/staging/media/atomisp/Kconfig"

source "drivers/staging/media/imx/Kconfig"

source "drivers/staging/media/ipu3/Kconfig"

source "drivers/staging/media/max96712/Kconfig"

source "drivers/staging/media/meson/vdec/Kconfig"

source "drivers/staging/media/omap4iss/Kconfig"

source "drivers/staging/media/rkvdec/Kconfig"

source "drivers/staging/media/sunxi/Kconfig"

source "drivers/staging/media/tegra-video/Kconfig"

menuconfig STAGING_MEDIA_DEPRECATED
	bool "Media staging drivers (DEPRECATED)"
	default n
	help
	  This option enables deprecated media drivers that are
	  scheduled for future removal from the kernel.

	  If you wish to work on these drivers to prevent their removal,
	  then contact the linux-media@vger.kernel.org mailing list.

	  If in doubt, say N here.

if STAGING_MEDIA_DEPRECATED
source "drivers/staging/media/deprecated/atmel/Kconfig"
source "drivers/staging/media/deprecated/cpia2/Kconfig"
source "drivers/staging/media/deprecated/fsl-viu/Kconfig"
source "drivers/staging/media/deprecated/meye/Kconfig"
source "drivers/staging/media/deprecated/saa7146/Kconfig"
source "drivers/staging/media/deprecated/stkwebcam/Kconfig"
source "drivers/staging/media/deprecated/tm6000/Kconfig"
source "drivers/staging/media/deprecated/vpfe_capture/Kconfig"
source "drivers/staging/media/deprecated/zr364xx/Kconfig"
endif

endif
