summaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown2013-06-17 18:20:31 +0200
committerMark Brown2013-06-17 18:20:31 +0200
commit7daf390b8bff7a96ae40c1f9d7356c7c5c9ac384 (patch)
tree0b5cd3589781dbdcd5049c95aa5c763d50dc7291 /sound/soc
parentMerge remote-tracking branch 'asoc/topic/ux500' into asoc-next (diff)
parentASoC: wm0010: Clear IRQ as wake source and include missing header (diff)
downloadkernel-qcow2-linux-7daf390b8bff7a96ae40c1f9d7356c7c5c9ac384.tar.gz
kernel-qcow2-linux-7daf390b8bff7a96ae40c1f9d7356c7c5c9ac384.tar.xz
kernel-qcow2-linux-7daf390b8bff7a96ae40c1f9d7356c7c5c9ac384.zip
Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm0010.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm0010.c b/sound/soc/codecs/wm0010.c
index 370af0cbcc9a..f5e835662cdc 100644
--- a/sound/soc/codecs/wm0010.c
+++ b/sound/soc/codecs/wm0010.c
@@ -14,6 +14,7 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
+#include <linux/interrupt.h>
#include <linux/irqreturn.h>
#include <linux/init.h>
#include <linux/spi/spi.h>
@@ -972,6 +973,13 @@ static int wm0010_spi_probe(struct spi_device *spi)
}
wm0010->irq = irq;
+ ret = irq_set_irq_wake(irq, 1);
+ if (ret) {
+ dev_err(wm0010->dev, "Failed to set IRQ %d as wake source: %d\n",
+ irq, ret);
+ return ret;
+ }
+
if (spi->max_speed_hz)
wm0010->board_max_spi_speed = spi->max_speed_hz;
else
@@ -995,6 +1003,8 @@ static int wm0010_spi_remove(struct spi_device *spi)
gpio_set_value_cansleep(wm0010->gpio_reset,
wm0010->gpio_reset_value);
+ irq_set_irq_wake(wm0010->irq, 0);
+
if (wm0010->irq)
free_irq(wm0010->irq, wm0010);