还是看看 mxc_v4l2_capture.c做了什么吧。
懒得手敲代码了,还是老样子截图说事吧。
可见,Camera驱动还是作为了一个平台驱动。
看看匹配内容和probe函数做了什么吧
于是查看设备树相关部分
看看 mxc_v4l2_probe 函数
进入 init_camera_struct 看看
这是读取设备树的信息,为以后创建master类型的driver做铺垫。注意传入的cam_data一直被填充
看到一个类型为master的驱动生成。
看到了吗,如我第二篇所述,一个master的类型被注册,深入追踪,一个类型为master的设备被放入链表。
于是可以猜到,一个类型为slave设备注册进去的时候会遍历这个链表找到对应的master,然后调用其attach函数。
接下来的事情就是无关痛痒的一些创建设备属性的了,可读可写的一些。
剩下的就是一些就是与应用层对接的函数,在第一篇已经说过了。
到此为止,我们只是见到了Camera的一个中间层的驱动,具体的设备驱动见第4篇。