diff options
author | Hila Gonen <hila.gonen@intel.com> | 2012-06-27 10:19:42 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-18 04:53:37 -0400 |
commit | e35e4d28b687d4e849573419fdcf90f1cce2a14c (patch) | |
tree | 981265aea6c76bc8288c6000c0e935c2bbdd7f90 /net/wireless/rdev-ops.h | |
parent | de7044ee85a9ba9e8529b0250f2882724407c977 (diff) |
cfg80211: add wrappers for registered_device_ops
This will allow adding central tracing like in mac80211.
Signed-off-by: Hila Gonen <hila.gonen@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/rdev-ops.h')
-rw-r--r-- | net/wireless/rdev-ops.h | 558 |
1 files changed, 558 insertions, 0 deletions
diff --git a/net/wireless/rdev-ops.h b/net/wireless/rdev-ops.h new file mode 100644 index 000000000000..b6fad29d656b --- /dev/null +++ b/net/wireless/rdev-ops.h | |||
@@ -0,0 +1,558 @@ | |||
1 | #ifndef __CFG80211_RDEV_OPS | ||
2 | #define __CFG80211_RDEV_OPS | ||
3 | |||
4 | #include <linux/rtnetlink.h> | ||
5 | #include <net/cfg80211.h> | ||
6 | #include "core.h" | ||
7 | |||
8 | static inline int rdev_suspend(struct cfg80211_registered_device *rdev) | ||
9 | { | ||
10 | return rdev->ops->suspend(&rdev->wiphy, rdev->wowlan); | ||
11 | } | ||
12 | |||
13 | static inline int rdev_resume(struct cfg80211_registered_device *rdev) | ||
14 | { | ||
15 | return rdev->ops->resume(&rdev->wiphy); | ||
16 | } | ||
17 | |||
18 | static inline void rdev_set_wakeup(struct cfg80211_registered_device *rdev, | ||
19 | bool enabled) | ||
20 | { | ||
21 | rdev->ops->set_wakeup(&rdev->wiphy, enabled); | ||
22 | } | ||
23 | |||
24 | static inline struct wireless_dev | ||
25 | *rdev_add_virtual_intf(struct cfg80211_registered_device *rdev, char *name, | ||
26 | enum nl80211_iftype type, u32 *flags, | ||
27 | struct vif_params *params) | ||
28 | { | ||
29 | return rdev->ops->add_virtual_intf(&rdev->wiphy, name, type, flags, | ||
30 | params); | ||
31 | } | ||
32 | |||
33 | static inline int | ||
34 | rdev_del_virtual_intf(struct cfg80211_registered_device *rdev, | ||
35 | struct wireless_dev *wdev) | ||
36 | { | ||
37 | return rdev->ops->del_virtual_intf(&rdev->wiphy, wdev); | ||
38 | } | ||
39 | |||
40 | static inline int | ||
41 | rdev_change_virtual_intf(struct cfg80211_registered_device *rdev, | ||
42 | struct net_device *dev, enum nl80211_iftype type, | ||
43 | u32 *flags, struct vif_params *params) | ||
44 | { | ||
45 | return rdev->ops->change_virtual_intf(&rdev->wiphy, dev, type, flags, | ||
46 | params); | ||
47 | } | ||
48 | |||
49 | static inline int rdev_add_key(struct cfg80211_registered_device *rdev, | ||
50 | struct net_device *netdev, u8 key_index, | ||
51 | bool pairwise, const u8 *mac_addr, | ||
52 | struct key_params *params) | ||
53 | { | ||
54 | return rdev->ops->add_key(&rdev->wiphy, netdev, key_index, pairwise, | ||
55 | mac_addr, params); | ||
56 | } | ||
57 | |||
58 | static inline int | ||
59 | rdev_get_key(struct cfg80211_registered_device *rdev, struct net_device *netdev, | ||
60 | u8 key_index, bool pairwise, const u8 *mac_addr, void *cookie, | ||
61 | void (*callback)(void *cookie, struct key_params*)) | ||
62 | { | ||
63 | return rdev->ops->get_key(&rdev->wiphy, netdev, key_index, pairwise, | ||
64 | mac_addr, cookie, callback); | ||
65 | } | ||
66 | |||
67 | static inline int rdev_del_key(struct cfg80211_registered_device *rdev, | ||
68 | struct net_device *netdev, u8 key_index, | ||
69 | bool pairwise, const u8 *mac_addr) | ||
70 | { | ||
71 | return rdev->ops->del_key(&rdev->wiphy, netdev, key_index, pairwise, | ||
72 | mac_addr); | ||
73 | } | ||
74 | |||
75 | static inline int | ||
76 | rdev_set_default_key(struct cfg80211_registered_device *rdev, | ||
77 | struct net_device *netdev, u8 key_index, bool unicast, | ||
78 | bool multicast) | ||
79 | { | ||
80 | return rdev->ops->set_default_key(&rdev->wiphy, netdev, key_index, | ||
81 | unicast, multicast); | ||
82 | } | ||
83 | |||
84 | static inline int | ||
85 | rdev_set_default_mgmt_key(struct cfg80211_registered_device *rdev, | ||
86 | struct net_device *netdev, u8 key_index) | ||
87 | { | ||
88 | return rdev->ops->set_default_mgmt_key(&rdev->wiphy, netdev, | ||
89 | key_index); | ||
90 | } | ||
91 | |||
92 | static inline int rdev_start_ap(struct cfg80211_registered_device *rdev, | ||
93 | struct net_device *dev, | ||
94 | struct cfg80211_ap_settings *settings) | ||
95 | { | ||
96 | return rdev->ops->start_ap(&rdev->wiphy, dev, settings); | ||
97 | } | ||
98 | |||
99 | static inline int rdev_change_beacon(struct cfg80211_registered_device *rdev, | ||
100 | struct net_device *dev, | ||
101 | struct cfg80211_beacon_data *info) | ||
102 | { | ||
103 | return rdev->ops->change_beacon(&rdev->wiphy, dev, info); | ||
104 | } | ||
105 | |||
106 | static inline int rdev_stop_ap(struct cfg80211_registered_device *rdev, | ||
107 | struct net_device *dev) | ||
108 | { | ||
109 | return rdev->ops->stop_ap(&rdev->wiphy, dev); | ||
110 | } | ||
111 | |||
112 | static inline int rdev_add_station(struct cfg80211_registered_device *rdev, | ||
113 | struct net_device *dev, u8 *mac, | ||
114 | struct station_parameters *params) | ||
115 | { | ||
116 | return rdev->ops->add_station(&rdev->wiphy, dev, mac, params); | ||
117 | } | ||
118 | |||
119 | static inline int rdev_del_station(struct cfg80211_registered_device *rdev, | ||
120 | struct net_device *dev, u8 *mac) | ||
121 | { | ||
122 | return rdev->ops->del_station(&rdev->wiphy, dev, mac); | ||
123 | } | ||
124 | |||
125 | static inline int rdev_change_station(struct cfg80211_registered_device *rdev, | ||
126 | struct net_device *dev, u8 *mac, | ||
127 | struct station_parameters *params) | ||
128 | { | ||
129 | return rdev->ops->change_station(&rdev->wiphy, dev, mac, params); | ||
130 | } | ||
131 | |||
132 | static inline int rdev_get_station(struct cfg80211_registered_device *rdev, | ||
133 | struct net_device *dev, u8 *mac, | ||
134 | struct station_info *sinfo) | ||
135 | { | ||
136 | return rdev->ops->get_station(&rdev->wiphy, dev, mac, sinfo); | ||
137 | } | ||
138 | |||
139 | static inline int rdev_dump_station(struct cfg80211_registered_device *rdev, | ||
140 | struct net_device *dev, int idx, u8 *mac, | ||
141 | struct station_info *sinfo) | ||
142 | { | ||
143 | return rdev->ops->dump_station(&rdev->wiphy, dev, idx, mac, sinfo); | ||
144 | } | ||
145 | |||
146 | static inline int rdev_add_mpath(struct cfg80211_registered_device *rdev, | ||
147 | struct net_device *dev, u8 *dst, u8 *next_hop) | ||
148 | { | ||
149 | return rdev->ops->add_mpath(&rdev->wiphy, dev, dst, next_hop); | ||
150 | } | ||
151 | |||
152 | static inline int rdev_del_mpath(struct cfg80211_registered_device *rdev, | ||
153 | struct net_device *dev, u8 *dst) | ||
154 | { | ||
155 | return rdev->ops->del_mpath(&rdev->wiphy, dev, dst); | ||
156 | } | ||
157 | |||
158 | static inline int rdev_change_mpath(struct cfg80211_registered_device *rdev, | ||
159 | struct net_device *dev, u8 *dst, | ||
160 | u8 *next_hop) | ||
161 | { | ||
162 | return rdev->ops->change_mpath(&rdev->wiphy, dev, dst, next_hop); | ||
163 | } | ||
164 | |||
165 | static inline int rdev_get_mpath(struct cfg80211_registered_device *rdev, | ||
166 | struct net_device *dev, u8 *dst, u8 *next_hop, | ||
167 | struct mpath_info *pinfo) | ||
168 | { | ||
169 | return rdev->ops->get_mpath(&rdev->wiphy, dev, dst, next_hop, pinfo); | ||
170 | } | ||
171 | |||
172 | static inline int rdev_dump_mpath(struct cfg80211_registered_device *rdev, | ||
173 | struct net_device *dev, int idx, u8 *dst, | ||
174 | u8 *next_hop, struct mpath_info *pinfo) | ||
175 | |||
176 | { | ||
177 | return rdev->ops->dump_mpath(&rdev->wiphy, dev, idx, dst, next_hop, | ||
178 | pinfo); | ||
179 | } | ||
180 | |||
181 | static inline int | ||
182 | rdev_get_mesh_config(struct cfg80211_registered_device *rdev, | ||
183 | struct net_device *dev, struct mesh_config *conf) | ||
184 | { | ||
185 | return rdev->ops->get_mesh_config(&rdev->wiphy, dev, conf); | ||
186 | } | ||
187 | |||
188 | static inline int | ||
189 | rdev_update_mesh_config(struct cfg80211_registered_device *rdev, | ||
190 | struct net_device *dev, u32 mask, | ||
191 | const struct mesh_config *nconf) | ||
192 | { | ||
193 | return rdev->ops->update_mesh_config(&rdev->wiphy, dev, mask, nconf); | ||
194 | } | ||
195 | |||
196 | static inline int rdev_join_mesh(struct cfg80211_registered_device *rdev, | ||
197 | struct net_device *dev, | ||
198 | const struct mesh_config *conf, | ||
199 | const struct mesh_setup *setup) | ||
200 | { | ||
201 | return rdev->ops->join_mesh(&rdev->wiphy, dev, conf, setup); | ||
202 | } | ||
203 | |||
204 | |||
205 | static inline int rdev_leave_mesh(struct cfg80211_registered_device *rdev, | ||
206 | struct net_device *dev) | ||
207 | { | ||
208 | return rdev->ops->leave_mesh(&rdev->wiphy, dev); | ||
209 | } | ||
210 | |||
211 | static inline int rdev_change_bss(struct cfg80211_registered_device *rdev, | ||
212 | struct net_device *dev, | ||
213 | struct bss_parameters *params) | ||
214 | |||
215 | { | ||
216 | return rdev->ops->change_bss(&rdev->wiphy, dev, params); | ||
217 | } | ||
218 | |||
219 | static inline int rdev_set_txq_params(struct cfg80211_registered_device *rdev, | ||
220 | struct net_device *dev, | ||
221 | struct ieee80211_txq_params *params) | ||
222 | |||
223 | { | ||
224 | return rdev->ops->set_txq_params(&rdev->wiphy, dev, params); | ||
225 | } | ||
226 | |||
227 | static inline int | ||
228 | rdev_libertas_set_mesh_channel(struct cfg80211_registered_device *rdev, | ||
229 | struct net_device *dev, | ||
230 | struct ieee80211_channel *chan) | ||
231 | { | ||
232 | return rdev->ops->libertas_set_mesh_channel(&rdev->wiphy, dev, chan); | ||
233 | } | ||
234 | |||
235 | static inline int | ||
236 | rdev_set_monitor_channel(struct cfg80211_registered_device *rdev, | ||
237 | struct ieee80211_channel *chan, | ||
238 | enum nl80211_channel_type channel_type) | ||
239 | { | ||
240 | return rdev->ops->set_monitor_channel(&rdev->wiphy, chan, | ||
241 | channel_type); | ||
242 | } | ||
243 | |||
244 | static inline int rdev_scan(struct cfg80211_registered_device *rdev, | ||
245 | struct cfg80211_scan_request *request) | ||
246 | { | ||
247 | return rdev->ops->scan(&rdev->wiphy, request); | ||
248 | } | ||
249 | |||
250 | static inline int rdev_auth(struct cfg80211_registered_device *rdev, | ||
251 | struct net_device *dev, | ||
252 | struct cfg80211_auth_request *req) | ||
253 | { | ||
254 | return rdev->ops->auth(&rdev->wiphy, dev, req); | ||
255 | } | ||
256 | |||
257 | static inline int rdev_assoc(struct cfg80211_registered_device *rdev, | ||
258 | struct net_device *dev, | ||
259 | struct cfg80211_assoc_request *req) | ||
260 | { | ||
261 | return rdev->ops->assoc(&rdev->wiphy, dev, req); | ||
262 | } | ||
263 | |||
264 | static inline int rdev_deauth(struct cfg80211_registered_device *rdev, | ||
265 | struct net_device *dev, | ||
266 | struct cfg80211_deauth_request *req) | ||
267 | { | ||
268 | return rdev->ops->deauth(&rdev->wiphy, dev, req); | ||
269 | } | ||
270 | |||
271 | static inline int rdev_disassoc(struct cfg80211_registered_device *rdev, | ||
272 | struct net_device *dev, | ||
273 | struct cfg80211_disassoc_request *req) | ||
274 | { | ||
275 | return rdev->ops->disassoc(&rdev->wiphy, dev, req); | ||
276 | } | ||
277 | |||
278 | static inline int rdev_connect(struct cfg80211_registered_device *rdev, | ||
279 | struct net_device *dev, | ||
280 | struct cfg80211_connect_params *sme) | ||
281 | { | ||
282 | return rdev->ops->connect(&rdev->wiphy, dev, sme); | ||
283 | } | ||
284 | |||
285 | static inline int rdev_disconnect(struct cfg80211_registered_device *rdev, | ||
286 | struct net_device *dev, u16 reason_code) | ||
287 | { | ||
288 | return rdev->ops->disconnect(&rdev->wiphy, dev, reason_code); | ||
289 | } | ||
290 | |||
291 | static inline int rdev_join_ibss(struct cfg80211_registered_device *rdev, | ||
292 | struct net_device *dev, | ||
293 | struct cfg80211_ibss_params *params) | ||
294 | { | ||
295 | return rdev->ops->join_ibss(&rdev->wiphy, dev, params); | ||
296 | } | ||
297 | |||
298 | static inline int rdev_leave_ibss(struct cfg80211_registered_device *rdev, | ||
299 | struct net_device *dev) | ||
300 | { | ||
301 | return rdev->ops->leave_ibss(&rdev->wiphy, dev); | ||
302 | } | ||
303 | |||
304 | static inline int | ||
305 | rdev_set_wiphy_params(struct cfg80211_registered_device *rdev, u32 changed) | ||
306 | { | ||
307 | return rdev->ops->set_wiphy_params(&rdev->wiphy, changed); | ||
308 | } | ||
309 | |||
310 | static inline int rdev_set_tx_power(struct cfg80211_registered_device *rdev, | ||
311 | enum nl80211_tx_power_setting type, int mbm) | ||
312 | { | ||
313 | return rdev->ops->set_tx_power(&rdev->wiphy, type, mbm); | ||
314 | } | ||
315 | |||
316 | static inline int rdev_get_tx_power(struct cfg80211_registered_device *rdev, | ||
317 | int *dbm) | ||
318 | { | ||
319 | return rdev->ops->get_tx_power(&rdev->wiphy, dbm); | ||
320 | } | ||
321 | |||
322 | static inline int rdev_set_wds_peer(struct cfg80211_registered_device *rdev, | ||
323 | struct net_device *dev, const u8 *addr) | ||
324 | { | ||
325 | return rdev->ops->set_wds_peer(&rdev->wiphy, dev, addr); | ||
326 | } | ||
327 | |||
328 | static inline void rdev_rfkill_poll(struct cfg80211_registered_device *rdev) | ||
329 | { | ||
330 | rdev->ops->rfkill_poll(&rdev->wiphy); | ||
331 | } | ||
332 | |||
333 | |||
334 | #ifdef CONFIG_NL80211_TESTMODE | ||
335 | static inline int rdev_testmode_cmd(struct cfg80211_registered_device *rdev, | ||
336 | void *data, int len) | ||
337 | { | ||
338 | return rdev->ops->testmode_cmd(&rdev->wiphy, data, len); | ||
339 | } | ||
340 | |||
341 | static inline int rdev_testmode_dump(struct cfg80211_registered_device *rdev, | ||
342 | struct sk_buff *skb, | ||
343 | struct netlink_callback *cb, void *data, | ||
344 | int len) | ||
345 | { | ||
346 | return rdev->ops->testmode_dump(&rdev->wiphy, skb, cb, data, | ||
347 | len); | ||
348 | } | ||
349 | #endif | ||
350 | |||
351 | static inline int | ||
352 | rdev_set_bitrate_mask(struct cfg80211_registered_device *rdev, | ||
353 | struct net_device *dev, const u8 *peer, | ||
354 | const struct cfg80211_bitrate_mask *mask) | ||
355 | { | ||
356 | return rdev->ops->set_bitrate_mask(&rdev->wiphy, dev, peer, mask); | ||
357 | } | ||
358 | |||
359 | static inline int rdev_dump_survey(struct cfg80211_registered_device *rdev, | ||
360 | struct net_device *netdev, int idx, | ||
361 | struct survey_info *info) | ||
362 | { | ||
363 | return rdev->ops->dump_survey(&rdev->wiphy, netdev, idx, info); | ||
364 | } | ||
365 | |||
366 | static inline int rdev_set_pmksa(struct cfg80211_registered_device *rdev, | ||
367 | struct net_device *netdev, | ||
368 | struct cfg80211_pmksa *pmksa) | ||
369 | { | ||
370 | return rdev->ops->set_pmksa(&rdev->wiphy, netdev, pmksa); | ||
371 | } | ||
372 | |||
373 | static inline int rdev_del_pmksa(struct cfg80211_registered_device *rdev, | ||
374 | struct net_device *netdev, | ||
375 | struct cfg80211_pmksa *pmksa) | ||
376 | { | ||
377 | return rdev->ops->del_pmksa(&rdev->wiphy, netdev, pmksa); | ||
378 | } | ||
379 | |||
380 | static inline int rdev_flush_pmksa(struct cfg80211_registered_device *rdev, | ||
381 | struct net_device *netdev) | ||
382 | { | ||
383 | return rdev->ops->flush_pmksa(&rdev->wiphy, netdev); | ||
384 | } | ||
385 | |||
386 | static inline int | ||
387 | rdev_remain_on_channel(struct cfg80211_registered_device *rdev, | ||
388 | struct wireless_dev *wdev, | ||
389 | struct ieee80211_channel *chan, | ||
390 | enum nl80211_channel_type channel_type, | ||
391 | unsigned int duration, u64 *cookie) | ||
392 | { | ||
393 | return rdev->ops->remain_on_channel(&rdev->wiphy, wdev, chan, | ||
394 | channel_type, duration, cookie); | ||
395 | } | ||
396 | |||
397 | static inline int | ||
398 | rdev_cancel_remain_on_channel(struct cfg80211_registered_device *rdev, | ||
399 | struct wireless_dev *wdev, u64 cookie) | ||
400 | { | ||
401 | return rdev->ops->cancel_remain_on_channel(&rdev->wiphy, wdev, cookie); | ||
402 | } | ||
403 | |||
404 | static inline int rdev_mgmt_tx(struct cfg80211_registered_device *rdev, | ||
405 | struct wireless_dev *wdev, | ||
406 | struct ieee80211_channel *chan, bool offchan, | ||
407 | enum nl80211_channel_type channel_type, | ||
408 | bool channel_type_valid, unsigned int wait, | ||
409 | const u8 *buf, size_t len, bool no_cck, | ||
410 | bool dont_wait_for_ack, u64 *cookie) | ||
411 | { | ||
412 | return rdev->ops->mgmt_tx(&rdev->wiphy, wdev, chan, offchan, | ||
413 | channel_type, channel_type_valid, wait, buf, | ||
414 | len, no_cck, dont_wait_for_ack, cookie); | ||
415 | } | ||
416 | |||
417 | static inline int | ||
418 | rdev_mgmt_tx_cancel_wait(struct cfg80211_registered_device *rdev, | ||
419 | struct wireless_dev *wdev, u64 cookie) | ||
420 | { | ||
421 | return rdev->ops->mgmt_tx_cancel_wait(&rdev->wiphy, wdev, cookie); | ||
422 | } | ||
423 | |||
424 | static inline int rdev_set_power_mgmt(struct cfg80211_registered_device *rdev, | ||
425 | struct net_device *dev, bool enabled, | ||
426 | int timeout) | ||
427 | { | ||
428 | return rdev->ops->set_power_mgmt(&rdev->wiphy, dev, enabled, timeout); | ||
429 | } | ||
430 | |||
431 | static inline int | ||
432 | rdev_set_cqm_rssi_config(struct cfg80211_registered_device *rdev, | ||
433 | struct net_device *dev, s32 rssi_thold, u32 rssi_hyst) | ||
434 | { | ||
435 | return rdev->ops->set_cqm_rssi_config(&rdev->wiphy, dev, rssi_thold, | ||
436 | rssi_hyst); | ||
437 | } | ||
438 | |||
439 | static inline int | ||
440 | rdev_set_cqm_txe_config(struct cfg80211_registered_device *rdev, | ||
441 | struct net_device *dev, u32 rate, u32 pkts, u32 intvl) | ||
442 | { | ||
443 | return rdev->ops->set_cqm_txe_config(&rdev->wiphy, dev, rate, pkts, | ||
444 | intvl); | ||
445 | } | ||
446 | |||
447 | static inline void | ||
448 | rdev_mgmt_frame_register(struct cfg80211_registered_device *rdev, | ||
449 | struct wireless_dev *wdev, u16 frame_type, bool reg) | ||
450 | { | ||
451 | rdev->ops->mgmt_frame_register(&rdev->wiphy, wdev , frame_type, | ||
452 | reg); | ||
453 | } | ||
454 | |||
455 | static inline int rdev_set_antenna(struct cfg80211_registered_device *rdev, | ||
456 | u32 tx_ant, u32 rx_ant) | ||
457 | { | ||
458 | return rdev->ops->set_antenna(&rdev->wiphy, tx_ant, rx_ant); | ||
459 | } | ||
460 | |||
461 | static inline int rdev_get_antenna(struct cfg80211_registered_device *rdev, | ||
462 | u32 *tx_ant, u32 *rx_ant) | ||
463 | { | ||
464 | return rdev->ops->get_antenna(&rdev->wiphy, tx_ant, rx_ant); | ||
465 | } | ||
466 | |||
467 | static inline int rdev_set_ringparam(struct cfg80211_registered_device *rdev, | ||
468 | u32 tx, u32 rx) | ||
469 | { | ||
470 | return rdev->ops->set_ringparam(&rdev->wiphy, tx, rx); | ||
471 | } | ||
472 | |||
473 | static inline void rdev_get_ringparam(struct cfg80211_registered_device *rdev, | ||
474 | u32 *tx, u32 *tx_max, u32 *rx, | ||
475 | u32 *rx_max) | ||
476 | { | ||
477 | rdev->ops->get_ringparam(&rdev->wiphy, tx, tx_max, rx, rx_max); | ||
478 | } | ||
479 | |||
480 | static inline int | ||
481 | rdev_sched_scan_start(struct cfg80211_registered_device *rdev, | ||
482 | struct net_device *dev, | ||
483 | struct cfg80211_sched_scan_request *request) | ||
484 | { | ||
485 | return rdev->ops->sched_scan_start(&rdev->wiphy, dev, request); | ||
486 | } | ||
487 | |||
488 | static inline int rdev_sched_scan_stop(struct cfg80211_registered_device *rdev, | ||
489 | struct net_device *dev) | ||
490 | { | ||
491 | return rdev->ops->sched_scan_stop(&rdev->wiphy, dev); | ||
492 | } | ||
493 | |||
494 | static inline int rdev_set_rekey_data(struct cfg80211_registered_device *rdev, | ||
495 | struct net_device *dev, | ||
496 | struct cfg80211_gtk_rekey_data *data) | ||
497 | { | ||
498 | return rdev->ops->set_rekey_data(&rdev->wiphy, dev, data); | ||
499 | } | ||
500 | |||
501 | static inline int rdev_tdls_mgmt(struct cfg80211_registered_device *rdev, | ||
502 | struct net_device *dev, u8 *peer, | ||
503 | u8 action_code, u8 dialog_token, | ||
504 | u16 status_code, const u8 *buf, size_t len) | ||
505 | { | ||
506 | return rdev->ops->tdls_mgmt(&rdev->wiphy, dev, peer, action_code, | ||
507 | dialog_token, status_code, buf, len); | ||
508 | } | ||
509 | |||
510 | static inline int rdev_tdls_oper(struct cfg80211_registered_device *rdev, | ||
511 | struct net_device *dev, u8 *peer, | ||
512 | enum nl80211_tdls_operation oper) | ||
513 | { | ||
514 | return rdev->ops->tdls_oper(&rdev->wiphy, dev, peer, oper); | ||
515 | } | ||
516 | |||
517 | static inline int rdev_probe_client(struct cfg80211_registered_device *rdev, | ||
518 | struct net_device *dev, const u8 *peer, | ||
519 | u64 *cookie) | ||
520 | { | ||
521 | return rdev->ops->probe_client(&rdev->wiphy, dev, peer, cookie); | ||
522 | } | ||
523 | |||
524 | static inline int rdev_set_noack_map(struct cfg80211_registered_device *rdev, | ||
525 | struct net_device *dev, u16 noack_map) | ||
526 | { | ||
527 | return rdev->ops->set_noack_map(&rdev->wiphy, dev, noack_map); | ||
528 | } | ||
529 | |||
530 | static inline int | ||
531 | rdev_get_et_sset_count(struct cfg80211_registered_device *rdev, | ||
532 | struct net_device *dev, int sset) | ||
533 | { | ||
534 | return rdev->ops->get_et_sset_count(&rdev->wiphy, dev, sset); | ||
535 | } | ||
536 | |||
537 | static inline void rdev_get_et_stats(struct cfg80211_registered_device *rdev, | ||
538 | struct net_device *dev, | ||
539 | struct ethtool_stats *stats, u64 *data) | ||
540 | { | ||
541 | rdev->ops->get_et_stats(&rdev->wiphy, dev, stats, data); | ||
542 | } | ||
543 | |||
544 | static inline void rdev_get_et_strings(struct cfg80211_registered_device *rdev, | ||
545 | struct net_device *dev, u32 sset, | ||
546 | u8 *data) | ||
547 | { | ||
548 | rdev->ops->get_et_strings(&rdev->wiphy, dev, sset, data); | ||
549 | } | ||
550 | |||
551 | static inline struct ieee80211_channel | ||
552 | *rdev_get_channel(struct cfg80211_registered_device *rdev, | ||
553 | struct wireless_dev *wdev, enum nl80211_channel_type *type) | ||
554 | { | ||
555 | return rdev->ops->get_channel(&rdev->wiphy, wdev, type); | ||
556 | } | ||
557 | |||
558 | #endif /* __CFG80211_RDEV_OPS */ | ||