aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/driver-ops.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/driver-ops.h')
-rw-r--r--net/mac80211/driver-ops.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h
index eebf7a67daf..1425380983f 100644
--- a/net/mac80211/driver-ops.h
+++ b/net/mac80211/driver-ops.h
@@ -130,6 +130,37 @@ static inline void drv_bss_info_changed(struct ieee80211_local *local,
130 trace_drv_return_void(local); 130 trace_drv_return_void(local);
131} 131}
132 132
133static inline int drv_tx_sync(struct ieee80211_local *local,
134 struct ieee80211_sub_if_data *sdata,
135 const u8 *bssid,
136 enum ieee80211_tx_sync_type type)
137{
138 int ret = 0;
139
140 might_sleep();
141
142 trace_drv_tx_sync(local, sdata, bssid, type);
143 if (local->ops->tx_sync)
144 ret = local->ops->tx_sync(&local->hw, &sdata->vif,
145 bssid, type);
146 trace_drv_return_int(local, ret);
147 return ret;
148}
149
150static inline void drv_finish_tx_sync(struct ieee80211_local *local,
151 struct ieee80211_sub_if_data *sdata,
152 const u8 *bssid,
153 enum ieee80211_tx_sync_type type)
154{
155 might_sleep();
156
157 trace_drv_finish_tx_sync(local, sdata, bssid, type);
158 if (local->ops->finish_tx_sync)
159 local->ops->finish_tx_sync(&local->hw, &sdata->vif,
160 bssid, type);
161 trace_drv_return_void(local);
162}
163
133static inline u64 drv_prepare_multicast(struct ieee80211_local *local, 164static inline u64 drv_prepare_multicast(struct ieee80211_local *local,
134 struct netdev_hw_addr_list *mc_list) 165 struct netdev_hw_addr_list *mc_list)
135{ 166{
@@ -218,6 +249,16 @@ static inline int drv_hw_scan(struct ieee80211_local *local,
218 return ret; 249 return ret;
219} 250}
220 251
252static inline void drv_cancel_hw_scan(struct ieee80211_local *local,
253 struct ieee80211_sub_if_data *sdata)
254{
255 might_sleep();
256
257 trace_drv_cancel_hw_scan(local, sdata);
258 local->ops->cancel_hw_scan(&local->hw, &sdata->vif);
259 trace_drv_return_void(local);
260}
261
221static inline int 262static inline int
222drv_sched_scan_start(struct ieee80211_local *local, 263drv_sched_scan_start(struct ieee80211_local *local,
223 struct ieee80211_sub_if_data *sdata, 264 struct ieee80211_sub_if_data *sdata,
@@ -637,4 +678,22 @@ static inline int drv_set_bitrate_mask(struct ieee80211_local *local,
637 return ret; 678 return ret;
638} 679}
639 680
681static inline void drv_set_rekey_data(struct ieee80211_local *local,
682 struct ieee80211_sub_if_data *sdata,
683 struct cfg80211_gtk_rekey_data *data)
684{
685 trace_drv_set_rekey_data(local, sdata, data);
686 if (local->ops->set_rekey_data)
687 local->ops->set_rekey_data(&local->hw, &sdata->vif, data);
688 trace_drv_return_void(local);
689}
690
691static inline void drv_rssi_callback(struct ieee80211_local *local,
692 const enum ieee80211_rssi_event event)
693{
694 trace_drv_rssi_callback(local, event);
695 if (local->ops->rssi_callback)
696 local->ops->rssi_callback(&local->hw, event);
697 trace_drv_return_void(local);
698}
640#endif /* __MAC80211_DRIVER_OPS */ 699#endif /* __MAC80211_DRIVER_OPS */