summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/wm831x-irq.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-01-05 18:56:01 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2011-01-14 12:38:17 +0100
commit180e4f5f20ef2b03ce2b38634274dde5ccbd8951 (patch)
treedc2d3b446da046195e9484fcf2ff5da4ed673f05 /drivers/mfd/wm831x-irq.c
parentmfd: Convert WM831x away from legacy I2C PM operations (diff)
downloadlinux-180e4f5f20ef2b03ce2b38634274dde5ccbd8951.tar.xz
linux-180e4f5f20ef2b03ce2b38634274dde5ccbd8951.zip
mfd: Flag WM831x /IRQ as a wake source
The WM831x can generate wake events, some unconditionally, so flag the primary IRQ as a wake source in order to help the CPU treat the /IRQ signal appropriately. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to '')
-rw-r--r--drivers/mfd/wm831x-irq.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/mfd/wm831x-irq.c b/drivers/mfd/wm831x-irq.c
index ee88f6a05cec..f7192d438aab 100644
--- a/drivers/mfd/wm831x-irq.c
+++ b/drivers/mfd/wm831x-irq.c
@@ -517,6 +517,17 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq)
return 0;
}
+ /* Try to flag /IRQ as a wake source; there are a number of
+ * unconditional wake sources in the PMIC so this isn't
+ * conditional but we don't actually care *too* much if it
+ * fails.
+ */
+ ret = enable_irq_wake(irq);
+ if (ret != 0) {
+ dev_warn(wm831x->dev, "Can't enable IRQ as wake source: %d\n",
+ ret);
+ }
+
wm831x->irq = irq;
wm831x->irq_base = pdata->irq_base;