文章分类 -  驱动

(转载)Linux usbtouchscreen驱动分析
摘要:在Linux内核中自带USB触摸屏驱动,以linux-2.6.33.3\drivers\input\touchscreen.c为例,进行解析:1.驱动加载:static int __init usbtouch_init(void){return usb_register(&usbtouch_driver); //驱动注册}其中usbtouch_driver定义为: static struct usb_driver usbtouch_driver = {.name = "usbtouchscreen", //驱动名称.probe = usbtouch_probe, / 阅读全文

posted @ 2013-10-13 09:52 熊猫酒仙是也 阅读(1118) 评论(0) 推荐(0)

(转载)Linux串口—struct termios结构体
摘要:一、数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结 构包含了至少下列成员: tcflag_t c_iflag; /* 输入模式 */ tcflag_t c_oflag; /* 输出模式 */ tcflag_t c_cflag; /* 控制模式 */ tcflag_t c_lflag; /* 本地模式 */ cc_t c_cc[NCCS]; /* 控制字符 */ struct termios {unsigned short c_iflag; /* 输入模式标志*/ unsigned short c_oflag; /* 输出模式标志*/ unsigned 阅读全文

posted @ 2013-10-09 14:31 熊猫酒仙是也 阅读(547) 评论(0) 推荐(0)

(转载)串口驱动分析之samsung.c
摘要:#if defined(CONFIG_SERIAL_SAMSUNG_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)#define SUPPORT_SYSRQ#endif#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "samsun 阅读全文

posted @ 2013-09-24 18:36 熊猫酒仙是也 阅读(317) 评论(0) 推荐(0)

(转载)Linux设备模型之input子系统详解
摘要:------------------------------------------ 本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言在键盘驱动代码分析的笔记中,接触到了input子系统.键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统 是所有I/O设备驱动的中间层,为上层提供了一个统一的界面。例如,在终端系统中,我们不需要去管有多少个键盘,多少个鼠标。它只要从input子系统中 去取对应的事件(按键,鼠标移位等)就可以了。今 阅读全文

posted @ 2013-09-16 12:33 熊猫酒仙是也 阅读(231) 评论(0) 推荐(0)

(转载)linux 输入子系统
摘要:Linux输入子系统将输入驱动抽象为三层:事件处理层、核心层、设备驱动层。应用程序只需要跟事件处理层打交道,不需要察觉设备的变化。核心层是负责管理输入设备,并将消息在事件处理层和设备驱动层之间传递。由于事件处理和设备驱动的分离,使得应用程序读取输入信息的接口固定不变就可以适应新的同类输入设备。表示事件处理层的数据结构是struct input_handler,每个handler代表一种处理事件的方式,允许多个handler共存。代表设备驱动层的数据结构是struct input_dev。input_dev和handler可以建立连接,连接它们的就是struct input_handle。核心层 阅读全文

posted @ 2013-09-16 12:30 熊猫酒仙是也 阅读(261) 评论(0) 推荐(0)

(转载)Linux中__init、__devinit等初始化宏
摘要:内核使用了大量不同的宏来标记具有不同作用的函数和数据结构。如宏__init 、__devinit 等。这些宏在include/linux/init.h 头文件中定义。编译器通过这些宏可以把代码优化放到合适的内存位置,以减少内存占用和提高内核效率。下面是一些常用的宏:? ?__init ,标记内核启动时使用的初始化代码,内核启动完成后不再需要。以此标记的代码位于.init.text 内存区域。它的宏定义是这样的:?#define _ _init _ _attribute_ _ ((_ _section_ _ (".text.init"))) ? ?__exit ,标记退出代码 阅读全文

posted @ 2013-09-14 09:29 熊猫酒仙是也 阅读(328) 评论(0) 推荐(0)

(转载)驱动之路-platform按键驱动
摘要:一 、重要知识点: 1.platform设备模型 从Linux 2.6起引入了一套新的驱动管理和注册机制,platform_device和platform_driver,Linux中大部分的设备驱动都可以使用这套机制。platform是一条虚拟的总线。设备用platform_device表示,驱动用platform_driver进行注册,Linux platform driver机制和传统的device driver机制(通过driver_register进行注册)相比,一个明显的优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动中使用这些资源时通过platform 阅读全文

posted @ 2013-09-13 16:19 熊猫酒仙是也 阅读(268) 评论(0) 推荐(0)

导航