blob: f8db9d096bc70d82d511a426d2f151d250a7421c [file] [log] [blame]
Russell King2c74a0c2011-06-22 17:41:48 +01001#ifndef __ASM_ARM_SUSPEND_H
2#define __ASM_ARM_SUSPEND_H
3
4#include <asm/memory.h>
Russell King0853f962011-06-23 14:24:09 +01005#include <asm/tlbflush.h>
Russell King2c74a0c2011-06-22 17:41:48 +01006
7extern void cpu_resume(void);
8
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 */
13static inline void cpu_suspend(unsigned long arg, void (*fn)(unsigned long))
14{
15 extern void __cpu_suspend(int, long, unsigned long,
16 void (*)(unsigned long));
17 __cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, arg, fn);
Russell King0853f962011-06-23 14:24:09 +010018 flush_tlb_all();
Russell King2c74a0c2011-06-22 17:41:48 +010019}
20
21#endif