linux设备驱动uevent详解,高通平台battery上报电量实例

本文深入解析Linux设备驱动中的UEVENT机制,以高通平台battery电量上报为例,阐述如何通过qpnp_batt_power_set_property函数设置UEVENT节点并发送netlink消息,实现电量信息的实时传递。
摘要由CSDN通过智能技术生成
本文以高通平台上的android系统为参照展开探讨。

1,uevent是什么呢?
uevent是一种linux设备模型中的一个组成部分。kset中包含的uevent_ops结构体拥有uevent的操作函数。
uevent可以在设备发生变化时主动通知应用层。是对普通先注册设备后注册驱动模式的一种补充。一般用作usb设备的自动驱动加载、电池电量上报等。

2,uevent主动通知应用层的原理是什么?
有两种方式,第一种是设置环境变量后使用call_usermodehelper_setup函数直接调用应用层程序;第二种是通过netlink向应用层发送消息,在应用层的守护进程收到消息后完成相关操作。其中第一种本方式较少使用,以第二种为主。
ps:netlink是一种基于socket的内核空间与用户空间的双向通信机制,十分灵活好用。

3,sys目录下有许多uevent节点,它们是干什么的?
最开始我对uevent的理解感到困惑就
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良非凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值