韦东山嵌入式linux系列-驱动进化之路:总线设备驱动模型-课后作业

在内核源码中搜索 platform_device_register 可以得到很多驱动,选择
一个作为例子:
① 确定它的名字
② 根据它的名字找到对应的 platform_driver
③ 进入 platform_device_register/platform_driver_register 内部,分析 dev 和 drv 的匹配过程

(1)搜索 platform_device_register,随便找一个文件,找有全局变量的

(2)点进去,在这个文件中可以看到注册

(3)再在这个文件中找platform device

有一个platform device,里面有resource,resource指向一个数组,里面定义了设备的资源,平台设备指定资源。

(4)继续搜索它的platform_driver,按名称搜索(orion_nand)

平台platform driver有probe函数,;platform device和platform driver通过name建立联系。

这里的resource需要遵守一定的规则

(5)怎么匹配呢

从(2)开始看

platform_device_register(&db88f5281_boot_flash);

接下来就和 韦东山嵌入式linux系列-驱动进化之路:总线设备驱动模型-CSDN博客 后面的分析一样了。

(6)找到对应的platform_driver_register函数

半天没找到......

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 02:24:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 02:24:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 02:24:01       58 阅读
  4. Python语言-面向对象

    2024-07-17 02:24:01       69 阅读

热门阅读

  1. 探索Eureka的高级用法:在服务中实现分布式锁

    2024-07-17 02:24:01       21 阅读
  2. Rust编程-函数式编程

    2024-07-17 02:24:01       24 阅读
  3. 前端打包部署后源码安全问题总结

    2024-07-17 02:24:01       24 阅读
  4. 前端实现调用ChatGPT

    2024-07-17 02:24:01       24 阅读
  5. 萝卜快跑的「悖论」

    2024-07-17 02:24:01       24 阅读
  6. Dart语法问答到实践

    2024-07-17 02:24:01       16 阅读
  7. c++将utf8转gb2312

    2024-07-17 02:24:01       25 阅读
  8. 理解 extern “C“:跨语言链接的桥梁

    2024-07-17 02:24:01       24 阅读
  9. 记录第一次因为数据库事务产生的BUG

    2024-07-17 02:24:01       19 阅读
  10. 量化机器人如何提升交易透明度?

    2024-07-17 02:24:01       23 阅读