从前面 sensor , mipi csi phy , mipi csi, rkcif_mipi 的 各自media模块的注册,分别绑定了他们四个模块各自的 多媒体设备–entity—pad。但是我们知道 media_device多媒体设备 与v4l2_device类似,也是负责将各个子模块集中进行管理,同时在注 册的时候,会向系统注册设备节点,方便用户层进行操作。所以这四个模块也是应该是被添加到同一个 media_device多媒体设备统一管理。但是 在各自注册media的地方没发现该操作。
是这里做的:
从前文:<<图像处理模块所代表的V4L2设备注册>> 中了解到。rkcif_mipi设备注册的过程就是以设备通知器为线索,从顶向下,依次找到下一级设备,添加到V4L2设备种,循环处理。将全部的子设备整理到 V4L2设备中,这样可以通过V4L2设备直接管理所包含的各个子设备。
rkcif_plat_probe
rkcif_plat_init
rkcif_register_platform_subdevs
cif_subdev_notifier
v4l2_async_notifier_register
__v4l2_async_notifier_register
v4l2_async_notifier_try_all_subdevs
v4l2_async_match_notify
v4l2_device_register_subdev
media_device_register_entity
在media_device_register_entity 中 将本模块的 entity 添加到 media_device多媒体设备。
再从前面 sensor , mipi csi phy , mipi csi, rkcif_mipi 的 各自media模块的注册,以及两两相连。可以得到下图:

本文解析了sensor、mipicsiphy、mipicsi及rkcif_mipi等模块如何通过各自的media组件注册,并最终整合到同一media_device中进行统一管理的过程。详细介绍了rkcif_mipi设备注册流程,包括如何通过设备通知器串联各子设备并将其添加到V4L2设备中。
2828

被折叠的 条评论
为什么被折叠?



