xref: /openbmc/linux/arch/arm/include/asm/suspend.h (revision 2c74a0cefa463a7a483b07ba4d2ea8e4ec7b996c)
1*2c74a0ceSRussell King #ifndef __ASM_ARM_SUSPEND_H
2*2c74a0ceSRussell King #define __ASM_ARM_SUSPEND_H
3*2c74a0ceSRussell King 
4*2c74a0ceSRussell King #include <asm/memory.h>
5*2c74a0ceSRussell King 
6*2c74a0ceSRussell King extern void cpu_resume(void);
7*2c74a0ceSRussell King 
8*2c74a0ceSRussell King /*
9*2c74a0ceSRussell King  * Hide the first two arguments to __cpu_suspend - these are an implementation
10*2c74a0ceSRussell King  * detail which platform code shouldn't have to know about.
11*2c74a0ceSRussell King  */
12*2c74a0ceSRussell King static inline void cpu_suspend(unsigned long arg, void (*fn)(unsigned long))
13*2c74a0ceSRussell King {
14*2c74a0ceSRussell King 	extern void __cpu_suspend(int, long, unsigned long,
15*2c74a0ceSRussell King 				  void (*)(unsigned long));
16*2c74a0ceSRussell King 	__cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, arg, fn);
17*2c74a0ceSRussell King }
18*2c74a0ceSRussell King 
19*2c74a0ceSRussell King #endif
20