我正在为android设备开发一个与lcd相关的内核级设备驱动程序。谁能帮助我在Android中的电源管理相关的API,通过这些API,我可以注册我的驱动程序,以接收设备状态的任何变化。
更准确地说,我希望我的驱动程序在系统状态发生变化时(例如从运行状态到睡眠状态或挂起状态)接收来自power driver的任何事件(或者是否有其他事件)。我希望我的司机也能休眠,在目前的情况下,这会消耗掉所有的电池。
我有几个链接http://www.kandroid.org/online-pdk/guide/power_management.html和http://developer.android.com/reference/android/os/PowerManager.html
它谈到了像android_register_early_suspend和android_register_early_resume这样的函数,但我在我的整个内核源代码(基于Linux3.0)中找不到对这些函数的任何调用
我听说过"Linux电源管理“,并且可以在我当前的基准代码中找到像drivers/base/power和drivers/power这样的文件夹。如何在我的代码中使用这个驱动程序。
如果我遗漏了任何细节,请让我知道。任何帮助都将不胜感激。
发布于 2013-03-11 18:26:04
您的驱动程序应该实现运行时挂起/恢复回调。检查此doc。
在'struct dev_pm_ops‘中实现设备PM回调的示例代码(如linux/pm.h中所定义)
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。真正的实现取决于您的需求。
https://stackoverflow.com/questions/15334630
复制相似问题