summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/irq.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2010-01-20 18:20:47 -0800
committerTony Lindgren <tony@atomide.com>2010-01-20 18:20:47 -0800
commitccaae273c3f92d7e7acb796d6747077a93dcca4b (patch)
tree3b3853db3d4b0db18c9cbc51469538aa767aeaee /arch/arm/mach-omap2/irq.c
parentfa8d1d6c2a72659f773f919c4356b68884c875d0 (diff)
parent6b34f9d4e60a4fb9f847533a207e31316603e840 (diff)
downloadkernel-crypto-ccaae273c3f92d7e7acb796d6747077a93dcca4b.tar.gz
kernel-crypto-ccaae273c3f92d7e7acb796d6747077a93dcca4b.tar.xz
kernel-crypto-ccaae273c3f92d7e7acb796d6747077a93dcca4b.zip
Merge branch 'pm-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-fixes-for-linus
Diffstat (limited to 'arch/arm/mach-omap2/irq.c')
-rw-r--r--arch/arm/mach-omap2/irq.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index e9bc782fa41..27054025da2 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -274,4 +274,22 @@ void omap_intc_restore_context(void)
}
/* MIRs are saved and restore with other PRCM registers */
}
+
+void omap3_intc_suspend(void)
+{
+ /* A pending interrupt would prevent OMAP from entering suspend */
+ omap_ack_irq(0);
+}
+
+void omap3_intc_prepare_idle(void)
+{
+ /* Disable autoidle as it can stall interrupt controller */
+ intc_bank_write_reg(0, &irq_banks[0], INTC_SYSCONFIG);
+}
+
+void omap3_intc_resume_idle(void)
+{
+ /* Re-enable autoidle */
+ intc_bank_write_reg(1, &irq_banks[0], INTC_SYSCONFIG);
+}
#endif /* CONFIG_ARCH_OMAP3 */