Both clear the IRQ as being a wake source when we are finished with it and include a missing header file that is required.
Signed-off-by: Charles Keepax ckeepax@opensource.wolfsonmicro.com --- sound/soc/codecs/wm0010.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/wm0010.c b/sound/soc/codecs/wm0010.c index b6df319..f5e8356 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> @@ -1002,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);