input子系统分析之二:数据结构】的更多相关文章

内核版本:3.9.5 1. input_dev,用来标识输入设备 struct input_dev { const char *name; const char *phys; const char *uniq; struct input_id id;//与input_handler匹配用的id unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)]; unsigned long evbit[BITS_TO_LONGS(EV_CNT)];//支持所…
转自:http://www.cnblogs.com/jason-lu/articles/3164901.html 内核版本:3.9.5 spi_master struct spi_master用来描述一个SPI主控制器,我们一般不需要自己编写spi控制器驱动. 1 /*结构体master代表一个SPI接口,或者叫一个SPI主机控制器,一个接口对应一条SPI总线,master->bus_num则记录了这个总线号*/ 2 struct spi_master { 3 struct device dev…
内核版本:3.9.5 spi_master struct spi_master用来描述一个SPI主控制器,我们一般不需要自己编写spi控制器驱动. /*结构体master代表一个SPI接口,或者叫一个SPI主机控制器,一个接口对应一条SPI总线,master->bus_num则记录了这个总线号*/ struct spi_master { struct device dev; struct list_head list; /* other than negative (== assign one…
输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分析很有意义. 一.input子系统知识点 完整的input子系统分析包括以下几方面: 1) 软件层次 2) 输入子系统分层(input_handler,input_core, input_device) 3) 输入设备(TS)驱动开发 4) evdev handler分析 5) input设备模型视…
转自:http://www.linuxidc.com/Linux/2011-09/43187.htm 作者:作者:YAOZHENGUO2006 Input子系统处理输入事务,任何输入设备的驱动程序都可以通过Input输入子系统提供的接口注册到内核,利用子系统提供的功能来与用户空间交互.输 入设备一般包括键盘,鼠标,触摸屏等,在内核中都是以输入设备出现的.下面分析input输入子系统的结构,以及功能实现. 一. Input子系统结构与功能实现 1. Input子系统是分层结构的,总共分为三层: 硬…
------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ ------------------------------------------ 一:前言 在键盘驱动代码分析的笔记中,接触到了input子系统.键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统.Input子系统 是所有I/O设备驱动的中间层,为上层提供了一个统一的界面.例如,在终端系统中,我们不…
转自:https://blog.csdn.net/xiaopangzi313/article/details/52383226 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xiaopangzi313/article/details/52383226通过前一节的分析得到,linux Input子系统上传数据本质上是将input_dev的数据,上报给input_handler,当用户读入event时,驱动层只需要利用copy_to_user将数据…
内核版本:3.9.5 本节将以even handler来分析设备的注册和打开的过程,分析之前不妨回顾一下上节介绍的数据结构. 结合前两节分析可知,input子系统分为3层,最上一层是event handler,中间层是input core,底层是input driver.input driver把event report到input core层,input core对event进行分发,传到 event handler,相应的event handler层把event 放到event buffer…
Linux 内核为了处理各种不同类型的的输入设备 , 比如说鼠标 , 键盘 , 操纵杆 , 触摸屏 , 设计并实现了一个对上层应用统一的试图的抽象层 , 即是Linux 输入子系统 . 输入子系统的层次结构体如下 从底层到上层 , input 子系统由 设备驱动层 , 核心层 , 以及事件处理层3个部分组成 当一个鼠标移动, 一个按键按下或弹起 , 它都需要从底层设备驱动-->核心层-->事件处理层 -->用户空间 , 层层上报 , 一直到运用程序. 应用这个input  子系统有如下优…
内核版本:3.9.5 输入设备总类繁杂,包括按键,键盘,触摸屏,鼠标,摇杆等等,它们本身都是字符设备,不过内核为了能将这些设备的共性抽象出来,简化驱动的开发,建立了一个Input子系统.Input子系统分为三层,从下至上分别是输入设备驱动层,输入核心层以及输入事件驱动层. 核心层: 高效,无bug,可重用 事件处理层: 负责与应用程序交互 设备驱动层: 负责与底层输入设备交互 事件处理程序是标准的,对于所有的输入类是通用的.所以一般而言我们要实现的设备驱动程序,而不是事件处理程序.内核已经为我们…