Hi! > Device Drivers > ============== > > Linux device drivers must often save and restore state during power > transitions. The following API is proposed: > > ->prepare_state(struct device * dev, pm_state_t state, > unsigned int reason); > ->complete_state(struct device * dev, pm_state_t state, > unsigned int reason); > > The following would be an example of a typical transition: > > 1.) the policy manager decides to put a PCI ethernet card into D3 from > D0. > 2.) ->prepare_state is called, the ethernet driver saves its state > information and disables the hardware > 3.) the power driver's ->set_state function is called, and power is > actually removed. > 4.) ->complete_state is called to cleanup and make any final > adjustments. > > * In the case of D3->D0 ->complete_state would restore state. > > Possible "reasons" might include DYNAMIC_PM, HALT, REBOOT, SUSPEND, > RESUME, etc. > > This API is different from the current ->suspend and ->resume because it > applies to situations outside of system suspend (e.g. runtime power > management) and has an emphasis on specific device power states. No. It took 2+ years to add at at least system power states. You want to build on that, not scratch it and start over. Pavel -- Boycott Kodak -- for their patent abuse against Java.