本讲是Camera KMD ISP子系统专题的第5讲,我们讲解Camera KMD驱动V4L2模型之Component 框架的运用 第3部分,介绍Camera kmd isp子系统中如何使用component顺序初始化。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
Camera kmd isp子系统中如何使用component顺序初始化
谁是master?谁是component?
向组件系统注册component
component_add(&pdev->dev, &cam_sync_component_ops);
component_list全局链表空间布局
构建master 设备需要的component_match(match_list)
static struct platform_driver *const cam_component_platform_drivers[] = {
/* BASE */
&cam_sync_driver,
&cam_smmu_driver,
&cam_cpas_driver,
&cam_cdm_intf_driver,
&cam_hw_cdm_driver,
#ifdef CONFIG_SPECTRA_TFE
&cam_csid_ppi100_driver,
&cam_tfe_driver,
&cam_tfe_csid_driver,
CRM master设备注册到component框架
static const struct component_master_ops cam_req_mgr_component_master_ops = {
.bind = cam_req_mgr_component_master_bind,
.unbind = cam_req_mgr_component_master_unbind,
};
aggregate_devices全局链表空间布局