5
5
#include "ieee80211_i.h"
6
6
#include "driver-trace.h"
8
static inline int drv_tx(struct ieee80211_local *local, struct sk_buff *skb)
8
static inline void drv_tx(struct ieee80211_local *local, struct sk_buff *skb)
10
return local->ops->tx(&local->hw, skb);
10
local->ops->tx(&local->hw, skb);
13
13
static inline int drv_start(struct ieee80211_local *local)
41
41
local->started = false;
45
static inline int drv_suspend(struct ieee80211_local *local,
46
struct cfg80211_wowlan *wowlan)
52
trace_drv_suspend(local);
53
ret = local->ops->suspend(&local->hw, wowlan);
54
trace_drv_return_int(local, ret);
58
static inline int drv_resume(struct ieee80211_local *local)
64
trace_drv_resume(local);
65
ret = local->ops->resume(&local->hw);
66
trace_drv_return_int(local, ret);
44
71
static inline int drv_add_interface(struct ieee80211_local *local,
45
72
struct ieee80211_vif *vif)
188
trace_drv_hw_scan(local, sdata, req);
215
trace_drv_hw_scan(local, sdata);
189
216
ret = local->ops->hw_scan(&local->hw, &sdata->vif, req);
190
217
trace_drv_return_int(local, ret);
222
drv_sched_scan_start(struct ieee80211_local *local,
223
struct ieee80211_sub_if_data *sdata,
224
struct cfg80211_sched_scan_request *req,
225
struct ieee80211_sched_scan_ies *ies)
231
trace_drv_sched_scan_start(local, sdata);
232
ret = local->ops->sched_scan_start(&local->hw, &sdata->vif,
234
trace_drv_return_int(local, ret);
238
static inline void drv_sched_scan_stop(struct ieee80211_local *local,
239
struct ieee80211_sub_if_data *sdata)
243
trace_drv_sched_scan_stop(local, sdata);
244
local->ops->sched_scan_stop(&local->hw, &sdata->vif);
245
trace_drv_return_void(local);
194
248
static inline void drv_sw_scan_start(struct ieee80211_local *local)
382
436
struct ieee80211_sub_if_data *sdata,
383
437
enum ieee80211_ampdu_mlme_action action,
384
438
struct ieee80211_sta *sta, u16 tid,
439
u16 *ssn, u8 buf_size)
387
441
int ret = -EOPNOTSUPP;
391
trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn);
445
trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn, buf_size);
393
447
if (local->ops->ampdu_action)
394
448
ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action,
449
sta, tid, ssn, buf_size);
397
451
trace_drv_return_int(local, ret);
552
static inline int drv_offchannel_tx(struct ieee80211_local *local,
554
struct ieee80211_channel *chan,
555
enum nl80211_channel_type channel_type,
562
trace_drv_offchannel_tx(local, skb, chan, channel_type, wait);
563
ret = local->ops->offchannel_tx(&local->hw, skb, chan,
565
trace_drv_return_int(local, ret);
570
static inline int drv_offchannel_tx_cancel_wait(struct ieee80211_local *local)
576
trace_drv_offchannel_tx_cancel_wait(local);
577
ret = local->ops->offchannel_tx_cancel_wait(&local->hw);
578
trace_drv_return_int(local, ret);
583
static inline int drv_set_ringparam(struct ieee80211_local *local,
590
trace_drv_set_ringparam(local, tx, rx);
591
if (local->ops->set_ringparam)
592
ret = local->ops->set_ringparam(&local->hw, tx, rx);
593
trace_drv_return_int(local, ret);
598
static inline void drv_get_ringparam(struct ieee80211_local *local,
599
u32 *tx, u32 *tx_max, u32 *rx, u32 *rx_max)
603
trace_drv_get_ringparam(local, tx, tx_max, rx, rx_max);
604
if (local->ops->get_ringparam)
605
local->ops->get_ringparam(&local->hw, tx, tx_max, rx, rx_max);
606
trace_drv_return_void(local);
609
static inline bool drv_tx_frames_pending(struct ieee80211_local *local)
615
trace_drv_tx_frames_pending(local);
616
if (local->ops->tx_frames_pending)
617
ret = local->ops->tx_frames_pending(&local->hw);
618
trace_drv_return_bool(local, ret);
623
static inline int drv_set_bitrate_mask(struct ieee80211_local *local,
624
struct ieee80211_sub_if_data *sdata,
625
const struct cfg80211_bitrate_mask *mask)
627
int ret = -EOPNOTSUPP;
631
trace_drv_set_bitrate_mask(local, sdata, mask);
632
if (local->ops->set_bitrate_mask)
633
ret = local->ops->set_bitrate_mask(&local->hw,
635
trace_drv_return_int(local, ret);
498
640
#endif /* __MAC80211_DRIVER_OPS */