Lines Matching +full:suspend +full:- +full:to +full:- +full:disk
1 /* SPDX-License-Identifier: GPL-2.0 */
100 * struct platform_suspend_ops - Callbacks for managing platform dependent
103 * @valid: Callback to determine if given system sleep state is supported by
106 * that it still may be impossible to enter given system sleep state if the
109 * assigned to this if the platform only supports mem sleep.
111 * @begin: Initialise a transition to given system sleep state.
112 * @begin() is executed right prior to suspending devices. The information
113 * conveyed to the platform code by @begin() should be disregarded by it as
117 * passed to @enter() is redundant and should be ignored.
122 * appropriate .suspend() method has been executed for each device) and
123 * before device drivers' late suspend callbacks are executed. It returns
131 * device drivers' late suspend callbacks have been executed. It returns
149 * @finish: Finish wake-up of the platform.
150 * @finish is called right prior to calling device drivers' regular suspend
157 * @suspend_again: Returns whether the system should suspend again (true) or
158 * not (false). If the platform wants to poll sensors or execute some
160 * suspend_again callback is the place assuming that periodic-wakeup or
161 * alarm-wakeup is already setup. This allows to execute some codes while
164 * @end: Called by the PM core right after resuming devices, to indicate to
165 * the platform that the system has returned to the working state or
166 * the transition to the sleep state has been aborted.
172 * @recover: Recover the platform from a suspend failure.
206 * suspend_set_ops - set platform dependent suspend operations
207 * @ops: The new suspend operations to set.
239 * pm_suspend_via_firmware - Check if platform firmware will suspend the system.
241 * To be called during system-wide power management transitions to sleep states
242 * or during the subsequent system-wide transitions back to the working state.
244 * Return 'true' if the platform firmware is going to be invoked at the end of
245 * the system-wide power management transition (to a sleep state) in progress in
246 * order to complete it, or if the platform firmware has been invoked in order
247 * to complete the last (or preceding) transition of the system to a sleep
250 * This matters if the caller needs or wants to carry out some special actions
251 * depending on whether or not control will be passed to the platform firmware
252 * subsequently (for example, the device may need to be reset before letting the
254 * firmware is not going to be invoked) or when such special actions may have
255 * been carried out during the preceding transition of the system to a sleep
256 * state (as they may need to be taken into account).
264 * pm_resume_via_firmware - Check if platform firmware has woken up the system.
266 * To be called during system-wide power management transitions from sleep
269 * Return 'true' if the platform firmware has passed control to the kernel at
270 * the beginning of the system-wide power management transition in progress, so
280 * pm_suspend_no_platform - Check if platform may change device power states.
282 * To be called during system-wide power management transitions to sleep states
283 * or during the subsequent system-wide transitions back to the working state.
286 * kernel throughout the system-wide suspend and resume cycle in progress (that
287 * is, if a device is put into a certain power state during suspend, it can be
288 * expected to remain in that state during resume).
295 /* Suspend-to-idle state machnine. */
298 S2IDLE_STATE_ENTER, /* Enter suspend-to-idle. */
299 S2IDLE_STATE_WAKE, /* Wake up from suspend-to-idle. */
315 * arch_suspend_disable_irqs - disable IRQs for suspend
318 * code and thus allows architectures to override it if more needs to be
319 * done. Not called for suspend to disk.
324 * arch_suspend_enable_irqs - enable IRQs after suspend
327 * code and thus allows architectures to override it if more needs to be
328 * done. Not called for suspend to disk.
346 static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; } in pm_suspend()
355 * atomically during the resume from disk, because the page frames they have
356 * occupied before the suspend are in use.
368 * struct platform_hibernation_ops - hibernation platform support
370 * The methods in this structure allow a platform to carry out special
378 * @end: Called by the PM core right after resuming devices, to indicate to
379 * the platform that the system has returned to the working state.
396 * has been saved to disk.
402 * Called right after the control has been passed from the boot kernel to
414 * @recover: Recover the platform from a failure to suspend devices.
459 static inline int hibernate(void) { return -ENOSYS; } in hibernate()
464 return -ENOTSUPP; in hibernate_quiet_exec()
474 /* Hibernation and suspend events */
475 #define PM_HIBERNATION_PREPARE 0x0001 /* Going to hibernate */
477 #define PM_SUSPEND_PREPARE 0x0003 /* Going to suspend the system */
478 #define PM_POST_SUSPEND 0x0004 /* Suspend finished */
479 #define PM_RESTORE_PREPARE 0x0005 /* Going to restore a saved image */
582 * pm_pr_dbg - print pm sleep debug messages