Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
[safe/jmp/linux-2.6] / net / mac80211 / Kconfig
index 32c8c08..a10d508 100644 (file)
@@ -1,36 +1,85 @@
 config MAC80211
        tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
-       depends on EXPERIMENTAL
+       depends on CFG80211
        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.
+         This option enables the hardware independent IEEE 802.11
+         networking stack.
 
-config MAC80211_RCSIMPLE
-       bool "'simple' rate control algorithm"
+comment "CFG80211 needs to be enabled for MAC80211"
+       depends on CFG80211=n
+
+if 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
-       depends on MAC80211 && EMBEDDED
-       help
-         This option allows you to turn off the 'simple' rate
-         control algorithm in mac80211. If you do turn it off,
-         you absolutely need another rate control algorithm.
+       ---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
+         overridden 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.
 
-         Say Y unless you know you will have another algorithm
-         available.
+
+endchoice
+
+config MAC80211_RC_DEFAULT
+       string
+       default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
+       default "pid" if MAC80211_RC_DEFAULT_PID
+       default ""
+
+endif
+
+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 2.08 of the Mesh Networking
+        amendment.  However, no compliance with that draft is claimed or even
+        possible, as drafts leave a number of identifiers to be defined after
+        ratification.  For more information visit http://o11s.org/.
 
 config MAC80211_LEDS
        bool "Enable LED triggers"
-       depends on MAC80211 && LEDS_TRIGGERS
+       depends on MAC80211
+       select NEW_LEDS
+       select LEDS_TRIGGERS
        ---help---
-       This option enables a few LED triggers for different
-       packet receive/transmit events.
+         This option enables a few LED triggers for different
+         packet receive/transmit events.
 
 config MAC80211_DEBUGFS
        bool "Export mac80211 internals in DebugFS"
@@ -41,50 +90,142 @@ config MAC80211_DEBUGFS
 
          Say N unless you know you need this.
 
-config MAC80211_DEBUG
-       bool "Enable debugging output"
+menuconfig MAC80211_DEBUG_MENU
+       bool "Select mac80211 debugging features"
        depends on MAC80211
        ---help---
-         This option will enable debug tracing output for the
-         ieee80211 network stack.
+         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.
 
-         If you are not trying to debug or develop the ieee80211
-         subsystem, you most likely want to say N here.
+         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
+       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_LOWTX_FRAME_DUMP
-       bool "Debug frame dumping"
-       depends on MAC80211_DEBUG
+config MAC80211_HT_DEBUG
+       bool "Verbose HT debugging"
+       depends on MAC80211_DEBUG_MENU
        ---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.
+         This option enables 802.11n High Throughput features
+         debug tracing output.
 
-         If unsure, say N and insert the debugging code
-         you require into the driver you are debugging.
+         It should not be selected on production systems as some
+         of the messages are remotely triggerable.
 
-config TKIP_DEBUG
-       bool "TKIP debugging"
-       depends on MAC80211_DEBUG
+         Do not select this option.
 
-config MAC80211_DEBUG_COUNTERS
-       bool "Extra statistics for TX/RX debugging"
-       depends on MAC80211_DEBUG
+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 "Support for IBSS testing"
-       depends on MAC80211_DEBUG
+       bool "Verbose IBSS debugging"
+       depends on MAC80211_DEBUG_MENU
        ---help---
-         Say Y here if you intend to debug the IBSS code.
+         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
+       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---
-         Say Y here to print out verbose powersave
-         mode debug messages.
+         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_VERBOSE_MHWMP_DEBUG
+       bool "Verbose mesh HWMP routing debugging"
+       depends on MAC80211_DEBUG_MENU
+       depends on MAC80211_MESH
+       ---help---
+         Selecting this option causes mac80211 to print out very
+         verbose mesh routing (HWMP) 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_DRIVER_API_TRACER
+       bool "Driver API tracer"
+       depends on MAC80211_DEBUG_MENU
+       depends on EVENT_TRACING
+       help
+         Say Y here to make mac80211 register with the ftrace
+         framework for the driver API -- you can see which
+         driver methods it is calling then by looking at the
+         trace.
+
+         If unsure, say N.