PM: Rework struct hibernation_ops
[deliverable/linux.git] / include / linux / suspend.h
index dee416c5477fd491cae28e87db2e025586e19de2..0044483dd477dd4c22b7a5da3861a62b80f9060c 100644 (file)
@@ -134,16 +134,42 @@ extern void mark_free_pages(struct zone *zone);
  *
  * All three methods must be assigned.
  *
- * @prepare: prepare system for hibernation
- * @enter: shut down system after state has been saved to disk
- * @finish: finish/clean up after state has been reloaded
- * @pre_restore: prepare system for the restoration from a hibernation image
- * @restore_cleanup: clean up after a failing image restoration
+ * @start: Tell the platform driver that we're starting hibernation.
+ *     Called right after shrinking memory and before freezing devices.
+ *
+ * @pre_snapshot: Prepare the platform for creating the hibernation image.
+ *     Called right after devices have been frozen and before the nonboot
+ *     CPUs are disabled (runs with IRQs on).
+ *
+ * @finish: Restore the previous state of the platform after the hibernation
+ *     image has been created *or* put the platform into the normal operation
+ *     mode after the hibernation (the same method is executed in both cases).
+ *     Called right after the nonboot CPUs have been enabled and before
+ *     thawing devices (runs with IRQs on).
+ *
+ * @prepare: Prepare the platform for entering the low power state.
+ *     Called right after the hibernation image has been saved and before
+ *     devices are prepared for entering the low power state.
+ *
+ * @enter: Put the system into the low power state after the hibernation image
+ *     has been saved to disk.
+ *     Called after the nonboot CPUs have been disabled and all of the low
+ *     level devices have been shut down (runs with IRQs off).
+ *
+ * @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).
+ *
+ * @restore_cleanup: Clean up after a failing image restoration.
+ *     Called right after the nonboot CPUs have been enabled and before
+ *     thawing devices (runs with IRQs on).
  */
 struct hibernation_ops {
+       int (*start)(void);
+       int (*pre_snapshot)(void);
+       void (*finish)(void);
        int (*prepare)(void);
        int (*enter)(void);
-       void (*finish)(void);
        int (*pre_restore)(void);
        void (*restore_cleanup)(void);
 };
This page took 0.02668 seconds and 5 git commands to generate.