|
@@ -1350,6 +1350,23 @@ static struct notifier_block wl1271_dev_notifier = {
|
|
|
.notifier_call = wl1271_dev_notify,
|
|
|
};
|
|
|
|
|
|
+static int wl1271_op_suspend(struct ieee80211_hw *hw,
|
|
|
+ struct cfg80211_wowlan *wow)
|
|
|
+{
|
|
|
+ struct wl1271 *wl = hw->priv;
|
|
|
+ wl1271_debug(DEBUG_MAC80211, "mac80211 suspend wow=%d", !!wow);
|
|
|
+ wl->wow_enabled = !!wow;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static int wl1271_op_resume(struct ieee80211_hw *hw)
|
|
|
+{
|
|
|
+ struct wl1271 *wl = hw->priv;
|
|
|
+ wl1271_debug(DEBUG_MAC80211, "mac80211 resume wow=%d",
|
|
|
+ wl->wow_enabled);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static int wl1271_op_start(struct ieee80211_hw *hw)
|
|
|
{
|
|
|
wl1271_debug(DEBUG_MAC80211, "mac80211 start");
|
|
@@ -3506,6 +3523,8 @@ static const struct ieee80211_ops wl1271_ops = {
|
|
|
.stop = wl1271_op_stop,
|
|
|
.add_interface = wl1271_op_add_interface,
|
|
|
.remove_interface = wl1271_op_remove_interface,
|
|
|
+ .suspend = wl1271_op_suspend,
|
|
|
+ .resume = wl1271_op_resume,
|
|
|
.config = wl1271_op_config,
|
|
|
.prepare_multicast = wl1271_op_prepare_multicast,
|
|
|
.configure_filter = wl1271_op_configure_filter,
|