内核提供给电池驱动的接口就是结构体power_supply。
Battery驱动程序需要通过sys文件系统向用户空间提供接口,sys文件系统的路径是由上层的程序指定的。
Linux标准的Power Supply驱动程序所使用的文件系统路径问/sys/class/power_supply,其中的每个子目录表示一种能源供应设备的名称。
Power Supply驱动程序的头文件在include/linux/power_supply.h中定义,注册和注销驱动程序的函数如下所示:
struct power_supply *power_supply_register(struct device *parent,
const struct power_supply_desc *desc,
const struct power_supply_config *cfg)
void power_supply_unregister(struct power_supply *psy)
其中power_supply
结构体为驱动程序需要实现的部分:
struct power_supply {
const struct power_supply_desc *desc;
char **supplied_to;
size_t num_supplicants;
char **supplied_from;
size_t num_supplies;
struc