DMI: move dmi_available declaration to linux/dmi.h
[pandora-kernel.git] / include / linux / suspend.h
index 0044483..4360e08 100644 (file)
@@ -127,7 +127,7 @@ extern void drain_local_pages(void);
 extern void mark_free_pages(struct zone *zone);
 
 /**
- * struct hibernation_ops - hibernation platform support
+ * struct platform_hibernation_ops - hibernation platform support
  *
  * The methods in this structure allow a platform to override the default
  * mechanism of shutting down the machine during a hibernation transition.
@@ -156,6 +156,12 @@ extern void mark_free_pages(struct zone *zone);
  *     Called after the nonboot CPUs have been disabled and all of the low
  *     level devices have been shut down (runs with IRQs off).
  *
+ * @leave: Perform the first stage of the cleanup after the system sleep state
+ *     indicated by @set_target() has been left.
+ *     Called right after the control has been passed from the boot kernel to
+ *     the image kernel, before the nonboot CPUs are enabled and before devices
+ *     are resumed.  Executed with interrupts disabled.
+ *
  * @pre_restore: Prepare system for the restoration from a hibernation image.
  *     Called right after devices have been frozen and before the nonboot
  *     CPUs are disabled (runs with IRQs on).
@@ -164,12 +170,13 @@ extern void mark_free_pages(struct zone *zone);
  *     Called right after the nonboot CPUs have been enabled and before
  *     thawing devices (runs with IRQs on).
  */
-struct hibernation_ops {
+struct platform_hibernation_ops {
        int (*start)(void);
        int (*pre_snapshot)(void);
        void (*finish)(void);
        int (*prepare)(void);
        int (*enter)(void);
+       void (*leave)(void);
        int (*pre_restore)(void);
        void (*restore_cleanup)(void);
 };
@@ -190,14 +197,14 @@ extern void swsusp_set_page_free(struct page *);
 extern void swsusp_unset_page_free(struct page *);
 extern unsigned long get_safe_page(gfp_t gfp_mask);
 
-extern void hibernation_set_ops(struct hibernation_ops *ops);
+extern void hibernation_set_ops(struct platform_hibernation_ops *ops);
 extern int hibernate(void);
 #else /* CONFIG_HIBERNATION */
 static inline int swsusp_page_is_forbidden(struct page *p) { return 0; }
 static inline void swsusp_set_page_free(struct page *p) {}
 static inline void swsusp_unset_page_free(struct page *p) {}
 
-static inline void hibernation_set_ops(struct hibernation_ops *ops) {}
+static inline void hibernation_set_ops(struct platform_hibernation_ops *ops) {}
 static inline int hibernate(void) { return -ENOSYS; }
 #endif /* CONFIG_HIBERNATION */