IMX6Q Camera驱动分析 (3)

还是看看 mxc_v4l2_capture.c做了什么吧。

懒得手敲代码了,还是老样子截图说事吧。

IMX6Q Camera驱动分析 (3)

可见,Camera驱动还是作为了一个平台驱动。

IMX6Q Camera驱动分析 (3)

看看匹配内容和probe函数做了什么吧

IMX6Q Camera驱动分析 (3)

于是查看设备树相关部分

IMX6Q Camera驱动分析 (3)

看看 mxc_v4l2_probe 函数

IMX6Q Camera驱动分析 (3)

进入 init_camera_struct 看看 

IMX6Q Camera驱动分析 (3)

这是读取设备树的信息,为以后创建master类型的driver做铺垫。注意传入的cam_data一直被填充

IMX6Q Camera驱动分析 (3)

 

 IMX6Q Camera驱动分析 (3)

看到一个类型为master的驱动生成。

IMX6Q Camera驱动分析 (3)

看到了吗,如我第二篇所述,一个master的类型被注册,深入追踪,一个类型为master的设备被放入链表。

 IMX6Q Camera驱动分析 (3)

于是可以猜到,一个类型为slave设备注册进去的时候会遍历这个链表找到对应的master,然后调用其attach函数。

 IMX6Q Camera驱动分析 (3)

接下来的事情就是无关痛痒的一些创建设备属性的了,可读可写的一些。

 剩下的就是一些就是与应用层对接的函数,在第一篇已经说过了。

 

到此为止,我们只是见到了Camera的一个中间层的驱动,具体的设备驱动见第4篇。

 

上一篇:cf----2019-09-01( Appending Mex,Changing Array,Candies Distribution)


下一篇:Java方法01 什么是方法