From: Charles Keepax Date: Mon, 1 Sep 2014 14:29:11 +0000 (+0100) Subject: mfd: arizona: Propagate irq_wake through to parent IRQ X-Git-Tag: v3.18-rc1~40^2~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c38715fed8f51a8fba4a15f86732ad885f073d78;p=thirdparty%2Fkernel%2Flinux.git mfd: arizona: Propagate irq_wake through to parent IRQ 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 Signed-off-by: Lee Jones --- diff --git a/drivers/mfd/arizona-irq.c b/drivers/mfd/arizona-irq.c index 9133d519b0209..5e2f450a61764 100644 --- a/drivers/mfd/arizona-irq.c +++ b/drivers/mfd/arizona-irq.c @@ -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,