diff options
author | Eliad Peller <eliad@wizery.com> | 2014-11-04 04:43:54 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-11-04 07:49:00 -0500 |
commit | cf2c92d840c1424bcb3bb501147c79c9b067ad77 (patch) | |
tree | 60629accc499abd5c660e5330ea5880942672e3e /include/net/mac80211.h | |
parent | 13a8098af93e31788684c1f2682739beb93dc680 (diff) |
mac80211: replace restart_complete() with reconfig_complete()
Drivers might want to know also when mac80211 has
completed reconfiguring after resume (e.g. in order
to know when frames can be passed to mac80211).
Rename restart_complete() to a more-generic reconfig_complete(),
and add a new enum to indicate the reconfiguration type.
Update the current users with the new prototype.
Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index db54635d65c5..5f203a6a5e7e 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -2389,6 +2389,22 @@ enum ieee80211_roc_type { | |||
2389 | }; | 2389 | }; |
2390 | 2390 | ||
2391 | /** | 2391 | /** |
2392 | * enum ieee80211_reconfig_complete_type - reconfig type | ||
2393 | * | ||
2394 | * This enum is used by the reconfig_complete() callback to indicate what | ||
2395 | * reconfiguration type was completed. | ||
2396 | * | ||
2397 | * @IEEE80211_RECONFIG_TYPE_RESTART: hw restart type | ||
2398 | * (also due to resume() callback returning 1) | ||
2399 | * @IEEE80211_RECONFIG_TYPE_SUSPEND: suspend type (regardless | ||
2400 | * of wowlan configuration) | ||
2401 | */ | ||
2402 | enum ieee80211_reconfig_type { | ||
2403 | IEEE80211_RECONFIG_TYPE_RESTART, | ||
2404 | IEEE80211_RECONFIG_TYPE_SUSPEND, | ||
2405 | }; | ||
2406 | |||
2407 | /** | ||
2392 | * struct ieee80211_ops - callbacks from mac80211 to the driver | 2408 | * struct ieee80211_ops - callbacks from mac80211 to the driver |
2393 | * | 2409 | * |
2394 | * This structure contains various callbacks that the driver may | 2410 | * This structure contains various callbacks that the driver may |
@@ -2823,11 +2839,11 @@ enum ieee80211_roc_type { | |||
2823 | * disabled/enabled via @bss_info_changed. | 2839 | * disabled/enabled via @bss_info_changed. |
2824 | * @stop_ap: Stop operation on the AP interface. | 2840 | * @stop_ap: Stop operation on the AP interface. |
2825 | * | 2841 | * |
2826 | * @restart_complete: Called after a call to ieee80211_restart_hw(), when the | 2842 | * @reconfig_complete: Called after a call to ieee80211_restart_hw() and |
2827 | * reconfiguration has completed. This can help the driver implement the | 2843 | * during resume, when the reconfiguration has completed. |
2828 | * reconfiguration step. Also called when reconfiguring because the | 2844 | * This can help the driver implement the reconfiguration step (and |
2829 | * driver's resume function returned 1, as this is just like an "inline" | 2845 | * indicate mac80211 is ready to receive frames). |
2830 | * hardware restart. This callback may sleep. | 2846 | * This callback may sleep. |
2831 | * | 2847 | * |
2832 | * @ipv6_addr_change: IPv6 address assignment on the given interface changed. | 2848 | * @ipv6_addr_change: IPv6 address assignment on the given interface changed. |
2833 | * Currently, this is only called for managed or P2P client interfaces. | 2849 | * Currently, this is only called for managed or P2P client interfaces. |
@@ -3050,7 +3066,8 @@ struct ieee80211_ops { | |||
3050 | int n_vifs, | 3066 | int n_vifs, |
3051 | enum ieee80211_chanctx_switch_mode mode); | 3067 | enum ieee80211_chanctx_switch_mode mode); |
3052 | 3068 | ||
3053 | void (*restart_complete)(struct ieee80211_hw *hw); | 3069 | void (*reconfig_complete)(struct ieee80211_hw *hw, |
3070 | enum ieee80211_reconfig_type reconfig_type); | ||
3054 | 3071 | ||
3055 | #if IS_ENABLED(CONFIG_IPV6) | 3072 | #if IS_ENABLED(CONFIG_IPV6) |
3056 | void (*ipv6_addr_change)(struct ieee80211_hw *hw, | 3073 | void (*ipv6_addr_change)(struct ieee80211_hw *hw, |