linux驱动
flx_wchy
这个作者很懒,什么都没留下…
展开
-
platform_driver_register(struct platform_driver *drv)注册后如何找到驱动匹配的设备
platform_driver_register(struct platform_driver *drv)注册后如何找到驱动匹配的设备struct platform_driver { int (*probe)(struct platform_device *); int (*remove)(struct platform_device *);转载 2012-09-05 13:54:12 · 382 阅读 · 0 评论 -
udev解析
一、什么是udev? 这篇文章UDEV Primer给我们娓娓道来,花点时间预习一下是值得的。当然,不知道udev是什么也没关系,把它当个助记符好了,有了下面的上路指南,可以节省很多时间。我们只需要树立一个信念:udev很简单! 嵌入式的udev应用尤其简单。 第二、为什么udev要取代devfs? 这是生产关系适应生产力的需要,udev好,devfs坏,用好的转载 2012-10-11 14:00:26 · 377 阅读 · 0 评论 -
platform总线设备驱动开发流程
从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device和 Platform_driver 。 Linux中大部分的设备驱动,都可以使用这套机制 , 设备用 Platform_device表示,驱动用 Platform_driver 进行注册。 Linux platform driver机制和传统的 dev转载 2012-10-11 10:17:00 · 659 阅读 · 0 评论 -
platform总线驱动添加大体框架
最近在做tiny210的四线触摸屏的驱动,用到了platform虚拟总线的驱动,期间参考了不少的网上资料,学到了不少。下面将自己的工作过程做一个简单的总结,方便以后自己用,同时也希望能给别人带来帮助。platform总线介绍: platform总线、设备与驱动:在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找原创 2012-10-11 10:09:16 · 580 阅读 · 0 评论 -
Android中Input型输入设备驱动原理分析<二>
驱动层只是把输入设备注册到输入子系统中,驱动层的代码本身是没有创建设备节点的,而是由EventHander层调用InputCore中的函数来实现,当某个事件触发时都将通过input _event()来将input event传送到input.c中,再由input.c分配事件到每一个"input handler"2)input _event()是怎么实现的void input_event(s转载 2012-09-19 08:19:20 · 661 阅读 · 0 评论 -
关于设备模型、设备与驱动关联的全过程分析
本文的大多数内容参考了:对于网络上设备与驱动关联的全过程分析(I2C方式)一文。在此特别感谢这位作者前辈的无私奉献。 本人只是添加了一些个人理解和补充。 在Linux操作系统中,驱动程序的加载分为两种:内核启动时自动加载和用户手动加载;硬件设备也可以采用两种方式添加到系统中:在系统启动前及系统运行时的热插拨。下面,我们以arm体系结构下的at91处理器中的I2C控制器为例,介转载 2012-09-05 13:51:14 · 373 阅读 · 0 评论 -
Android中Input型输入设备驱动原理分析<一>
Android中Input型输入设备驱动原理分析 话说Android中Event输入设备驱动原理分析还不如说Linux输入子系统呢,反正这个是没变的,在android的底层开发中对于Linux的基本驱动程序设计还是没变的,当然Android底层机制也增加几个属于android自己的机制。典型的IPCAndroid中的input设备驱动主要包括:游戏杆(joystick)、鼠标(转载 2012-09-18 17:08:58 · 716 阅读 · 0 评论 -
platform_device与驱动的联系
首先你需要为SOC的各个功能部分定义他的一些资源.例如可用于访问的寄存器地址.中断号,DMA什么的。然后将这些资源(resource) 作为 platform 的dev .通过platform_add_devices函数将你定义的paltform_device变量注册到系统的dev里面.。或者你可以象我这样将你需要的驱动添加:static struct platform_device *smd转载 2012-09-05 13:53:03 · 272 阅读 · 0 评论 -
linux驱动头文件说明(转载)
http://hi.baidu.com/%BB%F0%D0%C7%C6%B0%B3%E6911/blog/item/3c01cb8c3c5bccab0f244491.html驱动程序: #include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。转载 2012-09-05 09:40:05 · 416 阅读 · 0 评论 -
在驱动模块初始化函数中实现设备节点的自动创建
我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。内核中定义了struct class结构体,顾名思义,一个struct class结构体类型变量对应一个类,内核同时提供了cla转载 2012-10-15 09:13:57 · 348 阅读 · 0 评论