我的内核驱动程序需要访问电池的属性(get_property、set_property)。
问题:如何找到电池的struct power_supply?
我只找到power_supply_get_by_name
,但电池可以有不同的名称。我需要检查 power_supply 的类型,但这是我卡住的地方。
直接get_by_type
或 aget_all_power_supplies
自行检查类型或get_power_supply_names
传递给 power_supply_get_by_name 对我来说很好。
我想避免内核中的文件访问,那么找到 type="battery" power_supply 的更好方法是什么?
我怀疑我应该再次抓住供应,因为它可能会改变或消失/重新出现?在某些情况下,该驱动程序可以每隔几秒钟访问一次电源,因此最好不要花很长时间寻找电池。
派对迟到了一年。:) 这是遍历电源类所有对象的基本思想。
此函数将遍历所有
power_suppy_class
驱动程序。注意,只要回调函数返回 0,它就会检查该类中的下一个可用设备。