aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-05-04 09:37:29 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-05-05 14:59:20 -0400
commiteecc48000afe2ca6da22122d553b7cad294e42fc (patch)
treeade8a18351be5ca63b14d24f3f4db47909486fba /net/mac80211/ieee80211_i.h
parentff1b6e69ad4f31fb3c9c6da2665655f2e798dd70 (diff)
mac80211: add basic support for WoWLAN
This adds basic support for the new WoWLAN configuration in mac80211. The behaviour is completely offloaded to the driver though, with two new callbacks (suspend/resume). Options for the driver include a complete reconfiguration after wakeup, and exposing all the triggers it wants to support. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 9e3b4f0f31bd..e89bc27f8dc3 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -764,6 +764,9 @@ struct ieee80211_local {
764 /* device is started */ 764 /* device is started */
765 bool started; 765 bool started;
766 766
767 /* wowlan is enabled -- don't reconfig on resume */
768 bool wowlan;
769
767 int tx_headroom; /* required headroom for hardware/radiotap */ 770 int tx_headroom; /* required headroom for hardware/radiotap */
768 771
769 /* count for keys needing tailroom space allocation */ 772 /* count for keys needing tailroom space allocation */
@@ -1250,7 +1253,8 @@ int ieee80211_reconfig(struct ieee80211_local *local);
1250void ieee80211_stop_device(struct ieee80211_local *local); 1253void ieee80211_stop_device(struct ieee80211_local *local);
1251 1254
1252#ifdef CONFIG_PM 1255#ifdef CONFIG_PM
1253int __ieee80211_suspend(struct ieee80211_hw *hw); 1256int __ieee80211_suspend(struct ieee80211_hw *hw,
1257 struct cfg80211_wowlan *wowlan);
1254 1258
1255static inline int __ieee80211_resume(struct ieee80211_hw *hw) 1259static inline int __ieee80211_resume(struct ieee80211_hw *hw)
1256{ 1260{
@@ -1263,7 +1267,8 @@ static inline int __ieee80211_resume(struct ieee80211_hw *hw)
1263 return ieee80211_reconfig(hw_to_local(hw)); 1267 return ieee80211_reconfig(hw_to_local(hw));
1264} 1268}
1265#else 1269#else
1266static inline int __ieee80211_suspend(struct ieee80211_hw *hw) 1270static inline int __ieee80211_suspend(struct ieee80211_hw *hw,
1271 struct cfg80211_wowlan *wowlan)
1267{ 1272{
1268 return 0; 1273 return 0;
1269} 1274}