mm, thp: change pmd_trans_huge_lock() to return taken lock
[linux-2.6.git] / net / mac80211 / Kconfig
blob97b5dcad50250d22bb5c5ad7ac41c18558d967ce
1 config MAC80211
2         tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
3         depends on CFG80211
4         select CRYPTO
5         select CRYPTO_ARC4
6         select CRYPTO_AES
7         select CRYPTO_CCM
8         select CRC32
9         select AVERAGE
10         ---help---
11           This option enables the hardware independent IEEE 802.11
12           networking stack.
14 comment "CFG80211 needs to be enabled for MAC80211"
15         depends on CFG80211=n
17 if MAC80211 != n
19 config MAC80211_HAS_RC
20         bool
22 config MAC80211_RC_PID
23         bool "PID controller based rate control algorithm" if EXPERT
24         select MAC80211_HAS_RC
25         ---help---
26           This option enables a TX rate control algorithm for
27           mac80211 that uses a PID controller to select the TX
28           rate.
30 config MAC80211_RC_MINSTREL
31         bool "Minstrel" if EXPERT
32         select MAC80211_HAS_RC
33         default y
34         ---help---
35           This option enables the 'minstrel' TX rate control algorithm
37 config MAC80211_RC_MINSTREL_HT
38         bool "Minstrel 802.11n support" if EXPERT
39         depends on MAC80211_RC_MINSTREL
40         default y
41         ---help---
42           This option enables the 'minstrel_ht' TX rate control algorithm
44 choice
45         prompt "Default rate control algorithm"
46         depends on MAC80211_HAS_RC
47         default MAC80211_RC_DEFAULT_MINSTREL
48         ---help---
49           This option selects the default rate control algorithm
50           mac80211 will use. Note that this default can still be
51           overridden through the ieee80211_default_rc_algo module
52           parameter if different algorithms are available.
54 config MAC80211_RC_DEFAULT_PID
55         bool "PID controller based rate control algorithm"
56         depends on MAC80211_RC_PID
57         ---help---
58           Select the PID controller based rate control as the
59           default rate control algorithm. You should choose
60           this unless you know what you are doing.
62 config MAC80211_RC_DEFAULT_MINSTREL
63         bool "Minstrel"
64         depends on MAC80211_RC_MINSTREL
65         ---help---
66           Select Minstrel as the default rate control algorithm.
69 endchoice
71 config MAC80211_RC_DEFAULT
72         string
73         default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
74         default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
75         default "pid" if MAC80211_RC_DEFAULT_PID
76         default ""
78 endif
80 comment "Some wireless drivers require a rate control algorithm"
81         depends on MAC80211 && MAC80211_HAS_RC=n
83 config MAC80211_MESH
84         bool "Enable mac80211 mesh networking (pre-802.11s) support"
85         depends on MAC80211
86         ---help---
87          This options enables support of Draft 802.11s mesh networking.
88          The implementation is based on Draft 2.08 of the Mesh Networking
89          amendment.  However, no compliance with that draft is claimed or even
90          possible, as drafts leave a number of identifiers to be defined after
91          ratification.  For more information visit http://o11s.org/.
93 config MAC80211_LEDS
94         bool "Enable LED triggers"
95         depends on MAC80211
96         depends on LEDS_CLASS
97         select LEDS_TRIGGERS
98         ---help---
99           This option enables a few LED triggers for different
100           packet receive/transmit events.
102 config MAC80211_DEBUGFS
103         bool "Export mac80211 internals in DebugFS"
104         depends on MAC80211 && DEBUG_FS
105         ---help---
106           Select this to see extensive information about
107           the internal state of mac80211 in debugfs.
109           Say N unless you know you need this.
111 config MAC80211_MESSAGE_TRACING
112         bool "Trace all mac80211 debug messages"
113         depends on MAC80211
114         ---help---
115           Select this option to have mac80211 register the
116           mac80211_msg trace subsystem with tracepoints to
117           collect all debugging messages, independent of
118           printing them into the kernel log.
120           The overhead in this option is that all the messages
121           need to be present in the binary and formatted at
122           runtime for tracing.
124 menuconfig MAC80211_DEBUG_MENU
125         bool "Select mac80211 debugging features"
126         depends on MAC80211
127         ---help---
128           This option collects various mac80211 debug settings.
130 config MAC80211_NOINLINE
131         bool "Do not inline TX/RX handlers"
132         depends on MAC80211_DEBUG_MENU
133         ---help---
134           This option affects code generation in mac80211, when
135           selected some functions are marked "noinline" to allow
136           easier debugging of problems in the transmit and receive
137           paths.
139           This option increases code size a bit and inserts a lot
140           of function calls in the code, but is otherwise safe to
141           enable.
143           If unsure, say N unless you expect to be finding problems
144           in mac80211.
146 config MAC80211_VERBOSE_DEBUG
147         bool "Verbose debugging output"
148         depends on MAC80211_DEBUG_MENU
149         ---help---
150           Selecting this option causes mac80211 to print out
151           many debugging messages. It should not be selected
152           on production systems as some of the messages are
153           remotely triggerable.
155           Do not select this option.
157 config MAC80211_MLME_DEBUG
158         bool "Verbose managed MLME output"
159         depends on MAC80211_DEBUG_MENU
160         ---help---
161           Selecting this option causes mac80211 to print out
162           debugging messages for the managed-mode MLME. It
163           should not be selected on production systems as some
164           of the messages are remotely triggerable.
166           Do not select this option.
168 config MAC80211_STA_DEBUG
169         bool "Verbose station debugging"
170         depends on MAC80211_DEBUG_MENU
171         ---help---
172           Selecting this option causes mac80211 to print out
173           debugging messages for station addition/removal.
175           Do not select this option.
177 config MAC80211_HT_DEBUG
178         bool "Verbose HT debugging"
179         depends on MAC80211_DEBUG_MENU
180         ---help---
181           This option enables 802.11n High Throughput features
182           debug tracing output.
184           It should not be selected on production systems as some
185           of the messages are remotely triggerable.
187           Do not select this option.
189 config MAC80211_IBSS_DEBUG
190         bool "Verbose IBSS debugging"
191         depends on MAC80211_DEBUG_MENU
192         ---help---
193           Selecting this option causes mac80211 to print out
194           very verbose IBSS debugging messages. It should not
195           be selected on production systems as those messages
196           are remotely triggerable.
198           Do not select this option.
200 config MAC80211_PS_DEBUG
201         bool "Verbose powersave mode debugging"
202         depends on MAC80211_DEBUG_MENU
203         ---help---
204           Selecting this option causes mac80211 to print out very
205           verbose power save mode debugging messages (when mac80211
206           is an AP and has power saving stations.)
207           It should not be selected on production systems as those
208           messages are remotely triggerable.
210           Do not select this option.
212 config MAC80211_MPL_DEBUG
213         bool "Verbose mesh peer link debugging"
214         depends on MAC80211_DEBUG_MENU
215         depends on MAC80211_MESH
216         ---help---
217           Selecting this option causes mac80211 to print out very
218           verbose mesh peer link debugging messages (when mac80211
219           is taking part in a mesh network).
220           It should not be selected on production systems as those
221           messages are remotely triggerable.
223           Do not select this option.
225 config MAC80211_MPATH_DEBUG
226         bool "Verbose mesh path debugging"
227         depends on MAC80211_DEBUG_MENU
228         depends on MAC80211_MESH
229         ---help---
230           Selecting this option causes mac80211 to print out very
231           verbose mesh path selection debugging messages (when mac80211
232           is taking part in a mesh network).
233           It should not be selected on production systems as those
234           messages are remotely triggerable.
236           Do not select this option.
238 config MAC80211_MHWMP_DEBUG
239         bool "Verbose mesh HWMP routing debugging"
240         depends on MAC80211_DEBUG_MENU
241         depends on MAC80211_MESH
242         ---help---
243           Selecting this option causes mac80211 to print out very
244           verbose mesh routing (HWMP) debugging messages (when mac80211
245           is taking part in a mesh network).
246           It should not be selected on production systems as those
247           messages are remotely triggerable.
249           Do not select this option.
251 config MAC80211_MESH_SYNC_DEBUG
252         bool "Verbose mesh synchronization debugging"
253         depends on MAC80211_DEBUG_MENU
254         depends on MAC80211_MESH
255         ---help---
256           Selecting this option causes mac80211 to print out very verbose mesh
257           synchronization debugging messages (when mac80211 is taking part in a
258           mesh network).
260           Do not select this option.
262 config MAC80211_MESH_CSA_DEBUG
263         bool "Verbose mesh channel switch debugging"
264         depends on MAC80211_DEBUG_MENU
265         depends on MAC80211_MESH
266         ---help---
267           Selecting this option causes mac80211 to print out very verbose mesh
268           channel switch debugging messages (when mac80211 is taking part in a
269           mesh network).
271           Do not select this option.
273 config MAC80211_MESH_PS_DEBUG
274         bool "Verbose mesh powersave debugging"
275         depends on MAC80211_DEBUG_MENU
276         depends on MAC80211_MESH
277         ---help---
278           Selecting this option causes mac80211 to print out very verbose mesh
279           powersave debugging messages (when mac80211 is taking part in a
280           mesh network).
282           Do not select this option.
284 config MAC80211_TDLS_DEBUG
285         bool "Verbose TDLS debugging"
286         depends on MAC80211_DEBUG_MENU
287         ---help---
288           Selecting this option causes mac80211 to print out very
289           verbose TDLS selection debugging messages (when mac80211
290           is a TDLS STA).
291           It should not be selected on production systems as those
292           messages are remotely triggerable.
294           Do not select this option.
296 config MAC80211_DEBUG_COUNTERS
297         bool "Extra statistics for TX/RX debugging"
298         depends on MAC80211_DEBUG_MENU
299         depends on MAC80211_DEBUGFS
300         ---help---
301           Selecting this option causes mac80211 to keep additional
302           and very verbose statistics about TX and RX handler use
303           and show them in debugfs.
305           If unsure, say N.