IMX6Q Camera驱动分析 (3)

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

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

IMX6Q Camera驱动分析 (3)_第1张图片

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

IMX6Q Camera驱动分析 (3)_第2张图片

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

IMX6Q Camera驱动分析 (3)_第3张图片

于是查看设备树相关部分

IMX6Q Camera驱动分析 (3)_第4张图片

看看 mxc_v4l2_probe 函数

IMX6Q Camera驱动分析 (3)_第5张图片

进入 init_camera_struct 看看 

IMX6Q Camera驱动分析 (3)_第6张图片

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

IMX6Q Camera驱动分析 (3)_第7张图片

 

 IMX6Q Camera驱动分析 (3)_第8张图片

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

IMX6Q Camera驱动分析 (3)_第9张图片

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

 IMX6Q Camera驱动分析 (3)_第10张图片

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

 IMX6Q Camera驱动分析 (3)_第11张图片

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

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

 

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

 

转载于:https://www.cnblogs.com/coversky/p/10885622.html

你可能感兴趣的:(IMX6Q Camera驱动分析 (3))