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>
Esse commit está contido em:
Johannes Berg
2011-05-04 15:37:29 +02:00
commit de John W. Linville
commit eecc48000a
9 arquivos alterados com 97 adições e 5 exclusões

Ver arquivo

@@ -41,6 +41,33 @@ static inline void drv_stop(struct ieee80211_local *local)
local->started = false;
}
#ifdef CONFIG_PM
static inline int drv_suspend(struct ieee80211_local *local,
struct cfg80211_wowlan *wowlan)
{
int ret;
might_sleep();
trace_drv_suspend(local);
ret = local->ops->suspend(&local->hw, wowlan);
trace_drv_return_int(local, ret);
return ret;
}
static inline int drv_resume(struct ieee80211_local *local)
{
int ret;
might_sleep();
trace_drv_resume(local);
ret = local->ops->resume(&local->hw);
trace_drv_return_int(local, ret);
return ret;
}
#endif
static inline int drv_add_interface(struct ieee80211_local *local,
struct ieee80211_vif *vif)
{