Power Management 接口
接口实现
/include/linux/pm.h
/drivers/base/power/main.c
主要功能: 对下,定义
Device PM 相关的回调函数,让各个 Driver 实现;对上,实现统一的 PM 操作函数,供 PM 核心逻辑调用。
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)(struct device *dev);
int (*poweroff)(struct device *dev);
int (*restore)(struct device *dev);
int (*suspend_late)(struct device *dev);
int (*resume_early)(struct device *dev);
int (*freeze_late)(struct device *dev);
int (*thaw_early)(struct device *dev);
int (*poweroff_late)(struct device *dev);
int (*restore_early)(struct device *dev);
int (*suspend_noirq)(struct device *dev);
int (*resume_noirq)(struct device *dev);
int (*freeze_noirq)(struct device *dev);
int (*thaw_noirq)(struct device *dev);
int (*poweroff_noirq)(struct device *dev);
int (*restore_noirq)(struct device *dev);
int (*runtime_suspend)(struct device *dev);
int (*runtime_resume)(struct device *dev);
int (*runtime_idle)(struct device *dev);
};
从 Linux PM Core 的角度来说,这些 callbacks 并不复杂,因为 PM Core
要做的就是在特定的电源管理阶段,调用相应的 callbacks,例如在 suspend/resume 的过程中,PM Core 会依次调用
prepare
— > suspend
— > suspend_late
— > suspend_noirq
wakeup
— > resume_noirq
— > resume_early
— > resume
- > complete
但由于这些 callbacks 需要由具体的设备 Driver 实现,这就要求驱动工程师在设计每个 Driver
时,清晰的知道这些 callbacks 的使用场景、是否需要实现、怎么实现,这才是 struct dev_pm_ops 的复杂之处。
Linux kernel 对 struct dev_pm_ops 的注释已经非常详细了,但要弄清楚每个
callback 的使用场景、背后的思考,并不是一件容易的事情。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
嵌入式
+关注
关注
5076文章
19045浏览量
303860 -
接口
+关注
关注
33文章
8537浏览量
150906 -
Linux
+关注
关注
87文章
11236浏览量
209024 -
Power
+关注
关注
1文章
498浏览量
67710 -
函数
+关注
关注
3文章
4317浏览量
62487
发布评论请先 登录
相关推荐
PADs助手主要功能
` 本帖最后由 zhihuizhou 于 2011-11-7 15:09 编辑
目前Pads助手有以下主要功能:1. 原理图元件批量编号功能:2. 鼠标功能增强。用鼠标右键 、中键拖动原理图
发表于 10-31 16:44
基于linux socket can程序的主要功能
最近写了个自认为不错的基于linux socket can程序,主要功能:程序具备全部CAN功能,包括CAN标准帧/扩展帧接收与发送、CAN总线错误判断、环回等功能适用基于LINUX SOCKET
发表于 07-08 06:40
电池管理系统的主要功能包括哪些
电池管理系统(BATTERY MANAGEMENT SYSTEM),俗称电池保姆或电池管家,是连接车载动力电池和电动汽车的重要纽带,其主要功能包括:电池物理参数实时监测;电池状态估计;在线诊断与预警
发表于 09-08 07:17
romIP Core主要功能是什么
FPGA21 嵌入式块Ram应用之Rom(Read only memory)模块名称: romIP Core主要功能 :调用内部的资源,实现只读功能实验目的 :了解这些芯片专用硬件资源的情况下,将其
发表于 12-27 08:13
bms主要功能有哪些
、储能系统等新能源领域的关键部件,其主要功能是对电池组进行实时监控、保护和管理,以保证电池组的安全、稳定和高效运行。本文将对BMS的主要功能进行详细介绍。 数据采集:BMS通过传感器对电池组的电压、电流、温度等关键参数进行实时采集,以便对电池组的工作状态进行全面了解。这些
评论