mfd: arizona: Propagate irq_wake through to parent IRQ
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 1 Sep 2014 14:29:11 +0000 (15:29 +0100)
committerLee Jones <lee.jones@linaro.org>
Fri, 26 Sep 2014 07:15:54 +0000 (08:15 +0100)
If one of the internal Arizona IRQs is set as a wake source this needs
to be propogated back to the actual IRQ line that the Arizona device is
attached to.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/arizona-irq.c

index 9133d519b0209986abb2a613a95cd26447138b24..5e2f450a61764877597de865a61270b3579ff3ee 100644 (file)
@@ -152,10 +152,18 @@ static void arizona_irq_disable(struct irq_data *data)
 {
 }
 
+static int arizona_irq_set_wake(struct irq_data *data, unsigned int on)
+{
+       struct arizona *arizona = irq_data_get_irq_chip_data(data);
+
+       return irq_set_irq_wake(arizona->irq, on);
+}
+
 static struct irq_chip arizona_irq_chip = {
        .name                   = "arizona",
        .irq_disable            = arizona_irq_disable,
        .irq_enable             = arizona_irq_enable,
+       .irq_set_wake           = arizona_irq_set_wake,
 };
 
 static int arizona_irq_map(struct irq_domain *h, unsigned int virq,
This page took 0.025913 seconds and 5 git commands to generate.