![]() |
![]() |
![]() |
Describe a power mode
The pm_power_mode_t structure represents the power mode of a power managed object.
This power mode can be represented in the following ways:
Logical power modes:
This is the normal operating mode of a device.
A driver may implement multiple device power modes that correspond to PM_MODE_ACTIVE that differ in their power consumption and performance characteristics.
This mode is typically used only by a driver-internal policy to reduce power consumption when the device is not in active use, and allows a driver to implement a low power mode where some or all device functions are disabled, while providing a short latency to return to a PM_MODE_ACTIVE mode.
A driver may implement multiple device power modes that correspond to PM_MODE_IDLE that differ in their power consumption and available device functionality.
This mode is typically used to power down devices before placing the system into a low power standby state.
A driver may implement multiple device power modes that correspond to PM_MODE_STANDBY that differ in the available functionality of the device. For example, enabling system level wakeup functionality.
The PM_POWER_MODE() macro can be used to convert a device specific mode to its corresponding logical power mode. Supplying an invalid mode value will return PM_MODE_INVALID.
The PM_MODE_VALID() macro can be used to determine if a power mode is a valid power mode value. Note that this only validates that the mode value is within the acceptable range - it doesn't validate that the mode is actually supported by any particular power managed object.
![]() |
![]() |
![]() |