Overview
Defines the struct IOPMPowerState that power managed drivers should use to describe their power states.
Structs and Unions
Describes a device's power state.
struct IOPMPowerState {
unsigned long version;
IOPMPowerFlags capabilityFlags;
IOPMPowerFlags outputPowerCharacter;
IOPMPowerFlags inputPowerRequirement;
unsigned long staticPower;
unsigned long unbudgetedPower;
unsigned long powerToAttain;
unsigned long timeToAttain;
unsigned long settleUpTime;
unsigned long timeToLower;
unsigned long settleDownTime;
unsigned long powerDomainBudget;
};
Fields
version- Defines version number of this struct. Just use the value "1" when defining an IOPMPowerState.
capabilityFlags- Describes the capability of the device in this state.
outputPowerCharacter- Describes the power provided in this state.
inputPowerRequirement- Describes the input power required in this state.
staticPower- Describes average consumption in milliwatts. Unused; drivers may specify 0.
unbudgetedPower- Describes additional consumption from separate power supply (milliWatts). Unused; drivers may specify 0.
powerToAttain- Describes dditional power to attain this state from next lower state (in milliWatts). Unused; drivers may specify 0.
timeToAttain- Describes time required to enter this state from next lower state (in microseconds). Unused; drivers may specify 0.
settleUpTime- Describes settle time required after entering this state from next lower state (microseconds). Unused; drivers may specify 0.
timeToLower- Describes time required to enter next lower state from this one (microseconds). Unused; drivers may specify 0.
settleDownTime- Settle time required after entering next lower state from this state (microseconds). Unused; drivers may specify 0.
powerDomainBudget- Describes power in milliWatts a domain in this state can deliver to its children. Unused; drivers may specify 0.
}
Discussion
To take part in system power management, drivers should define an array of 2 or more power states and pass it to kernel power management through IOService::registerPowerDriver.
Last Updated: 2008-03-13