diff options
Diffstat (limited to 'net/mac80211/driver-ops.h')
| -rw-r--r-- | net/mac80211/driver-ops.h | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index c3d844093a2f..4f2271316650 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h | |||
| @@ -84,16 +84,14 @@ static inline void drv_bss_info_changed(struct ieee80211_local *local, | |||
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | static inline u64 drv_prepare_multicast(struct ieee80211_local *local, | 86 | static inline u64 drv_prepare_multicast(struct ieee80211_local *local, |
| 87 | int mc_count, | 87 | struct netdev_hw_addr_list *mc_list) |
| 88 | struct dev_addr_list *mc_list) | ||
| 89 | { | 88 | { |
| 90 | u64 ret = 0; | 89 | u64 ret = 0; |
| 91 | 90 | ||
| 92 | if (local->ops->prepare_multicast) | 91 | if (local->ops->prepare_multicast) |
| 93 | ret = local->ops->prepare_multicast(&local->hw, mc_count, | 92 | ret = local->ops->prepare_multicast(&local->hw, mc_list); |
| 94 | mc_list); | ||
| 95 | 93 | ||
| 96 | trace_drv_prepare_multicast(local, mc_count, ret); | 94 | trace_drv_prepare_multicast(local, mc_list->count, ret); |
| 97 | 95 | ||
| 98 | return ret; | 96 | return ret; |
| 99 | } | 97 | } |
| @@ -154,14 +152,15 @@ static inline void drv_update_tkip_key(struct ieee80211_local *local, | |||
| 154 | } | 152 | } |
| 155 | 153 | ||
| 156 | static inline int drv_hw_scan(struct ieee80211_local *local, | 154 | static inline int drv_hw_scan(struct ieee80211_local *local, |
| 155 | struct ieee80211_sub_if_data *sdata, | ||
| 157 | struct cfg80211_scan_request *req) | 156 | struct cfg80211_scan_request *req) |
| 158 | { | 157 | { |
| 159 | int ret; | 158 | int ret; |
| 160 | 159 | ||
| 161 | might_sleep(); | 160 | might_sleep(); |
| 162 | 161 | ||
| 163 | ret = local->ops->hw_scan(&local->hw, req); | 162 | ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); |
| 164 | trace_drv_hw_scan(local, req, ret); | 163 | trace_drv_hw_scan(local, sdata, req, ret); |
| 165 | return ret; | 164 | return ret; |
| 166 | } | 165 | } |
| 167 | 166 | ||
| @@ -346,6 +345,15 @@ static inline int drv_ampdu_action(struct ieee80211_local *local, | |||
| 346 | return ret; | 345 | return ret; |
| 347 | } | 346 | } |
| 348 | 347 | ||
| 348 | static inline int drv_get_survey(struct ieee80211_local *local, int idx, | ||
| 349 | struct survey_info *survey) | ||
| 350 | { | ||
| 351 | int ret = -EOPNOTSUPP; | ||
| 352 | if (local->ops->conf_tx) | ||
| 353 | ret = local->ops->get_survey(&local->hw, idx, survey); | ||
| 354 | /* trace_drv_get_survey(local, idx, survey, ret); */ | ||
| 355 | return ret; | ||
| 356 | } | ||
| 349 | 357 | ||
| 350 | static inline void drv_rfkill_poll(struct ieee80211_local *local) | 358 | static inline void drv_rfkill_poll(struct ieee80211_local *local) |
| 351 | { | 359 | { |
| @@ -363,4 +371,15 @@ static inline void drv_flush(struct ieee80211_local *local, bool drop) | |||
| 363 | if (local->ops->flush) | 371 | if (local->ops->flush) |
| 364 | local->ops->flush(&local->hw, drop); | 372 | local->ops->flush(&local->hw, drop); |
| 365 | } | 373 | } |
| 374 | |||
| 375 | static inline void drv_channel_switch(struct ieee80211_local *local, | ||
| 376 | struct ieee80211_channel_switch *ch_switch) | ||
| 377 | { | ||
| 378 | might_sleep(); | ||
| 379 | |||
| 380 | local->ops->channel_switch(&local->hw, ch_switch); | ||
| 381 | |||
| 382 | trace_drv_channel_switch(local, ch_switch); | ||
| 383 | } | ||
| 384 | |||
| 366 | #endif /* __MAC80211_DRIVER_OPS */ | 385 | #endif /* __MAC80211_DRIVER_OPS */ |
