162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2005 Richard Purdie 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <linux/suspend.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_cistruct pxa_cpu_pm_fns { 962306a36Sopenharmony_ci int save_count; 1062306a36Sopenharmony_ci void (*save)(unsigned long *); 1162306a36Sopenharmony_ci void (*restore)(unsigned long *); 1262306a36Sopenharmony_ci int (*valid)(suspend_state_t state); 1362306a36Sopenharmony_ci void (*enter)(suspend_state_t state); 1462306a36Sopenharmony_ci int (*prepare)(void); 1562306a36Sopenharmony_ci void (*finish)(void); 1662306a36Sopenharmony_ci}; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciextern struct pxa_cpu_pm_fns *pxa_cpu_pm_fns; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* sleep.S */ 2162306a36Sopenharmony_ciextern int pxa25x_finish_suspend(unsigned long); 2262306a36Sopenharmony_ciextern int pxa27x_finish_suspend(unsigned long); 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciextern int pxa_pm_enter(suspend_state_t state); 2562306a36Sopenharmony_ciextern int pxa_pm_prepare(void); 2662306a36Sopenharmony_ciextern void pxa_pm_finish(void); 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciextern const char pm_enter_standby_start[], pm_enter_standby_end[]; 2962306a36Sopenharmony_ciextern int pxa3xx_finish_suspend(unsigned long); 30