Power Management Framework
Power Management Framework :
Kernel Power API
Sr.No | API | Note | Example | Use Case |
---|---|---|---|---|
1 | int pm_runtime_get_sync(struct device *dev) | Dont suspend device till I am done with some transaction. | - | - |
2 | pm_runtime_put_autosuspend(struct device *dev) | Suspend the Device | # http://lxr.free-electrons.com/source/drivers/spi/spi.c#L1163 | Use to Start suspend operation per device |
3 | int pm_request_autosuspend(struct device *dev) | schedule the execution of the subsystem-level suspend callback for the device when the autosuspend delay has expired; if the delay has already expired then the work item is queued up immediately | https://android.googlesource.com/kernel/msm.git/+/android-msm-bullhead-3.10-n-preview-1/drivers/net/wireless/cnss/cnss_pci.c?autodive=0%2F%2F%2F%2F%2F#1460 | Use to add runtime idle callback support |
4 | - | - | - | - |
5 | - | - | - | - |
Reference Link :
http://events.linuxfoundation.org/sites/events/files/slides/Intro_Kernel_PM.pdf https://events.linuxfoundation.org/slides/2011/linuxcon-japan/lcj2011_wysocki.pdf https://www.youtube.com/watch?v=Um0oRanCtzY https://events.linuxfoundation.org/images/stories/pdf/lcjp2012_linming.pdf