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.
205 * suspend_set_ops - set platform dependent suspend operations
206 * @ops: The new suspend operations to set.
238 * pm_suspend_via_firmware - Check if platform firmware will suspend the system.
240 * To be called during system-wide power management transitions to sleep states
241 * or during the subsequent system-wide transitions back to the working state.
243 * Return 'true' if the platform firmware is going to be invoked at the end of
244 * the system-wide power management transition (to a sleep state) in progress in
245 * order to complete it, or if the platform firmware has been invoked in order
246 * to complete the last (or preceding) transition of the system to a sleep
249 * This matters if the caller needs or wants to carry out some special actions
250 * depending on whether or not control will be passed to the platform firmware
251 * subsequently (for example, the device may need to be reset before letting the
253 * firmware is not going to be invoked) or when such special actions may have
254 * been carried out during the preceding transition of the system to a sleep
255 * state (as they may need to be taken into account).
263 * pm_resume_via_firmware - Check if platform firmware has woken up the system.
265 * To be called during system-wide power management transitions from sleep
268 * Return 'true' if the platform firmware has passed control to the kernel at
269 * the beginning of the system-wide power management transition in progress, so
279 * pm_suspend_no_platform - Check if platform may change device power states.
281 * To be called during system-wide power management transitions to sleep states
282 * or during the subsequent system-wide transitions back to the working state.
285 * kernel throughout the system-wide suspend and resume cycle in progress (that
286 * is, if a device is put into a certain power state during suspend, it can be
287 * expected to remain in that state during resume).
294 /* Suspend-to-idle state machnine. */
297 S2IDLE_STATE_ENTER, /* Enter suspend-to-idle. */
298 S2IDLE_STATE_WAKE, /* Wake up from suspend-to-idle. */
314 * arch_suspend_disable_irqs - disable IRQs for suspend
317 * code and thus allows architectures to override it if more needs to be
318 * done. Not called for suspend to disk.
323 * arch_suspend_enable_irqs - enable IRQs after suspend
326 * code and thus allows architectures to override it if more needs to be
327 * done. Not called for suspend to disk.
345 static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; } in pm_suspend()
354 * atomically during the resume from disk, because the page frames they have
355 * occupied before the suspend are in use.
367 * struct platform_hibernation_ops - hibernation platform support
369 * The methods in this structure allow a platform to carry out special
377 * @end: Called by the PM core right after resuming devices, to indicate to
378 * the platform that the system has returned to the working state.
395 * has been saved to disk.
401 * Called right after the control has been passed from the boot kernel to
413 * @recover: Recover the platform from a failure to suspend devices.
466 static inline int hibernate(void) { return -ENOSYS; } in hibernate()
471 return -ENOTSUPP; in hibernate_quiet_exec()
481 /* Hibernation and suspend events */
482 #define PM_HIBERNATION_PREPARE 0x0001 /* Going to hibernate */
484 #define PM_SUSPEND_PREPARE 0x0003 /* Going to suspend the system */
485 #define PM_POST_SUSPEND 0x0004 /* Suspend finished */
486 #define PM_RESTORE_PREPARE 0x0005 /* Going to restore a saved image */