
平台总线设备驱动
zuijinzhao
这个作者很懒,什么都没留下…
展开
-
平台总线设备驱动模型——基础知识
平台总线设备驱动程序采用了分层分离的机制,我们先简述一下其大体上的原理,然后在从具体代码出发进行分析。 大体原理:在内核中存在平台设备总线,我们要把设备挂载到总线设备列表中,同时也要把驱动挂在到总线驱动列表中,但是相匹配的设备和驱动的名字要保持一致,因为总线会根据设备和驱动的名字是否一致,来决定他们是否匹配,一旦设备和驱动匹配起来,就会调用驱动程序里的probe函数进行处理。 代码分析,以/d转载 2012-09-23 11:27:43 · 648 阅读 · 0 评论 -
平台总线设备驱动模型——代码分析
上节我们分析了平台总线的工作流程,这一节里我们来分析代码: 先来看设备驱动代码: #include #include #include #include #include #include #include #include #include #include #include /*定义资源,可以在平台总线驱动程序里通过platform_get_re转载 2012-09-23 11:28:37 · 1070 阅读 · 0 评论 -
platform_device和platform_driver 流程简介
首先介绍一下注册一个驱动的步骤: 1、定义一个platform_driver结构 2、初始化这个结构,指定其probe、remove等函数,并初始化其中的driver变量 3、实现其probe、remove等函数 看platform_driver结构,定义于include/linux/platform_device.h文件中: struct platform_driver {转载 2012-09-23 13:45:42 · 556 阅读 · 0 评论 -
platform_driver平台驱动注册和注销过程
在Linux操作系统中,驱动程序的加载分为两种:内核启动时自动加载和用户手动加载;硬件设备也可以采用两种方式添加到系统中:在系统启动前及系统运行时的热插拨。下面,我们以arm体系结构下的at91处理器中的I2C控制器为例,介绍一下硬件设备及相关的驱动程序是如何绑定及松绑的。 1. 平台驱动注册过程 1.1 at91_i2c_init()函数 在文件drivers/i2c/busse转载 2012-09-23 13:55:29 · 928 阅读 · 0 评论 -
总线平台驱动程序总结(修改版)
总线平台驱动程序总结:只为自己肤浅的理解 针对2.6.32内核 mini2440 建议用Notepad个软件查看 修改部分主要为:my_bus.c和my_bus_device.c中的代码,也修改了一点见解部分都在这两块里面 以platform平台为例子的理解 Linux的驱动程序,模型一般在总线、设备、驱动3个模块 其结构为: 总线:bus_type 核心成员如下 st转载 2012-09-23 11:29:57 · 905 阅读 · 0 评论