GuanXuetao | 6490988 | 2011-02-26 20:23:59 +0800 | [diff] [blame] | 1 | /* |
| 2 | * linux/arch/unicore/include/mach/pm.h |
| 3 | * |
| 4 | * Code specific to PKUnity SoC and UniCore ISA |
| 5 | * |
| 6 | * Copyright (C) 2001-2010 GUAN Xue-tao |
| 7 | * |
| 8 | * This program is free software; you can redistribute it and/or modify |
| 9 | * it under the terms of the GNU General Public License version 2 as |
| 10 | * published by the Free Software Foundation. |
| 11 | */ |
| 12 | #ifndef __PUV3_PM_H__ |
| 13 | #define __PUV3_PM_H__ |
| 14 | |
| 15 | #include <linux/suspend.h> |
| 16 | |
| 17 | struct puv3_cpu_pm_fns { |
| 18 | int save_count; |
| 19 | void (*save)(unsigned long *); |
| 20 | void (*restore)(unsigned long *); |
| 21 | int (*valid)(suspend_state_t state); |
| 22 | void (*enter)(suspend_state_t state); |
| 23 | int (*prepare)(void); |
| 24 | void (*finish)(void); |
| 25 | }; |
| 26 | |
| 27 | extern struct puv3_cpu_pm_fns *puv3_cpu_pm_fns; |
| 28 | |
| 29 | /* sleep.S */ |
| 30 | extern void puv3_cpu_suspend(unsigned int); |
| 31 | |
| 32 | extern void puv3_cpu_resume(void); |
| 33 | |
| 34 | extern int puv3_pm_enter(suspend_state_t state); |
| 35 | |
| 36 | /* Defined in hibernate_asm.S */ |
| 37 | extern int restore_image(pgd_t *resume_pg_dir, struct pbe *restore_pblist); |
| 38 | |
| 39 | /* References to section boundaries */ |
| 40 | extern const void __nosave_begin, __nosave_end; |
| 41 | |
| 42 | extern struct pbe *restore_pblist; |
| 43 | #endif |