diff options
Diffstat (limited to 'net/mac80211/debugfs.c')
-rw-r--r-- | net/mac80211/debugfs.c | 75 |
1 files changed, 5 insertions, 70 deletions
diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c index 96991b68f048..e4b54093d41b 100644 --- a/net/mac80211/debugfs.c +++ b/net/mac80211/debugfs.c | |||
@@ -1,3 +1,4 @@ | |||
1 | |||
1 | /* | 2 | /* |
2 | * mac80211 debugfs for wireless PHYs | 3 | * mac80211 debugfs for wireless PHYs |
3 | * | 4 | * |
@@ -38,16 +39,10 @@ static const struct file_operations name## _ops = { \ | |||
38 | }; | 39 | }; |
39 | 40 | ||
40 | #define DEBUGFS_ADD(name) \ | 41 | #define DEBUGFS_ADD(name) \ |
41 | local->debugfs.name = debugfs_create_file(#name, 0400, phyd, \ | 42 | debugfs_create_file(#name, 0400, phyd, local, &name## _ops); |
42 | local, &name## _ops); | ||
43 | 43 | ||
44 | #define DEBUGFS_ADD_MODE(name, mode) \ | 44 | #define DEBUGFS_ADD_MODE(name, mode) \ |
45 | local->debugfs.name = debugfs_create_file(#name, mode, phyd, \ | 45 | debugfs_create_file(#name, mode, phyd, local, &name## _ops); |
46 | local, &name## _ops); | ||
47 | |||
48 | #define DEBUGFS_DEL(name) \ | ||
49 | debugfs_remove(local->debugfs.name); \ | ||
50 | local->debugfs.name = NULL; | ||
51 | 46 | ||
52 | 47 | ||
53 | DEBUGFS_READONLY_FILE(frequency, 20, "%d", | 48 | DEBUGFS_READONLY_FILE(frequency, 20, "%d", |
@@ -57,7 +52,7 @@ DEBUGFS_READONLY_FILE(total_ps_buffered, 20, "%d", | |||
57 | DEBUGFS_READONLY_FILE(wep_iv, 20, "%#08x", | 52 | DEBUGFS_READONLY_FILE(wep_iv, 20, "%#08x", |
58 | local->wep_iv & 0xffffff); | 53 | local->wep_iv & 0xffffff); |
59 | DEBUGFS_READONLY_FILE(rate_ctrl_alg, 100, "%s", | 54 | DEBUGFS_READONLY_FILE(rate_ctrl_alg, 100, "%s", |
60 | local->rate_ctrl ? local->rate_ctrl->ops->name : "<unset>"); | 55 | local->rate_ctrl ? local->rate_ctrl->ops->name : "hw/driver"); |
61 | 56 | ||
62 | static ssize_t tsf_read(struct file *file, char __user *user_buf, | 57 | static ssize_t tsf_read(struct file *file, char __user *user_buf, |
63 | size_t count, loff_t *ppos) | 58 | size_t count, loff_t *ppos) |
@@ -233,12 +228,7 @@ static const struct file_operations stats_ ##name## _ops = { \ | |||
233 | }; | 228 | }; |
234 | 229 | ||
235 | #define DEBUGFS_STATS_ADD(name) \ | 230 | #define DEBUGFS_STATS_ADD(name) \ |
236 | local->debugfs.stats.name = debugfs_create_file(#name, 0400, statsd,\ | 231 | debugfs_create_file(#name, 0400, statsd, local, &stats_ ##name## _ops); |
237 | local, &stats_ ##name## _ops); | ||
238 | |||
239 | #define DEBUGFS_STATS_DEL(name) \ | ||
240 | debugfs_remove(local->debugfs.stats.name); \ | ||
241 | local->debugfs.stats.name = NULL; | ||
242 | 232 | ||
243 | DEBUGFS_STATS_FILE(transmitted_fragment_count, 20, "%u", | 233 | DEBUGFS_STATS_FILE(transmitted_fragment_count, 20, "%u", |
244 | local->dot11TransmittedFragmentCount); | 234 | local->dot11TransmittedFragmentCount); |
@@ -326,7 +316,6 @@ void debugfs_hw_add(struct ieee80211_local *local) | |||
326 | DEBUGFS_ADD(noack); | 316 | DEBUGFS_ADD(noack); |
327 | 317 | ||
328 | statsd = debugfs_create_dir("statistics", phyd); | 318 | statsd = debugfs_create_dir("statistics", phyd); |
329 | local->debugfs.statistics = statsd; | ||
330 | 319 | ||
331 | /* if the dir failed, don't put all the other things into the root! */ | 320 | /* if the dir failed, don't put all the other things into the root! */ |
332 | if (!statsd) | 321 | if (!statsd) |
@@ -367,57 +356,3 @@ void debugfs_hw_add(struct ieee80211_local *local) | |||
367 | DEBUGFS_STATS_ADD(dot11FCSErrorCount); | 356 | DEBUGFS_STATS_ADD(dot11FCSErrorCount); |
368 | DEBUGFS_STATS_ADD(dot11RTSSuccessCount); | 357 | DEBUGFS_STATS_ADD(dot11RTSSuccessCount); |
369 | } | 358 | } |
370 | |||
371 | void debugfs_hw_del(struct ieee80211_local *local) | ||
372 | { | ||
373 | DEBUGFS_DEL(frequency); | ||
374 | DEBUGFS_DEL(total_ps_buffered); | ||
375 | DEBUGFS_DEL(wep_iv); | ||
376 | DEBUGFS_DEL(tsf); | ||
377 | DEBUGFS_DEL(queues); | ||
378 | DEBUGFS_DEL(reset); | ||
379 | DEBUGFS_DEL(noack); | ||
380 | |||
381 | DEBUGFS_STATS_DEL(transmitted_fragment_count); | ||
382 | DEBUGFS_STATS_DEL(multicast_transmitted_frame_count); | ||
383 | DEBUGFS_STATS_DEL(failed_count); | ||
384 | DEBUGFS_STATS_DEL(retry_count); | ||
385 | DEBUGFS_STATS_DEL(multiple_retry_count); | ||
386 | DEBUGFS_STATS_DEL(frame_duplicate_count); | ||
387 | DEBUGFS_STATS_DEL(received_fragment_count); | ||
388 | DEBUGFS_STATS_DEL(multicast_received_frame_count); | ||
389 | DEBUGFS_STATS_DEL(transmitted_frame_count); | ||
390 | DEBUGFS_STATS_DEL(num_scans); | ||
391 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | ||
392 | DEBUGFS_STATS_DEL(tx_handlers_drop); | ||
393 | DEBUGFS_STATS_DEL(tx_handlers_queued); | ||
394 | DEBUGFS_STATS_DEL(tx_handlers_drop_unencrypted); | ||
395 | DEBUGFS_STATS_DEL(tx_handlers_drop_fragment); | ||
396 | DEBUGFS_STATS_DEL(tx_handlers_drop_wep); | ||
397 | DEBUGFS_STATS_DEL(tx_handlers_drop_not_assoc); | ||
398 | DEBUGFS_STATS_DEL(tx_handlers_drop_unauth_port); | ||
399 | DEBUGFS_STATS_DEL(rx_handlers_drop); | ||
400 | DEBUGFS_STATS_DEL(rx_handlers_queued); | ||
401 | DEBUGFS_STATS_DEL(rx_handlers_drop_nullfunc); | ||
402 | DEBUGFS_STATS_DEL(rx_handlers_drop_defrag); | ||
403 | DEBUGFS_STATS_DEL(rx_handlers_drop_short); | ||
404 | DEBUGFS_STATS_DEL(rx_handlers_drop_passive_scan); | ||
405 | DEBUGFS_STATS_DEL(tx_expand_skb_head); | ||
406 | DEBUGFS_STATS_DEL(tx_expand_skb_head_cloned); | ||
407 | DEBUGFS_STATS_DEL(rx_expand_skb_head); | ||
408 | DEBUGFS_STATS_DEL(rx_expand_skb_head2); | ||
409 | DEBUGFS_STATS_DEL(rx_handlers_fragments); | ||
410 | DEBUGFS_STATS_DEL(tx_status_drop); | ||
411 | #endif | ||
412 | DEBUGFS_STATS_DEL(dot11ACKFailureCount); | ||
413 | DEBUGFS_STATS_DEL(dot11RTSFailureCount); | ||
414 | DEBUGFS_STATS_DEL(dot11FCSErrorCount); | ||
415 | DEBUGFS_STATS_DEL(dot11RTSSuccessCount); | ||
416 | |||
417 | debugfs_remove(local->debugfs.statistics); | ||
418 | local->debugfs.statistics = NULL; | ||
419 | debugfs_remove(local->debugfs.stations); | ||
420 | local->debugfs.stations = NULL; | ||
421 | debugfs_remove(local->debugfs.keys); | ||
422 | local->debugfs.keys = NULL; | ||
423 | } | ||