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:

commit de
John W. Linville

pai
ff1b6e69ad
commit
eecc48000a
@@ -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)
|
||||
{
|
||||
|
Referência em uma nova issue
Block a user