pm.h 1.0 KB

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