高通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操作


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部