写过或者了解linux display framebuffer 驱动的朋友应该都熟悉fb_find_mode这个函数, 我之前工作过程中接触过这个函数, 但了解不太深入,今天决定好好分析一下,做个比较 好的总结。
fb_find_mode函数一般是在LCD控制器驱动中的probe函数里面调用的, 用来获取一个valid video mode, 进而封装framebuffer 的 fb_var_screeninfo结构体参数。
函数原型如下(位于 kernel\drivers\video\modedb.c 文件):
相关参数定义如下:
Example:
现在以atmel的framebuffer driver作为例子说明。
在__atmel_lcdfb_probe函数里面调用fb_find_mode: