一个 PCI 驱动被添加到 PCI 核心, 当它调用 pci_register_driver 函数时. 这个函数 只初始化 struct device_driver 结构, 这个结构包含在 struct pci_driver 结构里面, 如同之前在关于添加设备的一节中提过的. 接着 PCI 核心使用指向包含在 struct pci_driver 结构中的 sturct device_driver 结构的指针调用在驱动核心的 driver_register 函数.

driver_register 函数初始化在 struct device_driver 结构中的几个锁, 并且接着调用 bus_add_driver 函数. 这个函数进行下面的步骤:

  • 查找驱动要被关联的总线. 如果这个总线被发现, 函数立刻返回.
    • 驱动的 sysfs 目录被创建, 基于驱动的名子和它被关联的总线.

      • · 总线的内部锁被获取, 接着所有的已经注册到总线的设备被检查, 匹配函数为它们 被调用, 就象当一个新设备被添加时. 如果那个匹配函数成功, 接着剩下的绑定过 程发生, 如同在前面章节描述过的.

最新文章

  1. 常用的 SQL 函数
  2. HackerRank "Prim's (MST) : Special Subtree"
  3. Android中方便好用的倒计时类
  4. JavaScript 变量、函数与原型链
  5. 了解node.js
  6. Unity3D学习笔记——选择Enemy
  7. 路由器to路由器
  8. http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站
  9. Linux - atexit()(注册终止)函数
  10. 巧妙利用JS中的自定义函数——化繁为简,提高效率
  11. json随笔
  12. VS2013中Python学习笔记[基础入门]
  13. return 返回值的用法
  14. python中 __name__及__main()__的妙处
  15. Linux下使用mail发送邮件
  16. 758B Blown Garland
  17. CSS定位之position详解
  18. 手机浏览器跳转APP
  19. ORACLE 实用案列
  20. Numpy的简单用法

热门文章

  1. PHPCMS快速建站系列之常用标签
  2. LeedCode OJ --- Binary Tree Inorder Traversal
  3. jq向元素附加数据
  4. Ubuntu 如何编译安装第三方库
  5. MySql5.7 配置文件 my.cnf 设置
  6. mysql 中 DATE_ADD函数和 DATE_SUB函数用法
  7. 像Google一样构建机器学习系统3 - 利用MPIJob运行ResNet101
  8. HZOI20190714 T1序列
  9. How do I cover the “no results” text in UISearchDisplayController's searchResultTableView?
  10. 2016 年度开源中国新增开源软件排行榜 TOP 100