mfd: twl4030: Allow IRQ wake enable to succeed on subchip IRQs
authorKevin Hilman <khilman@linaro.org>
Fri, 31 May 2013 21:44:54 +0000 (14:44 -0700)
committerSamuel Ortiz <sameo@linux.intel.com>
Tue, 18 Jun 2013 07:41:14 +0000 (09:41 +0200)
The genirq IRQ wake method will default to failure if the irq_chip
does not provide a set_wake method.  However, for TWL4030 sub-chip
IRQs, we want the wake enable to succeed even though we don't provide
a set_wake method.  This allows sub-chip IRQs to still be flagged as
wakeup capable, and allow them to wakeup from suspend (or abort
suspend if they fire during suspend.)

To fix, use the IRQCHIP_SKIP_SET_WAKE flag in the irq_chip.

Signed-off-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/twl4030-irq.c

index a5f9888..3fa7df2 100644 (file)
@@ -573,6 +573,7 @@ static struct irq_chip twl4030_sih_irq_chip = {
        .irq_set_type   = twl4030_sih_set_type,
        .irq_bus_lock   = twl4030_sih_bus_lock,
        .irq_bus_sync_unlock = twl4030_sih_bus_sync_unlock,
+       .flags          = IRQCHIP_SKIP_SET_WAKE,
 };
 
 /*----------------------------------------------------------------------*/