1 DPM介绍
1.1 Dpm:
设备电源管理,device power management
主要功能:系统在对外设下电前,需要做一些准备工作,保存一些设备的必要信息,以便在系统退出低功耗状态时能够恢复这些信息,使本设备在上电后能像睡眠前那样正常工作。驱动程序作为一部分,跟随系统级别的低功耗状态。
1.2 系统睡眠模式 System Sleep model:
Suspend:保存到ram中,suspend-to-RAM,也就是我们使用并关注的睡眠模式
Hibernation:保存到硬盘中,suspend-to-disk
2 设备电源管理操作
子系统和驱动程序的设备电源管理操作,都定义在dev_pm_ops结构中,这个结构在include/linux/pm.h中定义:
struct dev_pm_ops {
int (*prepare)(struct device *dev);
void (*complete)(struct device *dev);
int (*suspend)(struct device *dev);
int (*resume)(struct device *dev);
int (*freeze)(struct device *dev);
int (*thaw)(st