config MAC80211
	tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
	select CRYPTO
	select CRYPTO_ECB
	select CRYPTO_ARC4
	select CRYPTO_AES
	select CRC32
	select WIRELESS_EXT
	select CFG80211
	---help---
	  This option enables the hardware independent IEEE 802.11
	  networking stack.

menu "Rate control algorithm selection"
	depends on MAC80211 != n

config MAC80211_RC_PID
	bool "PID controller based rate control algorithm" if EMBEDDED
	---help---
	  This option enables a TX rate control algorithm for
	  mac80211 that uses a PID controller to select the TX
	  rate.

config MAC80211_RC_MINSTREL
	bool "Minstrel" if EMBEDDED
	default y
	---help---
	  This option enables the 'minstrel' TX rate control algorithm

choice
	prompt "Default rate control algorithm"
	default MAC80211_RC_DEFAULT_MINSTREL
	---help---
	  This option selects the default rate control algorithm
	  mac80211 will use. Note that this default can still be
	  overriden through the ieee80211_default_rc_algo module
	  parameter if different algorithms are available.

config MAC80211_RC_DEFAULT_PID
	bool "PID controller based rate control algorithm"
	depends on MAC80211_RC_PID
	---help---
	  Select the PID controller based rate control as the
	  default rate control algorithm. You should choose
	  this unless you know what you are doing.

config MAC80211_RC_DEFAULT_MINSTREL
	bool "Minstrel"
	depends on MAC80211_RC_MINSTREL
	---help---
	  Select Minstrel as the default rate control algorithm.


endchoice

config MAC80211_RC_DEFAULT
	string
	default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
	default "pid" if MAC80211_RC_DEFAULT_PID
	default ""

endmenu

config MAC80211_MESH
	bool "Enable mac80211 mesh networking (pre-802.11s) support"
	depends on MAC80211 && EXPERIMENTAL
	---help---
	 This options enables support of Draft 802.11s mesh networking.
	 The implementation is based on Draft 1.08 of the Mesh Networking
	 amendment. For more information visit http://o11s.org/.


config MAC80211_LEDS
	bool "Enable LED triggers"
	depends on MAC80211
	select NEW_LEDS
	select LEDS_TRIGGERS
	---help---
	  This option enables a few LED triggers for different
	  packet receive/transmit events.

config MAC80211_DEBUGFS
	bool "Export mac80211 internals in DebugFS"
	depends on MAC80211 && DEBUG_FS
	---help---
	  Select this to see extensive information about
	  the internal state of mac80211 in debugfs.

	  Say N unless you know you need this.

menuconfig MAC80211_DEBUG_MENU
	bool "Select mac80211 debugging features"
	depends on MAC80211
	---help---
	  This option collects various mac80211 debug settings.

config MAC80211_DEBUG_PACKET_ALIGNMENT
	bool "Enable packet alignment debugging"
	depends on MAC80211_DEBUG_MENU
	---help---
	  This option is recommended for driver authors and strongly
	  discouraged for everybody else, it will trigger a warning
	  when a driver hands mac80211 a buffer that is aligned in
	  a way that will cause problems with the IP stack on some
	  architectures.

	  Say N unless you're writing a mac80211 based driver.

config MAC80211_NOINLINE
	bool "Do not inline TX/RX handlers"
	depends on MAC80211_DEBUG_MENU
	---help---
	  This option affects code generation in mac80211, when
	  selected some functions are marked "noinline" to allow
	  easier debugging of problems in the transmit and receive
	  paths.

	  This option increases code size a bit and inserts a lot
	  of function calls in the code, but is otherwise safe to
	  enable.

	  If unsure, say N unless you expect to be finding problems
	  in mac80211.

config MAC80211_VERBOSE_DEBUG
	bool "Verbose debugging output"
	depends on MAC80211_DEBUG_MENU
	---help---
	  Selecting this option causes mac80211 to print out
	  many debugging messages. It should not be selected
	  on production systems as some of the messages are
	  remotely triggerable.

	  Do not select this option.

config MAC80211_HT_DEBUG
	bool "Verbose HT debugging"
	depends on MAC80211_DEBUG_MENU
	---help---
	  This option enables 802.11n High Throughput features
	  debug tracing output.

	  It should not be selected on production systems as some
	  of the messages are remotely triggerable.

	  Do not select this option.

config MAC80211_TKIP_DEBUG
	bool "Verbose TKIP debugging"
	depends on MAC80211_DEBUG_MENU
	---help---
	  Selecting this option causes mac80211 to print out
	  very verbose TKIP debugging messages. It should not
	  be selected on production systems as those messages
	  are remotely triggerable.

	  Do not select this option.

config MAC80211_IBSS_DEBUG
	bool "Verbose IBSS debugging"
	depends on MAC80211_DEBUG_MENU
	---help---
	  Selecting this option causes mac80211 to print out
	  very verbose IBSS debugging messages. It should not
	  be selected on production systems as those messages
	  are remotely triggerable.

	  Do not select this option.

config MAC80211_VERBOSE_PS_DEBUG
	bool "Verbose powersave mode debugging"
	depends on MAC80211_DEBUG_MENU
	---help---
	  Selecting this option causes mac80211 to print out very
	  verbose power save mode debugging messages (when mac80211
	  is an AP and has power saving stations.)
	  It should not be selected on production systems as those
	  messages are remotely triggerable.

	  Do not select this option.

config MAC80211_VERBOSE_MPL_DEBUG
	bool "Verbose mesh peer link debugging"
	depends on MAC80211_DEBUG_MENU
	depends on MAC80211_MESH
	---help---
	  Selecting this option causes mac80211 to print out very
	  verbose mesh peer link debugging messages (when mac80211
	  is taking part in a mesh network).
	  It should not be selected on production systems as those
	  messages are remotely triggerable.

	  Do not select this option.

config MAC80211_DEBUG_COUNTERS
	bool "Extra statistics for TX/RX debugging"
	depends on MAC80211_DEBUG_MENU
	depends on MAC80211_DEBUGFS
	---help---
	  Selecting this option causes mac80211 to keep additional
	  and very verbose statistics about TX and RX handler use
	  and show them in debugfs.

	  If unsure, say N.

config MAC80211_VERBOSE_SPECT_MGMT_DEBUG
	bool "Verbose Spectrum Management (IEEE 802.11h)debugging"
	depends on MAC80211_DEBUG_MENU
	---help---
	  Say Y here to print out verbose Spectrum Management (IEEE 802.11h)
	  debug messages.
