diff options
Diffstat (limited to 'arch/mips/alchemy/common/power.c')
-rw-r--r-- | arch/mips/alchemy/common/power.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/alchemy/common/power.c b/arch/mips/alchemy/common/power.c index bd854a6d1d89..33a3cdb7444a 100644 --- a/arch/mips/alchemy/common/power.c +++ b/arch/mips/alchemy/common/power.c | |||
@@ -51,7 +51,6 @@ static void au1000_calibrate_delay(void); | |||
51 | 51 | ||
52 | extern unsigned long save_local_and_disable(int controller); | 52 | extern unsigned long save_local_and_disable(int controller); |
53 | extern void restore_local_and_enable(int controller, unsigned long mask); | 53 | extern void restore_local_and_enable(int controller, unsigned long mask); |
54 | extern void local_enable_irq(unsigned int irq_nr); | ||
55 | 54 | ||
56 | static DEFINE_SPINLOCK(pm_lock); | 55 | static DEFINE_SPINLOCK(pm_lock); |
57 | 56 | ||
@@ -364,7 +363,10 @@ static int pm_do_freq(ctl_table *ctl, int write, struct file *file, | |||
364 | */ | 363 | */ |
365 | intc0_mask = save_local_and_disable(0); | 364 | intc0_mask = save_local_and_disable(0); |
366 | intc1_mask = save_local_and_disable(1); | 365 | intc1_mask = save_local_and_disable(1); |
367 | local_enable_irq(AU1000_TOY_MATCH2_INT); | 366 | val = 1 << (AU1000_TOY_MATCH2_INT - AU1000_INTC0_INT_BASE); |
367 | au_writel(val, IC0_MASKSET); /* unmask */ | ||
368 | au_writel(val, IC0_WAKESET); /* enable wake-from-sleep */ | ||
369 | au_sync(); | ||
368 | spin_unlock_irqrestore(&pm_lock, flags); | 370 | spin_unlock_irqrestore(&pm_lock, flags); |
369 | au1000_calibrate_delay(); | 371 | au1000_calibrate_delay(); |
370 | restore_local_and_enable(0, intc0_mask); | 372 | restore_local_and_enable(0, intc0_mask); |