资源简介
总结式代码流程分析注释,分析了 mtk sensor 框架,基于 6582+andorid 4.4
代码片段和文件信息
/*
MTK sensor 经过了一个中间层,数据上报数据为:
应用层: /dev/input/xxx
----------------------------------------------------------------------------------
内核:
[Input 子系统]
/\
||
[MTK 添加的 hwmsen 层] [轮询传感器上报或传感器中断自己上报]
/\
||
--------------------------------------
[sensor 1] [sensor 2] ..... [sensor n]
【传感器驱动调用接口】:
hwmsen_attach(int sensor struct hwmsen_object *obj)
////////////////////////////////////////////////////////
// 创建一个 hwmsen_context 添加全局数组 dev_context
// 这样 hwmsen 模块就会轮询检查上报此传感器的值
mcxt->cxt[sensor] = kzalloc(sizeof(struct hwmsen_context) GFP_KERNEL)
memcpy(&mcxt->cxt[sensor]->obj obj sizeof(*obj));
hwmsen_detach(int sensor)
kfree(mcxt->cxt[sensor]);
mcxt->cxt[sensor] = NULL;
【应用程序操作入口流程】:
hwmsen_unlocked_ioctl(struct file *fp unsigned in
评论
共有 条评论