Linux驱动 2026年7月6日 3 分钟

Input子系统

两者匹配之后会做的事情,创建一个inputhandle结构体,里面记录handler和inputdev 可以相互找到,从…

两者匹配之后会做的事情,创建一个inputhandle结构体,里面记录handler和inputdev

可以相互找到,从两个结构体都存在一个记录对方存在的链表,可以看出该子系统是可以一对多或者多对对的

设备注册过程,先放入设备链表,然后看一下是否匹配

如果匹配就调用connect函数

匹配函数

匹配之后就会调用connect函数

整体注册流程

数据读取完整流程


设备会调用对应函数

莓一个应用程序打开都会创建一个client,代表一个应用程序

将用户放入设备的用户列表中去

上述为打开过程

上述为读取过程

没有数据时,设备就会休眠。当有数据时就会产生中断从而唤醒设备

找到对应的handler来进行数据处理

进行数据处理,优先调用events函数去对数据进行处理,event是就版本的代码,效率比较低

从设备中的客户端逐个取出,然后将数据逐个传给客户端

处理数据之后就会唤醒设备

实战驱动编写

上一篇 虚拟GPIO子系统撰写

下一篇 Input 子系统 Handler 匹配机制详解