首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在android/linux power driver中注册设备驱动?

如何在android/linux power driver中注册设备驱动?
EN

Stack Overflow用户
提问于 2013-03-11 17:05:19
回答 1查看 2.2K关注 0票数 2

我正在为android设备开发一个与lcd相关的内核级设备驱动程序。谁能帮助我在Android中的电源管理相关的API,通过这些API,我可以注册我的驱动程序,以接收设备状态的任何变化。

更准确地说,我希望我的驱动程序在系统状态发生变化时(例如从运行状态到睡眠状态或挂起状态)接收来自power driver的任何事件(或者是否有其他事件)。我希望我的司机也能休眠,在目前的情况下,这会消耗掉所有的电池。

我有几个链接http://www.kandroid.org/online-pdk/guide/power_management.htmlhttp://developer.android.com/reference/android/os/PowerManager.html

它谈到了像android_register_early_suspend和android_register_early_resume这样的函数,但我在我的整个内核源代码(基于Linux3.0)中找不到对这些函数的任何调用

我听说过"Linux电源管理“,并且可以在我当前的基准代码中找到像drivers/base/power和drivers/power这样的文件夹。如何在我的代码中使用这个驱动程序。

如果我遗漏了任何细节,请让我知道。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2013-03-11 18:26:04

您的驱动程序应该实现运行时挂起/恢复回调。检查此doc

在'struct dev_pm_ops‘中实现设备PM回调的示例代码(如linux/pm.h中所定义)

代码语言:javascript
复制
static int lcdxxx_suspend(struct device *dev)
{
    //Your Code to suspend your device
}

static int lcdxxx_resume(struct device *dev)
{
    //Your code to resume your device
}

static const struct dev_pm_ops lcd_pm_ops = {
    .suspend    = lcdxxx_suspend,
    .resume     = lcdxxx_resume,
};

struct device_driver lcd_driver = {
    ....
    .pm = &lcd_pm_ops,
    ....
}

这只是示例impl。真正的实现取决于您的需求。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15334630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档