commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=e57df0e57c4ae4dc70dd1f66d642618f163274db branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2012R1
Signed-off-by: Steven Miao <[email protected]> --- arch/blackfin/mach-bf609/pm.c | 25 ++++++++++--------------- 1 files changed, 10 insertions(+), 15 deletions(-) diff --git a/arch/blackfin/mach-bf609/pm.c b/arch/blackfin/mach-bf609/pm.c index 38a2c0b..5a1748e 100644 --- a/arch/blackfin/mach-bf609/pm.c +++ b/arch/blackfin/mach-bf609/pm.c @@ -179,18 +179,18 @@ void bfin_hibernate_syscontrol(void) asmlinkage void enter_deepsleep(void); __attribute__((l1_text)) -void bfin_deepsleep(unsigned long mask) +void bfin_deepsleep(unsigned long mask, unsigned long pol_mask) { - bfin_write32(DPM0_WAKE_EN, 0x10); - bfin_write32(DPM0_WAKE_POL, 0x10); + bfin_write32(DPM0_WAKE_EN, mask); + bfin_write32(DPM0_WAKE_POL, pol_mask); SSYNC(); enter_deepsleep(); } -void bfin_hibernate(unsigned long mask) +void bfin_hibernate(unsigned long mask, unsigned long pol_mask) { - bfin_write32(DPM0_WAKE_EN, 0x10); - bfin_write32(DPM0_WAKE_POL, 0x10); + bfin_write32(DPM0_WAKE_EN, mask); + bfin_write32(DPM0_WAKE_POL, pol_mask); bfin_write32(DPM0_PGCNTR, 0x0000FFFF); bfin_write32(DPM0_HIB_DIS, 0xFFFF); @@ -269,9 +269,9 @@ void bf609_cpu_pm_enter(suspend_state_t state) printk(KERN_DEBUG "Unable to get irq wake\n"); if (state == PM_SUSPEND_STANDBY) - bfin_deepsleep(wakeup); + bfin_deepsleep(wakeup, wakeup_pol); else { - bfin_hibernate(wakeup); + bfin_hibernate(wakeup, wakeup_pol); } } @@ -293,9 +293,10 @@ static struct bfin_cpu_pm_fns bf609_cpu_pm = { }; #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE) -static void smc_pm_syscore_suspend(void) +static int smc_pm_syscore_suspend(void) { bf609_nor_flash_exit(); + return 0; } static void smc_pm_syscore_resume(void) @@ -317,12 +318,6 @@ static irqreturn_t test_isr(int irq, void *dev_id) return IRQ_HANDLED; } -static irqreturn_t soft_isr(int irq, void *dev_id) -{ - printk(KERN_DEBUG "soft irq %d\n", irq); - return IRQ_HANDLED; -} - static irqreturn_t dpm0_isr(int irq, void *dev_id) { bfin_write32(DPM0_WAKE_STAT, bfin_read32(DPM0_WAKE_STAT));
_______________________________________________ Linux-kernel-commits mailing list [email protected] https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
