可以简单概述:
kernel起来以后进行msm_sensor_driver的模块儿初始化,对dts配置进行相关的解析,在Android起来以后,会启动camera 的守护进程Server,调用一系列的初始化接口,先获取sensor name,根据name去匹配相关的初始化配置,再传到底层写入到模组寄存器
这里先是填充了MCT的几个基本的操作函数:set_mod;query_mod;start_session和stop_session。
这几个基本的操作接口,其中包含了对sensor、actuator、eeprom等的操作接口
其次是对每一个sensor实体进行的一些基本init,包括find object、fill相关的一些操作接口等等
find sensor 的过程
前面提到,在module_sensor_init函数中,对start_session这个接口进行了绑定,sensor的power up和reg init等操作,也就是在start_session这个接口当中完成,通过里面相关的接口,最终会调用到kernel里面的接口,进行上下电,match sensor id,读写寄存器等操作: