2024年3月9日发(作者:)
1. 电源
1.1. Linux电源类(Linux power supply class)
参考
power_supply.h (includelinux) 、
power_supply_core.c (driverspower)、
power_supply_sysfs.c (driverspower) 、
power_supply_ (Documentationpower)
1.1.1. 概述
电源类提供了电池、UPS、AD、DC等电源在用户空间的接口。
该类定义了一些核心属性,这些属性可以通过sysfs或者uenvt接口访问。
每种属性都有特殊的含义和单位,由于这些属性普遍适用于各种电源,但是实际应用
中有些电源可能无法提供某些属性,所以这些属性驱动可以不提供。
电源类是可扩展的,允许驱动程序定义其自身需要的属性,抛弃不需要的属性。
它还集成了LED框架,用来表示电池充电/完全充电状态和AC / USB电源线上状态。
1.1.2. 属性
定义于内核文件:power_supply_sysfs.c (driverspower)
1.2. linux驱动
1.2.1. 重要数据结构和函数
1.2.1.1. struct power_supply
定义于power_supply.h (includelinux)
对应着电源实例。
struct power_supply {
const char *name;//名称,对应于/sys/class/power_supply/xxx文件夹
enum power_supply_type type;//电源类型,标示该电源为电池、主电源、
源等
enum power_supply_property *properties;//提供的属性
size_t num_properties;// properties数组的大小
/*对应着当此电源变化时需要通知的电源模块的name*/
电USB


发布评论