OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2006 Jiri Benc <jbenc@suse.cz> | 2 * Copyright (c) 2006 Jiri Benc <jbenc@suse.cz> |
3 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> | 3 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 */ | 8 */ |
9 | 9 |
10 #include <linux/kernel.h> | 10 #include <linux/kernel.h> |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
77 { \ | 77 { \ |
78 return scnprintf(buf, buflen, format_string, sdata->field); \ | 78 return scnprintf(buf, buflen, format_string, sdata->field); \ |
79 } | 79 } |
80 #define IEEE80211_IF_FMT_DEC(name, field) \ | 80 #define IEEE80211_IF_FMT_DEC(name, field) \ |
81 IEEE80211_IF_FMT(name, field, "%d\n") | 81 IEEE80211_IF_FMT(name, field, "%d\n") |
82 #define IEEE80211_IF_FMT_HEX(name, field) \ | 82 #define IEEE80211_IF_FMT_HEX(name, field) \ |
83 IEEE80211_IF_FMT(name, field, "%#x\n") | 83 IEEE80211_IF_FMT(name, field, "%#x\n") |
84 #define IEEE80211_IF_FMT_SIZE(name, field) \ | 84 #define IEEE80211_IF_FMT_SIZE(name, field) \ |
85 IEEE80211_IF_FMT(name, field, "%zd\n") | 85 IEEE80211_IF_FMT(name, field, "%zd\n") |
86 | 86 |
87 #define IEEE80211_IF_FMT_BOOL(name, field) \ | |
88 static ssize_t ieee80211_if_fmt_##name( \ | |
89 const struct ieee80211_sub_if_data *sdata, char *buf, \ | |
90 int buflen) \ | |
91 { \ | |
92 return scnprintf(buf, buflen, "%s\n", sdata->field ? \ | |
93 "true" : "false"); \ | |
Sam Leffler
2010/12/01 00:23:44
dropped local changes
| |
94 } | |
95 | |
96 #define IEEE80211_IF_FMT_ATOMIC(name, field) \ | 87 #define IEEE80211_IF_FMT_ATOMIC(name, field) \ |
97 static ssize_t ieee80211_if_fmt_##name( \ | 88 static ssize_t ieee80211_if_fmt_##name( \ |
98 const struct ieee80211_sub_if_data *sdata, \ | 89 const struct ieee80211_sub_if_data *sdata, \ |
99 char *buf, int buflen) \ | 90 char *buf, int buflen) \ |
100 { \ | 91 { \ |
101 return scnprintf(buf, buflen, "%d\n", atomic_read(&sdata->field));\ | 92 return scnprintf(buf, buflen, "%d\n", atomic_read(&sdata->field));\ |
102 } | 93 } |
103 | 94 |
104 #define IEEE80211_IF_FMT_MAC(name, field) \ | 95 #define IEEE80211_IF_FMT_MAC(name, field) \ |
105 static ssize_t ieee80211_if_fmt_##name( \ | 96 static ssize_t ieee80211_if_fmt_##name( \ |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
152 IEEE80211_IF_FILE(rc_rateidx_mask_2ghz, rc_rateidx_mask[IEEE80211_BAND_2GHZ], | 143 IEEE80211_IF_FILE(rc_rateidx_mask_2ghz, rc_rateidx_mask[IEEE80211_BAND_2GHZ], |
153 HEX); | 144 HEX); |
154 IEEE80211_IF_FILE(rc_rateidx_mask_5ghz, rc_rateidx_mask[IEEE80211_BAND_5GHZ], | 145 IEEE80211_IF_FILE(rc_rateidx_mask_5ghz, rc_rateidx_mask[IEEE80211_BAND_5GHZ], |
155 HEX); | 146 HEX); |
156 | 147 |
157 /* STA attributes */ | 148 /* STA attributes */ |
158 IEEE80211_IF_FILE(bssid, u.mgd.bssid, MAC); | 149 IEEE80211_IF_FILE(bssid, u.mgd.bssid, MAC); |
159 IEEE80211_IF_FILE(aid, u.mgd.aid, DEC); | 150 IEEE80211_IF_FILE(aid, u.mgd.aid, DEC); |
160 IEEE80211_IF_FILE(last_beacon, u.mgd.last_beacon_signal, DEC); | 151 IEEE80211_IF_FILE(last_beacon, u.mgd.last_beacon_signal, DEC); |
161 IEEE80211_IF_FILE(ave_beacon, u.mgd.ave_beacon_signal, DEC_DIV_16); | 152 IEEE80211_IF_FILE(ave_beacon, u.mgd.ave_beacon_signal, DEC_DIV_16); |
162 IEEE80211_IF_FILE(dtim_period, local->hw.conf.ps_dtim_period, DEC); | |
163 IEEE80211_IF_FILE(beacon_int, vif.bss_conf.beacon_int, DEC); | |
164 IEEE80211_IF_FILE(cts_prot, vif.bss_conf.use_cts_prot, BOOL); | |
165 IEEE80211_IF_FILE(short_preamble, vif.bss_conf.use_short_preamble, BOOL); | |
166 IEEE80211_IF_FILE(short_slot, vif.bss_conf.use_short_slot, BOOL); | |
Sam Leffler
2010/12/01 00:23:44
local changes
| |
167 | 153 |
168 static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata, | 154 static int ieee80211_set_smps(struct ieee80211_sub_if_data *sdata, |
169 enum ieee80211_smps_mode smps_mode) | 155 enum ieee80211_smps_mode smps_mode) |
170 { | 156 { |
171 struct ieee80211_local *local = sdata->local; | 157 struct ieee80211_local *local = sdata->local; |
172 int err; | 158 int err; |
173 | 159 |
174 if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_STATIC_SMPS) && | 160 if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_STATIC_SMPS) && |
175 smps_mode == IEEE80211_SMPS_STATIC) | 161 smps_mode == IEEE80211_SMPS_STATIC) |
176 return -EINVAL; | 162 return -EINVAL; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
296 { | 282 { |
297 DEBUGFS_ADD(drop_unencrypted); | 283 DEBUGFS_ADD(drop_unencrypted); |
298 DEBUGFS_ADD(rc_rateidx_mask_2ghz); | 284 DEBUGFS_ADD(rc_rateidx_mask_2ghz); |
299 DEBUGFS_ADD(rc_rateidx_mask_5ghz); | 285 DEBUGFS_ADD(rc_rateidx_mask_5ghz); |
300 | 286 |
301 DEBUGFS_ADD(bssid); | 287 DEBUGFS_ADD(bssid); |
302 DEBUGFS_ADD(aid); | 288 DEBUGFS_ADD(aid); |
303 DEBUGFS_ADD(last_beacon); | 289 DEBUGFS_ADD(last_beacon); |
304 DEBUGFS_ADD(ave_beacon); | 290 DEBUGFS_ADD(ave_beacon); |
305 DEBUGFS_ADD_MODE(smps, 0600); | 291 DEBUGFS_ADD_MODE(smps, 0600); |
306 DEBUGFS_ADD(dtim_period); | |
307 DEBUGFS_ADD(beacon_int); | |
308 DEBUGFS_ADD(cts_prot); | |
309 DEBUGFS_ADD(short_preamble); | |
310 DEBUGFS_ADD(short_slot); | |
Sam Leffler
2010/12/01 00:23:44
local changes
| |
311 } | 292 } |
312 | 293 |
313 static void add_ap_files(struct ieee80211_sub_if_data *sdata) | 294 static void add_ap_files(struct ieee80211_sub_if_data *sdata) |
314 { | 295 { |
315 DEBUGFS_ADD(drop_unencrypted); | 296 DEBUGFS_ADD(drop_unencrypted); |
316 DEBUGFS_ADD(rc_rateidx_mask_2ghz); | 297 DEBUGFS_ADD(rc_rateidx_mask_2ghz); |
317 DEBUGFS_ADD(rc_rateidx_mask_5ghz); | 298 DEBUGFS_ADD(rc_rateidx_mask_5ghz); |
318 | 299 |
319 DEBUGFS_ADD(num_sta_ps); | 300 DEBUGFS_ADD(num_sta_ps); |
320 DEBUGFS_ADD(dtim_count); | 301 DEBUGFS_ADD(dtim_count); |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
448 dir = sdata->debugfs.dir; | 429 dir = sdata->debugfs.dir; |
449 | 430 |
450 if (!dir) | 431 if (!dir) |
451 return; | 432 return; |
452 | 433 |
453 sprintf(buf, "netdev:%s", sdata->name); | 434 sprintf(buf, "netdev:%s", sdata->name); |
454 if (!debugfs_rename(dir->d_parent, dir, dir->d_parent, buf)) | 435 if (!debugfs_rename(dir->d_parent, dir, dir->d_parent, buf)) |
455 printk(KERN_ERR "mac80211: debugfs: failed to rename debugfs " | 436 printk(KERN_ERR "mac80211: debugfs: failed to rename debugfs " |
456 "dir to %s\n", buf); | 437 "dir to %s\n", buf); |
457 } | 438 } |
OLD | NEW |