lcm的分析首先是mtkfb.c

1.mtk_init中platform_driver_register(&mtkfb_driver)注册平台驱动

panelmaster_init();

DBG_init();

mtkfb_ipo_init();

2.mtkfb_probe进行普配

3.然后执行primary_display_init(mtkfb_find_lcm_driver(),lcd_fps);

4.mtkfb_find_lcm_driver()进行查找驱动:

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驱动名字字符串的,之后再将第一个字符串的地址返回

然后进入primary_display_init函数中,再执行disp_lcm_probe()函数。

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参数

接下来模式选择

6.LCM_DRIVER包括:lcm的名字,相关功能函数,获得参数,初始化,休眠,唤醒,比较id,esd_check,esd_recover,ata_check

LCM在Kernel中的代码分析的更多相关文章

  1. linux内核中链表代码分析---list.h头文件分析(一)【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637596.html linux内核中链表代码分析---list.h头文件分析(一) 16年2月27日17 ...

  2. linux内核中链表代码分析---list.h头文件分析(二)【转】

    转自:http://blog.chinaunix.net/uid-30254565-id-5637598.html linux内核中链表代码分析---list.h头文件分析(二) 16年2月28日16 ...

  3. 虚拟机创建流程中neutron代码分析(二)

    前言: 当nova服务发送了创建port的restful调用信息之后,在neutron服务中有相应的处理函数来处理调用.根据restful的工作原理,是按照 paste.ini文件中配置好的流程去处理 ...

  4. 虚拟机创建流程中neutron代码分析(三)

    前言: 当neutron-server创建了port信息,将port信息写入数据库中.流程返回到nova服务端,接着nova创建的流程继续走.在计算节点中neutron-agent同样要完成很多的工作 ...

  5. Metalama简介3.自定义.NET项目中的代码分析

    本系列其它文章 使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题 Metalama简介1. 不止是一个.NET跨平台的编译时AOP框架 Metalama简介2.利用Aspect在 ...

  6. 虚拟机创建流程中neutron代码分析(一)

    前言: 在openstack的学习当中有一说法就是网络占学习时间的百分之七十.这个说法或许有夸大的成分,但不可否认的是openstack中的 网络是及其重要的部分,并且难度也是相当大.试图通过nova ...

  7. wifi display代码 分析

    转自:http://blog.csdn.net/lilian0118/article/details/23168531 这一章中我们来看Wifi Display连接过程的建立,包含P2P的部分和RTS ...

  8. Linux内核中的GPIO系统之(3):pin controller driver代码分析

    一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...

  9. Linux kernel的中断子系统之(七):GIC代码分析

    返回目录:<ARM-Linux中断系统>. 总结: 原文地址:<linux kernel的中断子系统之(七):GIC代码分析> 参考代码:http://elixir.free- ...

随机推荐

  1. VS配置路径和宏

    http://blog.csdn.net/puttytree/article/details/7838419

  2. android Fragment 使用

    一 .Fragment的理解 Fragment 与activity 相似,但比activity 多出几个方法 ,Fragment的生命周期小于activity 一个Activity 中可以包含多个Fr ...

  3. 1007. Maximum Subsequence Sum (25)

    Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, ...

  4. Linux C相关基础

    系统求助 man 函数名 man 2 函数名    -    表示函数是系统调用函数 man 3 函数名    -    表示函数是C的库函数     eg:man fread     man 2 w ...

  5. AngularJS小知识点一

    AngularJS是由谷歌公司及一个由开发者组成的个人社区共同打造.其主要优势在于帮助使用者在web应用程序中实现必要的动态视图.它是通过原生的MVC(模型-视图-控制器)功能来增强HTML. PS: ...

  6. Nodejs的安装及配置

    1.从Nodejs官网下载安装包,进行安装,是否安装成功,可以从cmd npm去检查,出现如下界面,就表示安装成功 2.打开Webstorm进行配置,(如果安装前打开webstorm了,需要重启web ...

  7. Oracle存储过程(转)

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  8. json_encode 中文乱码

    用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量. 而在PHP5.4, 这个问题终 ...

  9. [分享] 《步步为营封 Win7》--skyfree

    [分享] <步步为营封 Win7>--skyfree Skyfree 发表于 2009-9-13 05:51:32 https://www.itsk.com/thread-20957-1- ...

  10. Ruby--学习记录(实时更新)

    变量的命名方式决定了变量的种类: 局部变量  以英文字母或者_开头: 全局变量  以$开头: 实例变量  以@开头: 类变量     以@@开头: