资源简介

总结式代码流程分析注释,分析了 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

评论

共有 条评论