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

config STAGING_EXCLUDE_BUILD
	bool "Exclude Staging drivers from being built" if STAGING
	default y
	---help---
	  Are you sure you really want to build the staging drivers?
	  They taint your kernel, don't live up to the normal Linux
	  kernel quality standards, are a bit crufty around the edges,
	  and might go off and kick your dog when you aren't paying
	  attention.

	  Say N here to be able to select and build the Staging drivers.
	  This option is primarily here to prevent them from being built
	  when selecting 'make allyesconfg' and 'make allmodconfig' so
	  don't be all that put off, your dog will be just fine.

if !STAGING_EXCLUDE_BUILD

source "drivers/staging/et131x/Kconfig"

source "drivers/staging/slicoss/Kconfig"

source "drivers/staging/go7007/Kconfig"

source "drivers/staging/cx25821/Kconfig"

source "drivers/staging/tm6000/Kconfig"

source "drivers/staging/dabusb/Kconfig"

source "drivers/staging/se401/Kconfig"

source "drivers/staging/usbvideo/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/brcm80211/Kconfig"

source "drivers/staging/rt2860/Kconfig"

source "drivers/staging/rt2870/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/frontier/Kconfig"

source "drivers/staging/pohmelfs/Kconfig"

source "drivers/staging/autofs/Kconfig"

source "drivers/staging/phison/Kconfig"

source "drivers/staging/line6/Kconfig"

source "drivers/gpu/drm/vmwgfx/Kconfig"

source "drivers/gpu/drm/nouveau/Kconfig"

source "drivers/staging/octeon/Kconfig"

source "drivers/staging/serqt_usb2/Kconfig"

source "drivers/staging/spectra/Kconfig"

source "drivers/staging/quatech_usb2/Kconfig"

source "drivers/staging/vt6655/Kconfig"

source "drivers/staging/vt6656/Kconfig"

source "drivers/staging/hv/Kconfig"

source "drivers/staging/vme/Kconfig"

source "drivers/staging/memrar/Kconfig"

source "drivers/staging/sep/Kconfig"

source "drivers/staging/iio/Kconfig"

source "drivers/staging/cs5535_gpio/Kconfig"

source "drivers/staging/zram/Kconfig"

source "drivers/staging/wlags49_h2/Kconfig"

source "drivers/staging/wlags49_h25/Kconfig"

source "drivers/staging/samsung-laptop/Kconfig"

source "drivers/staging/sm7xx/Kconfig"

source "drivers/staging/dt3155v4l/Kconfig"

source "drivers/staging/crystalhd/Kconfig"

source "drivers/staging/cxt1e1/Kconfig"

source "drivers/staging/ti-st/Kconfig"

source "drivers/staging/xgifb/Kconfig"

source "drivers/staging/msm/Kconfig"

source "drivers/staging/lirc/Kconfig"

source "drivers/staging/smbfs/Kconfig"

source "drivers/staging/easycap/Kconfig"

source "drivers/staging/solo6x10/Kconfig"

source "drivers/staging/tidspbridge/Kconfig"

source "drivers/staging/quickstart/Kconfig"

source "drivers/staging/westbridge/Kconfig"

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

source "drivers/staging/ath6kl/Kconfig"

source "drivers/staging/keucr/Kconfig"

source "drivers/staging/bcm/Kconfig"

source "drivers/staging/ft1000/Kconfig"

source "drivers/staging/intel_sst/Kconfig"

source "drivers/staging/speakup/Kconfig"

source "drivers/staging/cptm1217/Kconfig"

source "drivers/staging/ste_rmi4/Kconfig"

endif # !STAGING_EXCLUDE_BUILD
endif # STAGING
