Thread (1 message) 1 message, 1 author, 2016-09-28

RE: [PATCH v2] mwifiex: report wakeup for wowlan

From: Amitkumar Karwar <hidden>
Date: 2016-09-28 13:59:35
Also in: linux-wireless

quoted hunk
From: Rajat Jain [mailto:rajatja-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org]
Sent: Wednesday, September 28, 2016 7:15 AM
To: Amitkumar Karwar; Nishant Sarmukadam; Kalle Valo; linux-
wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Rajat Jain; Wei-Ning Huang; Brian Norris; Eric Caruso;
rajatxjain-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: [PATCH v2] mwifiex: report wakeup for wowlan

Enable notifying wakeup source to the PM core in case of a wake on
wireless LAN event.

Signed-off-by: Wei-Ning Huang <redacted>
Signed-off-by: Rajat Jain <redacted>
Tested-by: Wei-Ning Huang <redacted>
Reviewed-by: Eric Caruso <redacted>
---
v2: Fix the commit log

 drivers/net/wireless/marvell/mwifiex/sdio.c | 8 ++++++++
drivers/net/wireless/marvell/mwifiex/sdio.h | 1 +
 2 files changed, 9 insertions(+)
diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.c
b/drivers/net/wireless/marvell/mwifiex/sdio.c
index d3e1561..a5f63e4 100644
--- a/drivers/net/wireless/marvell/mwifiex/sdio.c
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.c
@@ -89,6 +89,9 @@ static irqreturn_t mwifiex_wake_irq_wifi(int irq, void
*priv)
 		disable_irq_nosync(irq);
 	}

+	/* Notify PM core we are wakeup source */
+	pm_wakeup_event(cfg->dev, 0);
+
 	return IRQ_HANDLED;
 }
@@ -112,6 +115,7 @@ static int mwifiex_sdio_probe_of(struct device *dev,
struct sdio_mmc_card *card)
 					  GFP_KERNEL);
 	cfg = card->plt_wake_cfg;
 	if (cfg && card->plt_of_node) {
+		cfg->dev = dev;
 		cfg->irq_wifi = irq_of_parse_and_map(card->plt_of_node, 0);
 		if (!cfg->irq_wifi) {
 			dev_dbg(dev,
@@ -130,6 +134,10 @@ static int mwifiex_sdio_probe_of(struct device
*dev, struct sdio_mmc_card *card)
 		}
 	}

+	ret = device_init_wakeup(dev, true);
+	if (ret)
+		dev_err(dev, "fail to init wakeup for mwifiex");
+
 	return 0;
 }
diff --git a/drivers/net/wireless/marvell/mwifiex/sdio.h
b/drivers/net/wireless/marvell/mwifiex/sdio.h
index db837f1..07cdd23 100644
--- a/drivers/net/wireless/marvell/mwifiex/sdio.h
+++ b/drivers/net/wireless/marvell/mwifiex/sdio.h
@@ -155,6 +155,7 @@
 } while (0)

 struct mwifiex_plt_wake_cfg {
+	struct device *dev;
 	int irq_wifi;
 	bool wake_by_wifi;
 };
--
2.8.0.rc3.226.g39d4020
Acked-by: Amitkumar Karwar <redacted>

Regards,
Amitkumar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help