aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@ti.com>2011-07-14 11:28:07 -0700
committerNishanth Menon <nm@ti.com>2011-07-23 12:05:49 -0500
commit17f86fa0a8e1df883e534ae1fd6dfb2ddc602359 (patch)
tree32ade709d521fd71955c3cf1a1e318a26dad66bc
parent4520aa34e2dd7652ce1768841dd85a6c4eb5657c (diff)
downloadkernel_samsung_tuna-17f86fa0a8e1df883e534ae1fd6dfb2ddc602359.zip
kernel_samsung_tuna-17f86fa0a8e1df883e534ae1fd6dfb2ddc602359.tar.gz
kernel_samsung_tuna-17f86fa0a8e1df883e534ae1fd6dfb2ddc602359.tar.bz2
OMAP4: PM: Keep dummy IRQ set_wake() handler.
To mark wakeup IRQ's, irq core code expects set_wake() handler. Hence register a dummy handler for the same. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Tested-by: Axel Haslam <axelhaslam@ti.com>
-rw-r--r--arch/arm/mach-omap2/omap-wakeupgen.c15
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;