Blackfin: pm: drop irq save/restore in standby and suspend to mem callback
Steven Miao [Wed, 3 Nov 2010 09:25:09 +0000 (09:25 +0000)]
Since linux-2.6.31, the kernel suspend framework will do disable_irq/enable_irq,
so save/restore irq in standby and suspend to mem callback should be dropped.
Otherwise the common code notices things are enabled and complains.

Signed-off-by: Steven Miao <realmz6@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>

arch/blackfin/mach-common/pm.c

index 80884b1..42fa87e 100644 (file)
@@ -23,9 +23,6 @@
 
 void bfin_pm_suspend_standby_enter(void)
 {
-       unsigned long flags;
-
-       flags = hard_local_irq_save();
        bfin_pm_standby_setup();
 
 #ifdef CONFIG_PM_BFIN_SLEEP_DEEPER
@@ -55,8 +52,6 @@ void bfin_pm_suspend_standby_enter(void)
 #else
        bfin_write_SIC_IWR(IWR_DISABLE_ALL);
 #endif
-
-       hard_local_irq_restore(flags);
 }
 
 int bf53x_suspend_l1_mem(unsigned char *memptr)
@@ -127,7 +122,6 @@ static void flushinv_all_dcache(void)
 
 int bfin_pm_suspend_mem_enter(void)
 {
-       unsigned long flags;
        int wakeup, ret;
 
        unsigned char *memptr = kmalloc(L1_CODE_LENGTH + L1_DATA_A_LENGTH
@@ -149,12 +143,9 @@ int bfin_pm_suspend_mem_enter(void)
        wakeup |= GPWE;
 #endif
 
-       flags = hard_local_irq_save();
-
        ret = blackfin_dma_suspend();
 
        if (ret) {
-               hard_local_irq_restore(flags);
                kfree(memptr);
                return ret;
        }
@@ -178,7 +169,6 @@ int bfin_pm_suspend_mem_enter(void)
        bfin_gpio_pm_hibernate_restore();
        blackfin_dma_resume();
 
-       hard_local_irq_restore(flags);
        kfree(memptr);
 
        return 0;