menuconfig STAGING
	bool "Staging drivers"
	default n
	---help---
	  This option allows you to select a number of drivers that are
	  not of the "normal" Linux kernel quality level.  These drivers
	  are placed here in order to get a wider audience to make use of
	  them.  Please note that these drivers are under heavy
	  development, may or may not work, and may contain userspace
	  interfaces that most likely will be changed in the near
	  future.

	  Using any of these drivers will taint your kernel which might
	  affect support options from both the community, and various
	  commercial support organizations.

	  If you wish to work on these drivers, to help improve them, or
	  to report problems you have with them, please see the
	  driver_name.README file in the drivers/staging/ directory to
	  see what needs to be worked on, and who to contact.

	  If in doubt, say N here.


if STAGING

source "drivers/staging/et131x/Kconfig"

source "drivers/staging/slicoss/Kconfig"

source "drivers/staging/usbip/Kconfig"

source "drivers/staging/winbond/Kconfig"

source "drivers/staging/wlan-ng/Kconfig"

source "drivers/staging/echo/Kconfig"

source "drivers/staging/comedi/Kconfig"

source "drivers/staging/olpc_dcon/Kconfig"

source "drivers/staging/asus_oled/Kconfig"

source "drivers/staging/panel/Kconfig"

source "drivers/staging/rtl8187se/Kconfig"

source "drivers/staging/rtl8192u/Kconfig"

source "drivers/staging/rtl8192e/Kconfig"

source "drivers/staging/rtl8712/Kconfig"

source "drivers/staging/rts_pstor/Kconfig"

source "drivers/staging/rts5139/Kconfig"

source "drivers/staging/frontier/Kconfig"

source "drivers/staging/phison/Kconfig"

source "drivers/staging/line6/Kconfig"

source "drivers/staging/octeon/Kconfig"

source "drivers/staging/serqt_usb2/Kconfig"

source "drivers/staging/vt6655/Kconfig"

source "drivers/staging/vt6656/Kconfig"

source "drivers/staging/sep/Kconfig"

source "drivers/staging/iio/Kconfig"

source "drivers/staging/zram/Kconfig"

source "drivers/staging/zcache/Kconfig"

source "drivers/staging/zsmalloc/Kconfig"

source "drivers/staging/wlags49_h2/Kconfig"

source "drivers/staging/wlags49_h25/Kconfig"

source "drivers/staging/sm7xx/Kconfig"

source "drivers/staging/crystalhd/Kconfig"

source "drivers/staging/cxt1e1/Kconfig"

source "drivers/staging/xgifb/Kconfig"

source "drivers/staging/tidspbridge/Kconfig"

source "drivers/staging/quickstart/Kconfig"

source "drivers/staging/sbe-2t3e3/Kconfig"

source "drivers/staging/keucr/Kconfig"

source "drivers/staging/bcm/Kconfig"

source "drivers/staging/ft1000/Kconfig"

source "drivers/staging/speakup/Kconfig"

source "drivers/staging/cptm1217/Kconfig"

source "drivers/staging/ste_rmi4/Kconfig"

source "drivers/staging/nvec/Kconfig"

source "drivers/staging/media/Kconfig"

source "drivers/staging/net/Kconfig"

source "drivers/staging/omapdrm/Kconfig"

source "drivers/staging/android/Kconfig"

source "drivers/staging/telephony/Kconfig"

source "drivers/staging/ramster/Kconfig"

source "drivers/staging/ozwpan/Kconfig"

source "drivers/staging/ccg/Kconfig"

source "drivers/staging/ipack/Kconfig"

source "drivers/staging/gdm72xx/Kconfig"

endif # STAGING
