Run-time PM的问题

yuhao113 2012-03-20 05:55:02
请教大家一个问题,我今天看震动马达的代码,代码里suspend和resume都是用runtime_suspend和runtime_resume
这两个函数是什么时候会被调用的呢?
static const struct dev_pm_ops isa1200_dev_pm_ops = {
// .runtime_suspend = isa1200_runtime_suspend,
// .runtime_resume = isa1200_runtime_resume,
.runtime_idle = isa1200_runtime_idle,
.suspend = isa1200_pm_suspend,
.resume = isa1200_pm_resume,
};

static struct i2c_driver isa1200_driver = {
.driver = {
.owner = THIS_MODULE,
.name = "isa1200",
.pm = &isa1200_dev_pm_ops,
},
.probe = isa1200_probe,
.remove = isa1200_remove,
.id_table = isa1200_id,
};

还有就是runtime_idle这个函数是什么作用的?
...全文
114 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuhao113 2012-03-22
  • 打赏
  • 举报
回复
自己结个帖,.runtime_suspend .runtime_resume .runtime_idle这三个函数要配对使用,不配对使用可能会有suspend调用不到的情况。另外使用runtime PM可能在resume的时候占用一些时间,可能会影响唤醒时的效果。
yuhao113 2012-03-20
  • 打赏
  • 举报
回复
情况说错了,其实我就是想问什么时候会调用.suspend = isa1200_pm_suspend和.resume = isa1200_pm_resume这两个函数,以及.runtime_idle = isa1200_runtime_idle有什么作用

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧