LCM在Kernel中的代码分析
lcm的分析首先是mtkfb.c
1.mtk_init中platform_driver_register(&mtkfb_driver)注冊平臺驅(qū)動(dòng)
panelmaster_init();
DBG_init();
mtkfb_ipo_init();
2.mtkfb_probe進(jìn)行普配
3.然后執(zhí)行primary_display_init(mtkfb_find_lcm_driver(),lcd_fps);
4.mtkfb_find_lcm_driver()進(jìn)行查找驅(qū)動(dòng):
p=strstr(saved_command_line,"lcm=")
memset((void *)mtkfb_lcm_name,0,sizeof(mtkfb_lcm_name));//
strncpy((char *)mtkfb_lcm_name,(const char *)p,(int)(q-p));//得到lcm的名字
主要是通過在之前LK階段向kernel傳參的command_line地址中,拿出lcm驅(qū)動(dòng)名字字符串的,之后再將第一個(gè)字符串的地址返回
然后進(jìn)入primary_display_init函數(shù)中,再執(zhí)行disp_lcm_probe()函數(shù)。
pgc->plcm=disp_lcm_probe(lcm_name,LCM_INTERFACE_NOTDEFFINE)
?
5.disp_lcm.c中disp_lcm_probe()
lcm_drv=lcm_driver_list[0];//這里的名字就是command_line中拿出來的名字。
lcm_param=disp_lcm_get_param(pgc->plcm);//獲得lcm參數(shù)
接下來模式選擇
?
6.LCM_DRIVER包括:lcm的名字,相關(guān)功能函數(shù),獲得參數(shù),初始化,休眠,喚醒,比較id,esd_check,esd_recover,ata_check
?
轉(zhuǎn)載于:https://www.cnblogs.com/xjh-2016/p/5452173.html
總結(jié)
以上是生活随笔為你收集整理的LCM在Kernel中的代码分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 立刻马上拼了!日本全力推进6G网络研发:
- 下一篇: leetcode jump game i