diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2008-02-24 17:24:26 -0500 |
---|---|---|
committer | Haavard Skinnemoen <haavard.skinnemoen@atmel.com> | 2008-04-19 20:40:07 -0400 |
commit | 7e59128f31e0c57d52e86d57730d4c9281494dda (patch) | |
tree | da5aa2af13d8990b5333ad8807335cd3e374fdda /arch/avr32/kernel | |
parent | 02f99d1ca70d190ce12d040971819be22ea710c8 (diff) |
avr32: Move sleep code into mach-at32ap
Create a new file, pm-at32ap700x.S, in mach-at32ap and move the CPU
idle sleep code there. Make it possible to disable the sleep code.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'arch/avr32/kernel')
-rw-r--r-- | arch/avr32/kernel/entry-avr32b.S | 20 | ||||
-rw-r--r-- | arch/avr32/kernel/process.c | 4 |
2 files changed, 2 insertions, 22 deletions
diff --git a/arch/avr32/kernel/entry-avr32b.S b/arch/avr32/kernel/entry-avr32b.S index 8cf16d7a7040..5f31702d6b1c 100644 --- a/arch/avr32/kernel/entry-avr32b.S +++ b/arch/avr32/kernel/entry-avr32b.S | |||
@@ -741,26 +741,6 @@ irq_level\level: | |||
741 | 741 | ||
742 | .section .irq.text,"ax",@progbits | 742 | .section .irq.text,"ax",@progbits |
743 | 743 | ||
744 | .global cpu_idle_sleep | ||
745 | cpu_idle_sleep: | ||
746 | mask_interrupts | ||
747 | get_thread_info r8 | ||
748 | ld.w r9, r8[TI_flags] | ||
749 | bld r9, TIF_NEED_RESCHED | ||
750 | brcs cpu_idle_enable_int_and_exit | ||
751 | sbr r9, TIF_CPU_GOING_TO_SLEEP | ||
752 | st.w r8[TI_flags], r9 | ||
753 | unmask_interrupts | ||
754 | sleep 0 | ||
755 | cpu_idle_skip_sleep: | ||
756 | mask_interrupts | ||
757 | ld.w r9, r8[TI_flags] | ||
758 | cbr r9, TIF_CPU_GOING_TO_SLEEP | ||
759 | st.w r8[TI_flags], r9 | ||
760 | cpu_idle_enable_int_and_exit: | ||
761 | unmask_interrupts | ||
762 | retal r12 | ||
763 | |||
764 | .global irq_level0 | 744 | .global irq_level0 |
765 | .global irq_level1 | 745 | .global irq_level1 |
766 | .global irq_level2 | 746 | .global irq_level2 |
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c index 7f4af0b1e111..3de115462d7b 100644 --- a/arch/avr32/kernel/process.c +++ b/arch/avr32/kernel/process.c | |||
@@ -18,11 +18,11 @@ | |||
18 | #include <asm/sysreg.h> | 18 | #include <asm/sysreg.h> |
19 | #include <asm/ocd.h> | 19 | #include <asm/ocd.h> |
20 | 20 | ||
21 | #include <asm/arch/pm.h> | ||
22 | |||
21 | void (*pm_power_off)(void) = NULL; | 23 | void (*pm_power_off)(void) = NULL; |
22 | EXPORT_SYMBOL(pm_power_off); | 24 | EXPORT_SYMBOL(pm_power_off); |
23 | 25 | ||
24 | extern void cpu_idle_sleep(void); | ||
25 | |||
26 | /* | 26 | /* |
27 | * This file handles the architecture-dependent parts of process handling.. | 27 | * This file handles the architecture-dependent parts of process handling.. |
28 | */ | 28 | */ |