Linux 内核pci添加一个驱动
2024-10-08 02:59:49
一个 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 目录被创建, 基于驱动的名子和它被关联的总线.
- · 总线的内部锁被获取, 接着所有的已经注册到总线的设备被检查, 匹配函数为它们 被调用, 就象当一个新设备被添加时. 如果那个匹配函数成功, 接着剩下的绑定过 程发生, 如同在前面章节描述过的.
最新文章
- 常用的 SQL 函数
- HackerRank ";Prim's (MST) : Special Subtree";
- Android中方便好用的倒计时类
- JavaScript 变量、函数与原型链
- 了解node.js
- Unity3D学习笔记——选择Enemy
- 路由器to路由器
- http_load安装与测试参数分析 - 追求自由自在的编程 - ITeye技术网站
- Linux - atexit()(注册终止)函数
- 巧妙利用JS中的自定义函数——化繁为简,提高效率
- json随笔
- VS2013中Python学习笔记[基础入门]
- return 返回值的用法
- python中 __name__及__main()__的妙处
- Linux下使用mail发送邮件
- 758B Blown Garland
- CSS定位之position详解
- 手机浏览器跳转APP
- ORACLE 实用案列
- Numpy的简单用法
热门文章
- PHPCMS快速建站系列之常用标签
- LeedCode OJ --- Binary Tree Inorder Traversal
- jq向元素附加数据
- Ubuntu 如何编译安装第三方库
- MySql5.7 配置文件 my.cnf 设置
- mysql 中 DATE_ADD函数和 DATE_SUB函数用法
- 像Google一样构建机器学习系统3 - 利用MPIJob运行ResNet101
- HZOI20190714 T1序列
- How do I cover the “no results” text in UISearchDisplayController's searchResultTableView?
- 2016 年度开源中国新增开源软件排行榜 TOP 100