Some devices require certain operations related to suspend and hibernation to be carried out with interrupts disabled. Thus, 'struct pm_ext_ops' below is defined, adding callbacks to be executed with interrupts disabled to 'struct pm_ops'.
The following callbacks included in 'struct pm_ext_ops' are executed with the nonboot CPUs switched off and with interrupts disabled on the only functional CPU. They also are executed with the PM core list of devices locked, so they must NOT unregister any devices.
All of the above callbacks return error codes, but the error codes returned by the resume operations, (), (), and (), do not cause the PM core to abort the resume transition during which they are returned. The error codes returned in that cases are only printed by the PM core to the system logs for debugging purposes. Still, as stated above, it is recommended that drivers only return error codes from their resume methods if the device being handled fails to resume and is not usable any more.
|int(*||freeze_noirq )(struct device *dev)|
|int(*||poweroff_noirq )(struct device *dev)|
|int(*||restore_noirq )(struct device *dev)|
|int(*||resume_noirq )(struct device *dev)|
|int(*||suspend_noirq )(struct device *dev)|
|int(*||thaw_noirq )(struct device *dev)|