input子系统的框架
input子系统分为三个部分:1.input核心层 2.input_device 3.input_handler
input核心层的任务是1.创建主设备号 2.创建file operation结构体·3.注册 设备4.准备入口、出口
其中input准备的file operation中只有一个open函数,这个open函数指向的是input_handler中的·成员fops(是一个handler准备的函数集)
input_device和input_handler向input核心层注册,并把他们分别置于各自的链表之中,链表中的每一个input_handler都会调用input_attach_handler函数,这个函数会input_device的链表中自己的id_table是否支持这个某个input_dev,如果支持input_device和input_handler会调用Input_handler中的connect函数,此时会生成一个input_handle的结构体input_handle中有指向device链表和handler链表的成员,并且在二者的链表中分别增加一个list_device或list_handler的成员指向的就是input_haandle中对方的成员,从而建立了连接。
这就是input子系统的基本的框架