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_DEFAULT_PS
	bool "enable powersave by default"
	depends on CFG80211
	default y
	help
	  This option enables powersave mode by default.

	  If this causes your applications to misbehave you should fix your
	  applications instead -- they need to register their network
	  latency requirement, see Documentation/power/pm_qos_interface.txt.

config CFG80211_DEFAULT_PS_VALUE
	int
	default 1 if CFG80211_DEFAULT_PS
	default 0

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.
