home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / arm / plat-s3c24xx / include / plat / pm.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.7 KB  |  74 lines

  1. /* linux/include/asm-arm/plat-s3c24xx/pm.h
  2.  *
  3.  * Copyright (c) 2004 Simtec Electronics
  4.  *    Written by Ben Dooks, <ben@simtec.co.uk>
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9. */
  10.  
  11. /* s3c2410_pm_init
  12.  *
  13.  * called from board at initialisation time to setup the power
  14.  * management
  15. */
  16.  
  17. #ifdef CONFIG_PM
  18.  
  19. extern __init int s3c2410_pm_init(void);
  20.  
  21. #else
  22.  
  23. static inline int s3c2410_pm_init(void)
  24. {
  25.     return 0;
  26. }
  27. #endif
  28.  
  29. /* configuration for the IRQ mask over sleep */
  30. extern unsigned long s3c_irqwake_intmask;
  31. extern unsigned long s3c_irqwake_eintmask;
  32.  
  33. /* IRQ masks for IRQs allowed to go to sleep (see irq.c) */
  34. extern unsigned long s3c_irqwake_intallow;
  35. extern unsigned long s3c_irqwake_eintallow;
  36.  
  37. /* per-cpu sleep functions */
  38.  
  39. extern void (*pm_cpu_prep)(void);
  40. extern void (*pm_cpu_sleep)(void);
  41.  
  42. /* Flags for PM Control */
  43.  
  44. extern unsigned long s3c_pm_flags;
  45.  
  46. /* from sleep.S */
  47.  
  48. extern int  s3c2410_cpu_save(unsigned long *saveblk);
  49. extern void s3c2410_cpu_suspend(void);
  50. extern void s3c2410_cpu_resume(void);
  51.  
  52. extern unsigned long s3c2410_sleep_save_phys;
  53.  
  54. /* sleep save info */
  55.  
  56. struct sleep_save {
  57.     void __iomem    *reg;
  58.     unsigned long    val;
  59. };
  60.  
  61. #define SAVE_ITEM(x) \
  62.     { .reg = (x) }
  63.  
  64. extern void s3c2410_pm_do_save(struct sleep_save *ptr, int count);
  65. extern void s3c2410_pm_do_restore(struct sleep_save *ptr, int count);
  66.  
  67. #ifdef CONFIG_PM
  68. extern int s3c24xx_irq_suspend(struct sys_device *dev, pm_message_t state);
  69. extern int s3c24xx_irq_resume(struct sys_device *dev);
  70. #else
  71. #define s3c24xx_irq_suspend NULL
  72. #define s3c24xx_irq_resume  NULL
  73. #endif
  74.