Merge branch 'perf-fixes-for-linus' of git://tesla.tglx.de/git/linux-2.6-tip
[pandora-kernel.git] / net / mac80211 / driver-ops.h
index eebf7a6..1425380 100644 (file)
@@ -130,6 +130,37 @@ static inline void drv_bss_info_changed(struct ieee80211_local *local,
        trace_drv_return_void(local);
 }
 
+static inline int drv_tx_sync(struct ieee80211_local *local,
+                             struct ieee80211_sub_if_data *sdata,
+                             const u8 *bssid,
+                             enum ieee80211_tx_sync_type type)
+{
+       int ret = 0;
+
+       might_sleep();
+
+       trace_drv_tx_sync(local, sdata, bssid, type);
+       if (local->ops->tx_sync)
+               ret = local->ops->tx_sync(&local->hw, &sdata->vif,
+                                         bssid, type);
+       trace_drv_return_int(local, ret);
+       return ret;
+}
+
+static inline void drv_finish_tx_sync(struct ieee80211_local *local,
+                                     struct ieee80211_sub_if_data *sdata,
+                                     const u8 *bssid,
+                                     enum ieee80211_tx_sync_type type)
+{
+       might_sleep();
+
+       trace_drv_finish_tx_sync(local, sdata, bssid, type);
+       if (local->ops->finish_tx_sync)
+               local->ops->finish_tx_sync(&local->hw, &sdata->vif,
+                                          bssid, type);
+       trace_drv_return_void(local);
+}
+
 static inline u64 drv_prepare_multicast(struct ieee80211_local *local,
                                        struct netdev_hw_addr_list *mc_list)
 {
@@ -218,6 +249,16 @@ static inline int drv_hw_scan(struct ieee80211_local *local,
        return ret;
 }
 
+static inline void drv_cancel_hw_scan(struct ieee80211_local *local,
+                                     struct ieee80211_sub_if_data *sdata)
+{
+       might_sleep();
+
+       trace_drv_cancel_hw_scan(local, sdata);
+       local->ops->cancel_hw_scan(&local->hw, &sdata->vif);
+       trace_drv_return_void(local);
+}
+
 static inline int
 drv_sched_scan_start(struct ieee80211_local *local,
                     struct ieee80211_sub_if_data *sdata,
@@ -637,4 +678,22 @@ static inline int drv_set_bitrate_mask(struct ieee80211_local *local,
        return ret;
 }
 
+static inline void drv_set_rekey_data(struct ieee80211_local *local,
+                                     struct ieee80211_sub_if_data *sdata,
+                                     struct cfg80211_gtk_rekey_data *data)
+{
+       trace_drv_set_rekey_data(local, sdata, data);
+       if (local->ops->set_rekey_data)
+               local->ops->set_rekey_data(&local->hw, &sdata->vif, data);
+       trace_drv_return_void(local);
+}
+
+static inline void drv_rssi_callback(struct ieee80211_local *local,
+                                    const enum ieee80211_rssi_event event)
+{
+       trace_drv_rssi_callback(local, event);
+       if (local->ops->rssi_callback)
+               local->ops->rssi_callback(&local->hw, event);
+       trace_drv_return_void(local);
+}
 #endif /* __MAC80211_DRIVER_OPS */