diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-09-22 17:39:23 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-09-22 17:39:23 -0400 |
commit | b0a37dca72a05b7b579f288d8a67afeed96bffa5 (patch) | |
tree | a3057a3debd078f569e90e709d7b320006d8cb32 /arch/arm/include/asm | |
parent | f70cac8d9c7125f83048f8b3d1c60f5a041a165c (diff) | |
parent | 8e6f83bbdf770014c070c5a41c8e89617cb2a66b (diff) |
Merge branch 'pm' into devel-stable
Diffstat (limited to 'arch/arm/include/asm')
-rw-r--r-- | arch/arm/include/asm/proc-fns.h | 8 | ||||
-rw-r--r-- | arch/arm/include/asm/suspend.h | 17 |
2 files changed, 9 insertions, 16 deletions
diff --git a/arch/arm/include/asm/proc-fns.h b/arch/arm/include/asm/proc-fns.h index 633d1cb84d87..9e92cb205e65 100644 --- a/arch/arm/include/asm/proc-fns.h +++ b/arch/arm/include/asm/proc-fns.h | |||
@@ -81,6 +81,10 @@ extern void cpu_dcache_clean_area(void *, int); | |||
81 | extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm); | 81 | extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm); |
82 | extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext); | 82 | extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext); |
83 | extern void cpu_reset(unsigned long addr) __attribute__((noreturn)); | 83 | extern void cpu_reset(unsigned long addr) __attribute__((noreturn)); |
84 | |||
85 | /* These three are private to arch/arm/kernel/suspend.c */ | ||
86 | extern void cpu_do_suspend(void *); | ||
87 | extern void cpu_do_resume(void *); | ||
84 | #else | 88 | #else |
85 | #define cpu_proc_init processor._proc_init | 89 | #define cpu_proc_init processor._proc_init |
86 | #define cpu_proc_fin processor._proc_fin | 90 | #define cpu_proc_fin processor._proc_fin |
@@ -89,6 +93,10 @@ extern void cpu_reset(unsigned long addr) __attribute__((noreturn)); | |||
89 | #define cpu_dcache_clean_area processor.dcache_clean_area | 93 | #define cpu_dcache_clean_area processor.dcache_clean_area |
90 | #define cpu_set_pte_ext processor.set_pte_ext | 94 | #define cpu_set_pte_ext processor.set_pte_ext |
91 | #define cpu_do_switch_mm processor.switch_mm | 95 | #define cpu_do_switch_mm processor.switch_mm |
96 | |||
97 | /* These three are private to arch/arm/kernel/suspend.c */ | ||
98 | #define cpu_do_suspend processor.do_suspend | ||
99 | #define cpu_do_resume processor.do_resume | ||
92 | #endif | 100 | #endif |
93 | 101 | ||
94 | extern void cpu_resume(void); | 102 | extern void cpu_resume(void); |
diff --git a/arch/arm/include/asm/suspend.h b/arch/arm/include/asm/suspend.h index b0e4e1a02318..1c0a551ae375 100644 --- a/arch/arm/include/asm/suspend.h +++ b/arch/arm/include/asm/suspend.h | |||
@@ -1,22 +1,7 @@ | |||
1 | #ifndef __ASM_ARM_SUSPEND_H | 1 | #ifndef __ASM_ARM_SUSPEND_H |
2 | #define __ASM_ARM_SUSPEND_H | 2 | #define __ASM_ARM_SUSPEND_H |
3 | 3 | ||
4 | #include <asm/memory.h> | ||
5 | #include <asm/tlbflush.h> | ||
6 | |||
7 | extern void cpu_resume(void); | 4 | extern void cpu_resume(void); |
8 | 5 | extern int cpu_suspend(unsigned long, int (*)(unsigned long)); | |
9 | /* | ||
10 | * Hide the first two arguments to __cpu_suspend - these are an implementation | ||
11 | * detail which platform code shouldn't have to know about. | ||
12 | */ | ||
13 | static inline int cpu_suspend(unsigned long arg, int (*fn)(unsigned long)) | ||
14 | { | ||
15 | extern int __cpu_suspend(int, long, unsigned long, | ||
16 | int (*)(unsigned long)); | ||
17 | int ret = __cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, arg, fn); | ||
18 | flush_tlb_all(); | ||
19 | return ret; | ||
20 | } | ||
21 | 6 | ||
22 | #endif | 7 | #endif |