config CFG80211
	tristate "Improved wireless configuration API"
	depends on RFKILL || !RFKILL

config NL80211_TESTMODE
	bool "nl80211 testmode command"
	depends on CFG80211
	help
	  The nl80211 testmode command helps implementing things like
	  factory calibration or validation tools for wireless chips.

	  Select this option ONLY for kernels that are specifically
	  built for such purposes.

	  Debugging tools that are supposed to end up in the hands of
	  users should better be implemented with debugfs.

	  Say N.

config CFG80211_REG_DEBUG
	bool "cfg80211 regulatory debugging"
	depends on CFG80211
	default n
	---help---
	  You can enable this if you want to debug regulatory changes.

	  If unsure, say N.

config CFG80211_DEBUGFS
	bool "cfg80211 DebugFS entries"
	depends on CFG80211 && DEBUG_FS
	---help---
	  You can enable this if you want to debugfs entries for cfg80211.

	  If unsure, say N.

config WIRELESS_OLD_REGULATORY
	bool "Old wireless static regulatory definitions"
	default n
	---help---
	  This option enables the old static regulatory information
	  and uses it within the new framework. This option is available
	  for historical reasons and it is advised to leave it off.

	  For details see:

	  http://wireless.kernel.org/en/developers/Regulatory

	  Say N and if you say Y, please tell us why. The default is N.

config WIRELESS_EXT
	bool "Wireless extensions"
	default y
	---help---
	  This option enables the legacy wireless extensions
	  (wireless network interface configuration via ioctls.)

	  Say Y unless you've upgraded all your userspace to use
	  nl80211 instead of wireless extensions.

config WIRELESS_EXT_SYSFS
	bool "Wireless extensions sysfs files"
	default y
	depends on WIRELESS_EXT && SYSFS
	help
	  This option enables the deprecated wireless statistics
	  files in /sys/class/net/*/wireless/. The same information
	  is available via the ioctls as well.

	  Say Y if you have programs using it, like old versions of
	  hal.

config LIB80211
	tristate "Common routines for IEEE802.11 drivers"
	default n
	help
	  This options enables a library of common routines used
	  by IEEE802.11 wireless LAN drivers.

	  Drivers should select this themselves if needed.  Say Y if
	  you want this built into your kernel.

config LIB80211_CRYPT_WEP
	tristate

config LIB80211_CRYPT_CCMP
	tristate

config LIB80211_CRYPT_TKIP
	tristate

config LIB80211_DEBUG
	bool "lib80211 debugging messages"
	depends on LIB80211
	default n
	---help---
	  You can enable this if you want verbose debugging messages
	  from lib80211.

	  If unsure, say N.
