cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pm.h (1063B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright (c) 2005 Richard Purdie
      4 */
      5
      6#include <linux/suspend.h>
      7
      8struct pxa_cpu_pm_fns {
      9	int	save_count;
     10	void	(*save)(unsigned long *);
     11	void	(*restore)(unsigned long *);
     12	int	(*valid)(suspend_state_t state);
     13	void	(*enter)(suspend_state_t state);
     14	int	(*prepare)(void);
     15	void	(*finish)(void);
     16};
     17
     18extern struct pxa_cpu_pm_fns *pxa_cpu_pm_fns;
     19
     20/* sleep.S */
     21extern int pxa25x_finish_suspend(unsigned long);
     22extern int pxa27x_finish_suspend(unsigned long);
     23
     24extern int pxa_pm_enter(suspend_state_t state);
     25extern int pxa_pm_prepare(void);
     26extern void pxa_pm_finish(void);
     27
     28extern const char pm_enter_standby_start[], pm_enter_standby_end[];
     29extern int pxa3xx_finish_suspend(unsigned long);
     30
     31/* NOTE: this is for PM debugging on Lubbock,  it's really a big
     32 * ugly, but let's keep the crap minimum here, instead of direct
     33 * accessing the LUBBOCK CPLD registers in arch/arm/mach-pxa/pm.c
     34 */
     35#ifdef CONFIG_ARCH_LUBBOCK
     36extern void lubbock_set_hexled(uint32_t value);
     37#else
     38#define lubbock_set_hexled(x)
     39#endif