device_add
来源:互联网 发布:香樟木家具的危害知乎 编辑:程序博客网 时间:2024/04/27 02:45
暂时认为,device_add主要调用这个两个函数bus_add_device(dev)与bus_attach_device(dev)
bus_add_device(dev)
是把device结构加到dev->bus上去,dev->bus 结构要在调用device_add()之前 配置恰当。
bus_attach_device(dev)如下
int device_attach(struct device *dev)
{
int ret = 0;
down(&dev->sem);
if (dev->driver) {
ret = device_bind_driver(dev); //绑定device 与driver 仅仅在 /sys/文件系统,但好像没看到调用driver的probe函数。
if (ret == 0)
ret = 1;
else {
dev->driver = NULL;
ret = 0;
}
} else {
ret = bus_for_each_drv(dev->bus, NULL, dev, __device_attach);
/*bus_for_each_drv则会把bus上的每个注册的driver都检测一遍,如果 bus->match 函数返回1 则表明当前某个driver与此device是匹配的,则执行 dev->driver=drv,然后调用bus->probe (dev)函数。
是在调用bus_regsiter(&XXX_bus_type)之前添加到XXX_bus_type 结构体中的callback function.
*/
}
up(&dev->sem);
return ret;
}
- device_add
- device_add()浅析
- 八、device_add
- Linux设备模型之device_add
- Linux设备模型之device_add
- class_create(),device_create解析.device_create和device_add区别
- linux内核之sys接口device_add详解
- SQL SERVER字段类型说明
- 简要介绍SQL Server 2008新的事件处理系统—SQL Server Extended Events
- Java SE6.0 学习(一)
- 向ACM队学习(转~)
- Java连接MySQL中文乱码处理
- device_add
- js 设置属性另外方式
- 国际DHL
- Makefile学习笔记(一)
- java 对.xls 文件格式的操作
- GB2312简体中文编码表
- SRM 441 DIVII 250概述及源码(C#)
- 我的第一篇博文
- VMware上安装VxWorks问题解决