总线设备驱动模型.pdf
文本预览下载声明
www.enj
总线设备驱总线设备驱总线设备驱总线设备驱动动动动模型模型模型模型
((v2014)v2014)
版权声明:本课件及其印刷物、视频的版权归成都国嵌信息技术有限公司所有,并保留所有权力:任何单
位或个人未经成都国嵌信息技术有限公司书面授权,不得使用该课件及其印刷物、视频从事商业、教学活
动。已经取得书面授权的,应在授权范围内使用,并注明 来源:国嵌”。违反上述声明者,我们将追究其
法律责任。
课程索引 www.enj
嵌入 Linux技术咨询QQ号: 550491596
嵌入 Linux学习交流QQ群:
总线模型
www.enj
随着技术的不断进步,系统的拓扑结构也
越来越复杂,对热插拔,跨平台移植性的
要求也越来越高,2.4内核已经难以满足
这些需求。为适应这种形势的需要,从
Linux 2.6内核开始提供了全新的设备模型。
嵌入 Linux技术咨询QQ号: 550491596
嵌入 Linux学习交流QQ群:
1.手把手带你来分析
www.enj
图解
总线设备驱动模型
嵌入 Linux技术咨询QQ号: 550491596
嵌入 Linux学习交流QQ群:
2.总线
www.enj
嵌入 Linux技术咨询QQ号: 550491596
嵌入 Linux学习交流QQ群:
2.1 描述结构
www.enj
在 Linux 内核中, 总线由 bus_type 结构表示,
定义在 linux/device.h
struct bus_type {
ccoonnsstt ccharhar **nanameme;; /*/*总线总线名称名称**//
int (*match) (struct device *dev, struct
device_driver *drv); /*驱动与设备的匹配函数*/
}
嵌入 Linux技术咨询QQ号: 550491596
嵌入 Linux学习交流QQ群:
2.1 描述结构 www.enj
int (*match)(struct device * dev, struct device_driver * drv)
当一个新设备或者新驱动被添加到这个总线
时,该函数被调用。用于判断指定的驱动程
序是否能处理指定的设备。若 以,则返回
非零。
嵌入 Linux技术咨询QQ号: 550491596
嵌入 Linux学习交流QQ群:
2.2 总线注册与注销
www.enj
总线的注册使用如下函数
bus_register(struct bus_type *bus)
若成功,新的 线将被添加进系统,并 在
//ssyyss/b/buuss 下看下看到到相相应的应的目录目录。。
总线的注销使用:
void bus_unregister(struct bus_type *bus)
嵌入 Linux技术
显示全部