1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 24c25c5d2SArnd Bergmann /* 34c25c5d2SArnd Bergmann * Copyright (c) 2005 Richard Purdie 44c25c5d2SArnd Bergmann */ 54c25c5d2SArnd Bergmann 64c25c5d2SArnd Bergmann #include <linux/suspend.h> 74c25c5d2SArnd Bergmann 84c25c5d2SArnd Bergmann struct pxa_cpu_pm_fns { 94c25c5d2SArnd Bergmann int save_count; 104c25c5d2SArnd Bergmann void (*save)(unsigned long *); 114c25c5d2SArnd Bergmann void (*restore)(unsigned long *); 124c25c5d2SArnd Bergmann int (*valid)(suspend_state_t state); 134c25c5d2SArnd Bergmann void (*enter)(suspend_state_t state); 144c25c5d2SArnd Bergmann int (*prepare)(void); 154c25c5d2SArnd Bergmann void (*finish)(void); 164c25c5d2SArnd Bergmann }; 174c25c5d2SArnd Bergmann 184c25c5d2SArnd Bergmann extern struct pxa_cpu_pm_fns *pxa_cpu_pm_fns; 194c25c5d2SArnd Bergmann 204c25c5d2SArnd Bergmann /* sleep.S */ 214c25c5d2SArnd Bergmann extern int pxa25x_finish_suspend(unsigned long); 224c25c5d2SArnd Bergmann extern int pxa27x_finish_suspend(unsigned long); 234c25c5d2SArnd Bergmann 244c25c5d2SArnd Bergmann extern int pxa_pm_enter(suspend_state_t state); 254c25c5d2SArnd Bergmann extern int pxa_pm_prepare(void); 264c25c5d2SArnd Bergmann extern void pxa_pm_finish(void); 274c25c5d2SArnd Bergmann 28a9a54caeSArnd Bergmann extern const char pm_enter_standby_start[], pm_enter_standby_end[]; 29a9a54caeSArnd Bergmann extern int pxa3xx_finish_suspend(unsigned long); 30