_driver)platform_device_register(&omap_i2c_device)。
在驱动程序中实现挂起和恢复函数:omap_i2c_controller_suspen(&omap_i2c_device),omap_i2c_con-troller_resume(&omap_i2c_deviee)。
这样,注册设备在sysfs中都有一个管理接口。通过这些接口可以操纵设备的电源状态。在多种情况下,可利用该接口来挂断设备,例如:应用程序显式挂断应用中不需要的设备;平台挂起前需挂断所有设备;当DPM将系统设置到设备不兼容状态时需挂起该设备等等。其中DPM中管理设备电源状态时还提供设备驱动约束检查(频率相关)。例如,当系统电源状态改变,准备运行在新的操作点时,驱动约束检查该状态是否满足设备正常运行。如果不满足,且当前操作点force属性设置为1,设备首先被LDM回调函数关断(或将设备置于和此时PLL相应的挂起状态);如果满足条件,则利用设备驱动中实现的调节函数转到新状态。
驱动约束还用于限制DPM操作方式。当没有设备被使用时,约束才允许DPM将系统转到低电源空闲状态。
4 总 结
DPM技术通过内核模块的方式实现任务级别电源管理、实现了有效的设备电源管理,满足了嵌入式Linux的需求,补充了基于桌面系统APM和APCI电源管理技术的不足。实践证明,DPM对嵌入式系统,尤其是移动终端,能够起到很好的节能效果。
当然,动态电源管理系统还有待于进一步完善。例如:①可以根据硬件和软件收集系统负载状态,使用Markov,链等手段准确预测电源状态,从而设计出更智能、更有效的状态切换管理策略;②电源管理和实时性能要求之间的复杂关系还需处理等等。
0
0
免责声明:以上内容凡注明署名的,其版权属于署名者所有,转载请注明署名;所有转载的内容,EDN China发布该内容都是出于传递更多信息之目的,如果有侵犯版权事宜,请通知
edneditor@gmail.com 或 010-66422242-213,我们将在第一时间删除该信息。