该驱动由 Michael Reeves 提交补丁,代码规模接近 900 行,面向苹果 System Management Controller(SMC),用于在 Linux 内核中报告交流电源适配器的充电状态、电池状态以及相关功率指标。新驱动基于 Asahi Linux 内核树中已有的树外驱动代码,之后经过重构以符合主线合入要求,并改进了对新版苹果 SMC 固件、无电池设备等场景的兼容处理。
在配置层面,新驱动通过新增的 MACSMC_POWER Kconfig 选项启用,借助苹果 SMC,上层可以读取电池容量、电压、电流以及充电状态等关键信息。这些数据通过 Linux 现有的电源供应(power supply)框架对外提供,因此可以直接被当前主流的 Linux 用户空间电源工具识别和利用,无需专门适配。
这项功能的到来,对希望在 Linux 下评估 Apple Silicon MacBook 与 Intel Core、AMD Ryzen 等笔记本在电池功耗表现上的差异的用户而言尤为重要,也为日常将 Apple Silicon MacBook 作为 Linux 主力生产力设备的用户提供了可靠的电量监控能力。目前该驱动主要针对 Apple M1、M2、M3 系列硬件,而 Apple M4、M5 等新一代芯片在 Linux 生态中的良好支持预计仍需较长时间铺垫。
有兴趣的开发者和用户可以通过邮件列表补丁集查看这一 Apple SMC 电源驱动的详细实现和审阅进展,等待其最终进入主线 Linux 内核: