RK3399平台开发系列讲解(内核入门篇)1.52、Platform 中 probe函数的调用栈分析

简介: RK3399平台开发系列讲解(内核入门篇)1.52、Platform 中 probe函数的调用栈分析

1.gif

我们知道硬件刚起来的时候,bootloader 通过传参让内核选择合适的 dtskernel 在接收到正确的 dts 时,会将各个合适的 node 进行注册(platform_device_register),并挂在 bus 上,底层驱动进行注册时(platform_driver_register),会先通过遍历 bus 上的 devicebus_for_each_dev),然后通过 dts 中的 compatible 进行匹配(platform_match中执行,dts 匹配只是其中一种匹配方式),当发现 driverdevice名字相同时,好的,就可以执行我们需要的

目录
打赏
0
0
0
0
1
分享
相关文章
RK3399平台开发系列讲解(内核入门篇)1.51、platform_get_resource 函数实现细节
RK3399平台开发系列讲解(内核入门篇)1.51、platform_get_resource 函数实现细节
193 0
RK3399平台开发系列讲解(内核调试篇)2.29、PCIe debug方法
RK3399平台开发系列讲解(内核调试篇)2.29、PCIe debug方法
172 0
RK3399平台开发系列讲解(USB设备驱动)5.41、ECM Function Driver代码分析
RK3399平台开发系列讲解(USB设备驱动)5.41、ECM Function Driver代码分析
189 0
RK3399平台开发系列讲解(USB设备驱动)5.41、ECM Function Driver代码分析
Golang 程序启动流程分析
本文主要介绍 Golang 程序启动流程中的关键代码,启动过程的主要代码是通过 Plan9 汇编编写的,如果没有做过底层相关的东西看起来还是非常吃力的,笔者对其中的一些细节也未完全搞懂,如果有兴趣可以私下讨论一些详细的实现细节,其中有一些硬编码的数字以及操作系统和硬件相关的规范理解起来相对比较困难。针对 Golang runtime 中的几大组件也会陆续写出相关的分析文章。
278 0
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 )
【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 )
253 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等