diff options
author | Mark Brown | 2013-06-17 18:20:31 +0200 |
---|---|---|
committer | Mark Brown | 2013-06-17 18:20:31 +0200 |
commit | 7daf390b8bff7a96ae40c1f9d7356c7c5c9ac384 (patch) | |
tree | 0b5cd3589781dbdcd5049c95aa5c763d50dc7291 /sound/soc | |
parent | Merge remote-tracking branch 'asoc/topic/ux500' into asoc-next (diff) | |
parent | ASoC: wm0010: Clear IRQ as wake source and include missing header (diff) | |
download | kernel-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.c | 10 |
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); |