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/cxd2099/Kconfig"

source "drivers/staging/dabusb/Kconfig"

source "drivers/staging/se401/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
