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