Messages in this thread Patch in this message | | | From | Huang Ying <> | Subject | [RFC v2 1/5] PM, Runtime, Add power_must_be_on flag | Date | Fri, 4 May 2012 16:13:37 +0800 |
| |
The extreme way to save device power in runtime is to turn off power of device. For example, D3cold for PCIe bus and ZPODD (Zero Power Optical Disk Drive) for SATA bus will do that.
But sometimes power off is not expected, some possible reason is as follow
- power off device usually incurs longer resume latency, if it exceeds power QoS requirement, power off should be disabled.
- For some buses, device in power off state can not support remote wakeup. If remote wakeup is desired, power off should be disabled.
In general, whether to put a device into power off state should be decided by the driver of the device, but for some buses, whether to put a device into power off state may be done by the parent of the device. For example, a PCIe end point device may be put into power off state by the PCIe port connected to it.
So a flag is introduced for the children devices to tell the parent device, whether it should be put into power off state.
This flag is also used for device driver to tell bus layer whether it is OK to be powered off.
Signed-off-by: Huang Ying <ying.huang@intel.com> --- include/linux/pm.h | 1 + 1 file changed, 1 insertion(+)
--- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -536,6 +536,7 @@ struct dev_pm_info { unsigned int irq_safe:1; unsigned int use_autosuspend:1; unsigned int timer_autosuspends:1; + unsigned int power_must_be_on:1; enum rpm_request request; enum rpm_status runtime_status; int runtime_error;
| |