高通Pmic闪光灯代码架构

请添加图片描述

msm-kernel

注册一个名为"leds-qti-flash"的驱动,驱动代码在"leds-qti-flash.c"文件中。
对下:实现对pmic芯片更新寄存器,也就是实际控制闪光灯的操作。
对上:提供led_classdev结构体,即flash/switch结点的统一控制接口

leds_list为全局变量,作为链表头串起所有的led_cdev节点

camera-kernel

trigger_list为全局变量,作为链表头串起所有trigger节点,与leds_list互相遍历配对。作为对接msm-kernel的节点。

实现cam_flash_ctrl作为控制中心,对上挂靠在v4l2-subdev上接入V4L2子系统,对下通过trigger实现对闪光灯的控制。

g_dev为全局变量,标记着CRM设备。CRM作为主设备(v4l2-dev)连接着所有如flash、af、sensor等子设备(v4l2-subdev)

hal

先open CRM设备,通过 ioctl MEDIA_IOC_ENUM_ENTITIES获取所有子设备的实体,再通过open 各个实体中记录的设备名获取所有子设备的句柄并记录在CSLInternalKMDDevices[]数组中,后续操作各个device时获取对应的句柄做ioctl操作

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值