diff options
-rw-r--r-- | arch/arm/mach-omap2/omap-wakeupgen.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c index d97c36f..7567ee6 100644 --- a/arch/arm/mach-omap2/omap-wakeupgen.c +++ b/arch/arm/mach-omap2/omap-wakeupgen.c @@ -188,6 +188,20 @@ void omap_wakeupgen_irqmask_all(unsigned int cpu, unsigned int set) spin_unlock(&wakeupgen_lock); } +#ifdef CONFIG_PM +/* + * Masking wakeup irqs is handled by the IRQCHIP_MASK_ON_SUSPEND flag, + * so no action is necessary in set_wake, but implement an empty handler + * here to prevent enable_irq_wake() returning an error. + */ +static int wakeupgen_set_wake(struct irq_data *d, unsigned int on) +{ + return 0; +} +#else +#define wakeupgen_set_wake NULL +#endif + /* * Initialse the wakeupgen module */ @@ -218,6 +232,7 @@ int __init omap_wakeupgen_init(void) */ gic_arch_extn.irq_mask = wakeupgen_mask; gic_arch_extn.irq_unmask = wakeupgen_unmask; + gic_arch_extn.irq_set_wake = wakeupgen_set_wake; gic_arch_extn.flags = IRQCHIP_MASK_ON_SUSPEND; return 0; |