sctp: fix sctp_setsockopt_autoclose compile warning
[safe/jmp/linux-2.6] / net / mac80211 / Kconfig
index 590e00b..a10d508 100644 (file)
@@ -1,87 +1,76 @@
 config MAC80211
        tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
+       depends on CFG80211
        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.
 
-config MAC80211_QOS
-       def_bool y
-       depends on MAC80211
-       depends on NET_SCHED
-       depends on NETDEVICES_MULTIQUEUE
+comment "CFG80211 needs to be enabled for MAC80211"
+       depends on CFG80211=n
 
-comment "QoS/HT support disabled"
-       depends on MAC80211 && !MAC80211_QOS
-comment "QoS/HT support needs CONFIG_NET_SCHED"
-       depends on MAC80211 && !NET_SCHED
-comment "QoS/HT support needs CONFIG_NETDEVICES_MULTIQUEUE"
-       depends on MAC80211 && !NETDEVICES_MULTIQUEUE
+if MAC80211 != n
 
-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_PID
+       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
+         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"
-       select MAC80211_RC_PID
+       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_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
+config MAC80211_RC_DEFAULT_MINSTREL
+       bool "Minstrel"
+       depends on MAC80211_RC_MINSTREL
+       ---help---
+         Select Minstrel as the default rate control algorithm.
+
 
-comment "Selecting 'y' for an algorithm will"
-comment "build the algorithm into mac80211."
+endchoice
 
 config MAC80211_RC_DEFAULT
        string
+       default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
        default "pid" if MAC80211_RC_DEFAULT_PID
        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.
-
-endmenu
+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 1.08 of the Mesh Networking
-        amendment. For more information visit http://o11s.org/.
-
+        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"
@@ -101,10 +90,16 @@ config MAC80211_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
-       help
+       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
@@ -113,67 +108,124 @@ config MAC80211_DEBUG_PACKET_ALIGNMENT
 
          Say N unless you're writing a mac80211 based driver.
 
-config MAC80211_DEBUG
-       bool "Enable debugging output"
-       depends on MAC80211
+config MAC80211_NOINLINE
+       bool "Do not inline TX/RX handlers"
+       depends on MAC80211_DEBUG_MENU
        ---help---
-         This option will enable debug tracing output for the
-         ieee80211 network stack.
+         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.
 
-         If you are not trying to debug or develop the ieee80211
-         subsystem, you most likely want to say N here.
+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 "Enable HT debugging output"
-       depends on MAC80211_DEBUG
+       bool "Verbose HT debugging"
+       depends on MAC80211_DEBUG_MENU
        ---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.
+         It should not be selected on production systems as some
+         of the messages are remotely triggerable.
 
-config MAC80211_VERBOSE_DEBUG
-       bool "Verbose debugging output"
-       depends on MAC80211_DEBUG
+         Do not select this option.
 
-config MAC80211_LOWTX_FRAME_DUMP
-       bool "Debug frame dumping"
-       depends on MAC80211_DEBUG
+config MAC80211_TKIP_DEBUG
+       bool "Verbose TKIP 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.
+         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.
 
-         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
+         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---
-         Say Y here to print out verbose powersave
-         mode debug messages.
+         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 && MAC80211_MESH
+       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_VERBOSE_MHWMP_DEBUG
+       bool "Verbose mesh HWMP routing debugging"
+       depends on MAC80211_DEBUG_MENU
+       depends on MAC80211_MESH
        ---help---
-         Say Y here to print out verbose mesh peer link
-         debug messages.
+         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.