pm_send_all — send request to all managed devices
int pm_send_all (
pm_request_t rqst, void * data)
;
Issue a power management request to a all devices. The
PM_SUSPEND
events are handled specially. Any device is
permitted to fail a suspend by returning a non zero (error)
value from its callback function. If any device vetoes a
suspend request then all other devices that have suspended
during the processing of this request are restored to their
previous state.
This function takes the pm_devs_lock. The lock is not dropped until the callbacks have completed. This prevents races against pm locking functions, races against module unload pm_unregister code. It does mean however that you must not issue pm_ functions within the callback or you will deadlock and users will hate you.
Zero is returned on success. If a suspend fails then the status from the device that vetoes the suspend is returned.