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

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

choice
	prompt "Default rate control algorithm"
	default MAC80211_RC_DEFAULT_PID
	---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"
	select 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_SIMPLE
	bool "Simple rate control algorithm"
	select MAC80211_RC_SIMPLE
	---help---
	  Select the simple rate control as the default rate
	  control algorithm. Note that this is a non-responsive,
	  dumb algorithm. You should choose the PID rate control
	  instead.

config MAC80211_RC_DEFAULT_NONE
	bool "No default algorithm"
	depends on EMBEDDED
	help
	  Selecting this option will select no default algorithm
	  and allow you to not build any. Do not choose this
	  option unless you know your driver comes with another
	  suitable algorithm.
endchoice

comment "Selecting 'y' for an algorithm will"
comment "build the algorithm into mac80211."

config MAC80211_RC_DEFAULT
	string
	default "pid" if MAC80211_RC_DEFAULT_PID
	default "simple" if MAC80211_RC_DEFAULT_SIMPLE
	default ""

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

	  Say Y or M unless you're sure you want to use a
	  different rate control algorithm.

config MAC80211_RC_SIMPLE
	tristate "Simple rate control algorithm (DEPRECATED)"
	---help---
	  This option enables a very simple, non-responsive TX
	  rate control algorithm. This algorithm is deprecated
	  and will be removed from the kernel in the near future.
	  It has been replaced by the PID algorithm.

	  Say N unless you know what you are doing.
endmenu

config MAC80211_LEDS
	bool "Enable LED triggers"
	depends on MAC80211 && 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.

config MAC80211_DEBUG_PACKET_ALIGNMENT
	bool "Enable packet alignment debugging"
	depends on MAC80211
	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_DEBUG
	bool "Enable debugging output"
	depends on MAC80211
	---help---
	  This option will enable debug tracing output for the
	  ieee80211 network stack.

	  If you are not trying to debug or develop the ieee80211
	  subsystem, you most likely want to say N here.

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

	  If you are not trying to debug of develop the ieee80211
	  subsystem, you most likely want to say N here.

config MAC80211_VERBOSE_DEBUG
	bool "Verbose debugging output"
	depends on MAC80211_DEBUG

config MAC80211_LOWTX_FRAME_DUMP
	bool "Debug frame dumping"
	depends on MAC80211_DEBUG
	---help---
	  Selecting this option will cause the stack to
	  print a message for each frame that is handed
	  to the lowlevel driver for transmission. This
	  message includes all MAC addresses and the
	  frame control field.

	  If unsure, say N and insert the debugging code
	  you require into the driver you are debugging.

config TKIP_DEBUG
	bool "TKIP debugging"
	depends on MAC80211_DEBUG

config MAC80211_DEBUG_COUNTERS
	bool "Extra statistics for TX/RX debugging"
	depends on MAC80211_DEBUG

config MAC80211_IBSS_DEBUG
	bool "Support for IBSS testing"
	depends on MAC80211_DEBUG
	---help---
	  Say Y here if you intend to debug the IBSS code.

config MAC80211_VERBOSE_PS_DEBUG
	bool "Verbose powersave mode debugging"
	depends on MAC80211_DEBUG
	---help---
	  Say Y here to print out verbose powersave
	  mode debug messages.
