高通CRM的v4l2驱动模型

本文详细描述了CRM系统中v4l2框架的初始化流程,包括主设备和子设备的创建步骤,以及Camsync模型中的sync_device、video_device和media_device的初始化过程。涉及的关键对象如v4l2_device、mediadevice和videodevice的分配与挂载。

概述下crm中v4l2框架的初始化创建流程:

对于CRM主设备的v4l2框架创建过程:

1、分配和初始化v4l2 device对象

2、分配和初始化media device对象,然后将v4l2 device中mdev绑定到media device上

3、分配和初始化video device对象,将其中v4l2 device指向前面创建的v4l2 device对象;

将其中entity对象添加到media device中entities的链表中。创建video device时会创建设备结点/dev/video0,用于用户空间对内核空间的访问。

对于子设备的的v4l2 框架创建流程:

子设备有很多,cam-caps、cam-isp、cam-ope等等,他们依次进行初始化创建。

以cam-caps为例:

1、分配和初始化v4l2 subdev对象,其中包括四个主要成员:

list、v4l2_dev、entity、devnode。

(1)struct media_entity entity; //用于挂到media_device的entities链表上

(2)struct list_head list; //用于挂在v4l2_device的subdevs链表上

(3)struct v4l2_device *v4l2_dev; //指向一个v4l2_device对象,跟主设备指向的是同一个v4l2_device对象

(4)struct video_device *devnode; //创建设备节点/dev/v4l2-subdevX时创建的video_device

其中v4l2_dev指向主设备创建的v4l2 device对象。

list是链表头,它

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值