ndev是我们在probe函数中定义的局部变量,如果我想在其他地方使用它怎么办呢? 这就需要把它保存起来。内核提供了这个方法,使用函数platform_set_drvdata()可以将ndev保存成平台总线设备的私有数据。 以后再要使用它时只需调用platform_get_drvdata()就可以了 ...
分类:
其他好文 时间:
2017-05-17 21:04:25
阅读次数:
164
5.5.5.platform平台总线工作原理25.5.5.1、平台总线体系的工作流程(1)第一步:linux内核系统启动时在bus系统中注册platform。1、什么叫做bus系统,操作系统中有一套管理总线的体系,内核里有一个子系统,就叫做总线子系统。就是内核来管理总线的。bus系统在内核启动时建立起..
分类:
系统相关 时间:
2017-03-13 00:15:57
阅读次数:
298
5、5、4、platform平台总线工作原理5、5、4、1、何为平台总线(1)platform总线相对于i2c、usb、spi、pci等总线是不同的,他们属于物理总线,platform总线是属于虚拟总线、抽象出来的,platform总线下的设备并不对应于真实存在的一种设备,这种总线在真实的物理是是没有的。比如i2..
分类:
系统相关 时间:
2017-03-12 22:04:57
阅读次数:
298
1 平台总线的简介 平台总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。 我们可以把一个驱 ...
分类:
其他好文 时间:
2017-01-09 18:04:49
阅读次数:
197
之前在分析samsung的fb驱动代码的时候,其中有一段代码是处理内核logo显示相关的,今天就内核logo这个话题来聊一聊! 一、处理内核logo显示相关的代码在哪? 回到samsung的fb驱动代码中,因为fb的驱动代码是基于platform平台总线编写的,所以我们需要找到platform_dr ...
分类:
系统相关 时间:
2016-11-19 23:02:35
阅读次数:
222
关于关于驱动设备模型相关概念请参考《Linux Device Drivers》等相关书籍,和内核源码目录...\Documentation\driver-model 简单来说总线(bus),驱动(driver),设备(device)这三者之间的关系就是:驱动开发者可以通过总线(bus)来将驱动(dr ...
分类:
其他好文 时间:
2016-10-12 00:58:23
阅读次数:
279
其实跟上次跟的平台总线有关 在arch/arm/mach-mx6/board-mx6q_sabresd.c 文件中 这里对3个i2c总线进行添加 看一下mx6q_sabresd_i2c_data 的原型 设置了i2c 比特率 进里面的代码: 里面是一个宏定义,很显然,这可能是另外一个人写的代码,里面 ...
分类:
系统相关 时间:
2016-08-02 01:04:38
阅读次数:
350
首先,整个驱动框架的开始,是基于 platform 平台总线的。
struct platform_device s3c_device_usb = {
.name = "s3c2410-ohci",
.id = -1,
.num_resources = ARRAY_SIZE(s3c_usb_resource),
.resource = s3c_usb_resource,...
分类:
其他好文 时间:
2016-07-19 10:15:24
阅读次数:
308
平台总线程序设计 一、平台总线概述 平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线,其优势在于采用了总线的模型对设备与驱动进行了管理,这总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性。 通过平台总线机制开发设备驱动的流程如图: 平台总线的结构:platfor ...
分类:
编程语言 时间:
2016-04-08 20:05:55
阅读次数:
373
平台总线驱动设计 平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线,其优势在于采用了总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性。虚拟总线和实际的总线优势相当。我们只要把驱动和设备挂载到虚拟总线就可以了。 平台总线驱动与设备匹配机制 平台总线的结构:plat
分类:
其他好文 时间:
2016-02-14 07:57:52
阅读次数:
231