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.
what stops two power management requests occurring in parallel and conflicting.
This documentation was generated with kernel version 2.6.0.