linux输入子系统分析

linux输入子系统分析

ID:35478110

大小:56.65 KB

页数:5页

时间:2019-03-25

linux输入子系统分析_第1页
linux输入子系统分析_第2页
linux输入子系统分析_第3页
linux输入子系统分析_第4页
linux输入子系统分析_第5页
资源描述:

《linux输入子系统分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、2.6内核输入子系统分析前面对S3C2410的触摸屏驱动进行了分析,现深入一层,对其所在的输入子系统进行刺探。首先引用一个不错的帖子,对26内核的输入子系统进行一个大致的描述:引:在做触摸屏?对于输入子系统,相信你也早看了网上一些介绍文章文章了,读一下就可了解对其基本架构,剩下的只是一些源码细节阅读。输入子系统的3层间的联系是很简单的,驱动层的核心结构为structinput_dev:structinput_dev{■•■structlist_headh_list;•••};在input_register_device时就会将input_dev与input_handle联

2、系起来;所谓联系就是将有关的input_handle链入以input_dev中h」st为Hash头的链中;而事件处理层的核心结构是structinput_handler:structinput_handler{■•■structlist_headh_list;•••};在input_register_handler时同样会将input_handler与input_handle联系起来,所谓联系就是将有关的input_handle链入以input_handler中h」st为Hash头的链中;由上可见input_handle即是一个用于关联驱动层input_dev和事件处理层

3、input_handler的中间结构:structinput_handle{•••structinput_dev*dev;structinput_handler*handler;structlist_headd_node;structlist_headh_node;};其中d_node用于input_dev链,h_node用于input_handler链,有了input_handle,就把木叙dev与handler联系起来,相互能容易的找到。看了以上的内容,相信你对2.6内核的输入子系统应该有个大概的了解了,现在我就input_dev>input_handle>input

4、_handler这三者建立联系的过程进行详细的分析:触摸屏驱动中,s3c2410ts_probe函数的最后一步,调用input_register_device函数开始进入三者建立联系的过程:voidinput_register_device(structinput_dev*dev){structinput_handle*handle;structinput_handler*handler;structinput_device_id*id;INIT_LIST_HEAD(&dev->h」ist);list_add_tail(&dev->node,&input_dev_list

5、);list_for_each_entry(handler,&input_handler_list,node)if(!handler->blacklist11!input_match_device(handler->blacklist,dev))if((id=input_match_device(handler->id_table,dev)))if((handle=handler->connect(handler,dev,id)))input_link_handle(handle);}注:我只保留重要的部分,省略号部分不是我关心的,以下同。list_for_each_en

6、try(handler,&input_handler_list,node)的作用在于:从input_handler_list的链表中提匾input_handler的指针。##################################################################################那这个input_handler的指针又是何时存放在input_handler_list链表里面的呢?答案是像tsdev.c这些接口驱动里面调用input_register_handler进而调用list_add_tail(&handler->

7、node,&input_handler_list);把其input_handler指纟十加进input_handler_list里面,详细请查看源码,在此不做详胡析。###################################################################################获取了input_handler指针后通过input_match_device进行兀配选择:staticstructinput_device_id*input_match_device(structi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。