通过 DEVICE_INITCALL(“dev-chg”, charger_dev_init); 注册驱动,自动在main初始化中运行。
优点:耦合少,可移植性强,适用大团队模块化开发
缺点:抽象度高,小团队开发时间耗时久
-
CPU在运行时根据系统负载进行动态电压和频率变换的CPUFreq
-
CPU在系统空闲时根据空闲的情况进行低功耗模式的CPUIdle
-
多核系统下CPU的热插拔支持
-
系统和设备对于延迟的特别需求而提出申请的PM QoS,它会作用于CPUIdle的具体策略
-
设备驱动针对系统Suspend to RAM/Disk的一系列入口函数
-
SoC进入suspend状态、SDRAM自刷新的入口
-
设备的runtime(运行时)动态电源管理,根据使用情况动态开关设备
-
底层的时钟、稳压器、频率/电压表(OPP模块完成)支撑,各驱动子系统都可能用到
模拟linux的电源管理
APP层使用方法:app – power – power_charger.c
#include