Lines Matching +full:suspend +full:- +full:to +full:- +full:disk
1 /* SPDX-License-Identifier: GPL-2.0 */
101 * struct platform_suspend_ops - Callbacks for managing platform dependent
104 * @valid: Callback to determine if given system sleep state is supported by
107 * that it still may be impossible to enter given system sleep state if the
110 * assigned to this if the platform only supports mem sleep.
112 * @begin: Initialise a transition to given system sleep state.
113 * @begin() is executed right prior to suspending devices. The information
114 * conveyed to the platform code by @begin() should be disregarded by it as
118 * passed to @enter() is redundant and should be ignored.
123 * appropriate .suspend() method has been executed for each device) and
124 * before device drivers' late suspend callbacks are executed. It returns
132 * device drivers' late suspend callbacks have been executed. It returns
150 * @finish: Finish wake-up of the platform.
151 * @finish is called right prior to calling device drivers' regular suspend
158 * @suspend_again: Returns whether the system should suspend again (true) or
159 * not (false). If the platform wants to poll sensors or execute some
161 * suspend_again callback is the place assuming that periodic-wakeup or
162 * alarm-wakeup is already setup. This allows to execute some codes while
165 * @end: Called by the PM core right after resuming devices, to indicate to
166 * the platform that the system has returned to the working state or
167 * the transition to the sleep state has been aborted.
173 * @recover: Recover the platform from a suspend failure.
210 * suspend_set_ops - set platform dependent suspend operations
211 * @ops: The new suspend operations to set.
243 * pm_suspend_via_firmware - Check if platform firmware will suspend the system.
245 * To be called during system-wide power management transitions to sleep states
246 * or during the subsequent system-wide transitions back to the working state.
248 * Return 'true' if the platform firmware is going to be invoked at the end of
249 * the system-wide power management transition (to a sleep state) in progress in
250 * order to complete it, or if the platform firmware has been invoked in order
251 * to complete the last (or preceding) transition of the system to a sleep
254 * This matters if the caller needs or wants to carry out some special actions
255 * depending on whether or not control will be passed to the platform firmware
256 * subsequently (for example, the device may need to be reset before letting the
258 * firmware is not going to be invoked) or when such special actions may have
259 * been carried out during the preceding transition of the system to a sleep
260 * state (as they may need to be taken into account).
268 * pm_resume_via_firmware - Check if platform firmware has woken up the system.
270 * To be called during system-wide power management transitions from sleep
273 * Return 'true' if the platform firmware has passed control to the kernel at
274 * the beginning of the system-wide power management transition in progress, so
284 * pm_suspend_no_platform - Check if platform may change device power states.
286 * To be called during system-wide power management transitions to sleep states
287 * or during the subsequent system-wide transitions back to the working state.
290 * kernel throughout the system-wide suspend and resume cycle in progress (that
291 * is, if a device is put into a certain power state during suspend, it can be
292 * expected to remain in that state during resume).
299 /* Suspend-to-idle state machnine. */
302 S2IDLE_STATE_ENTER, /* Enter suspend-to-idle. */
303 S2IDLE_STATE_WAKE, /* Wake up from suspend-to-idle. */
319 * arch_suspend_disable_irqs - disable IRQs for suspend
322 * code and thus allows architectures to override it if more needs to be
323 * done. Not called for suspend to disk.
328 * arch_suspend_enable_irqs - enable IRQs after suspend
331 * code and thus allows architectures to override it if more needs to be
332 * done. Not called for suspend to disk.
350 static inline int pm_suspend(suspend_state_t state) { return -ENOSYS; } in pm_suspend()
359 * atomically during the resume from disk, because the page frames they have
360 * occupied before the suspend are in use.
372 * struct platform_hibernation_ops - hibernation platform support
374 * The methods in this structure allow a platform to carry out special
382 * @end: Called by the PM core right after resuming devices, to indicate to
383 * the platform that the system has returned to the working state.
400 * has been saved to disk.
406 * Called right after the control has been passed from the boot kernel to
418 * @recover: Recover the platform from a failure to suspend devices.
464 static inline int hibernate(void) { return -ENOSYS; } in hibernate()
469 return -ENOTSUPP; in hibernate_quiet_exec()
479 /* Hibernation and suspend events */
480 #define PM_HIBERNATION_PREPARE 0x0001 /* Going to hibernate */
482 #define PM_SUSPEND_PREPARE 0x0003 /* Going to suspend the system */
483 #define PM_POST_SUSPEND 0x0004 /* Suspend finished */
484 #define PM_RESTORE_PREPARE 0x0005 /* Going to restore a saved image */