We already ack pending IRQs during suspend,
which renders the check for pending IRQs
quite unnecessary.

Signed-off-by: Felipe Balbi <[email protected]>
---
 arch/arm/mach-omap2/common.h      |  1 -
 arch/arm/mach-omap2/cpuidle34xx.c |  2 +-
 arch/arm/mach-omap2/irq.c         | 11 -----------
 arch/arm/mach-omap2/pm24xx.c      | 11 -----------
 arch/arm/mach-omap2/pm34xx.c      |  3 ---
 5 files changed, 1 insertion(+), 27 deletions(-)

diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index 427160b..f44a410 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -198,7 +198,6 @@ extern struct device *omap4_get_dsp_device(void);
 void omap2_init_irq(void);
 void omap3_init_irq(void);
 void ti81xx_init_irq(void);
-extern int omap_irq_pending(void);
 void omap_gic_of_init(void);
 
 #ifdef CONFIG_CACHE_L2X0
diff --git a/arch/arm/mach-omap2/cpuidle34xx.c 
b/arch/arm/mach-omap2/cpuidle34xx.c
index e18709d..96cced3 100644
--- a/arch/arm/mach-omap2/cpuidle34xx.c
+++ b/arch/arm/mach-omap2/cpuidle34xx.c
@@ -112,7 +112,7 @@ static int omap3_enter_idle(struct cpuidle_device *dev,
 {
        struct omap3_idle_statedata *cx = &omap3_idle_data[index];
 
-       if (omap_irq_pending() || need_resched())
+       if (need_resched())
                goto return_sleep_time;
 
        /* Deny idle for C1 */
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 5425258..397157a 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -186,17 +186,6 @@ static void __init omap_irq_soft_reset(void)
        intc_writel(INTC_SYSCONFIG, 1 << 0);
 }
 
-int omap_irq_pending(void)
-{
-       int irq;
-
-       for (irq = 0; irq < omap_nr_irqs; irq += 32)
-               if (intc_readl(INTC_PENDING_IRQ0 +
-                                       ((irq >> 5) << 5)))
-                       return 1;
-       return 0;
-}
-
 static __init void
 omap_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num)
 {
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c
index 8c07594..33ea27c 100644
--- a/arch/arm/mach-omap2/pm24xx.c
+++ b/arch/arm/mach-omap2/pm24xx.c
@@ -88,17 +88,11 @@ static int omap2_enter_full_retention(void)
 
        omap2_gpio_prepare_for_idle(0);
 
-       /* One last check for pending IRQs to avoid extra latency due
-        * to sleeping unnecessarily. */
-       if (omap_irq_pending())
-               goto no_sleep;
-
        /* Jump to SRAM suspend code */
        omap2_sram_suspend(sdrc_read_reg(SDRC_DLLA_CTRL),
                           OMAP_SDRC_REGADDR(SDRC_DLLA_CTRL),
                           OMAP_SDRC_REGADDR(SDRC_POWER));
 
-no_sleep:
        omap2_gpio_resume_after_idle();
 
        clk_enable(osc_ck);
@@ -181,15 +175,10 @@ static int omap2_can_sleep(void)
 static void omap2_pm_idle(void)
 {
        if (!omap2_can_sleep()) {
-               if (omap_irq_pending())
-                       return;
                omap2_enter_mpu_retention();
                return;
        }
 
-       if (omap_irq_pending())
-               return;
-
        omap2_enter_full_retention();
 }
 
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 2764796..7c43fa0 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -338,9 +338,6 @@ void omap_sram_idle(void)
 
 static void omap3_pm_idle(void)
 {
-       if (omap_irq_pending())
-               return;
-
        trace_cpu_idle(1, smp_processor_id());
 
        omap_sram_idle();
-- 
1.8.4.GIT

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to