第5讲 Camera KMD驱动V4L2模型之Component框架的运用 第3部分

2024年11月04日 第5讲 Camera KMD驱动V4L2模型之Component框架的运用 第3部分 极客笔记

本讲是Camera KMD ISP子系统专题的第5讲,我们讲解Camera KMD驱动V4L2模型之Component 框架的运用 第3部分,介绍Camera kmd isp子系统中如何使用component顺序初始化。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera
星球ID: 17296815
Wechat 极客笔记圈

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全局链表空间布局

find_components()接口详解

顺序执行各component的bind()

本文链接:http://so.lmcjl.com/news/17008/

展开阅读全文