come from :
struct fb_info ranges[0];
} *apertures;
};
struct fb_var_screeninfo ;
struct fb_fix_screeninfo ;
這兩個結構體分別記錄了顯示器可以修改和不可修改的資訊,這些資料成員需要在驅動程式中初始化。其中fix.visual代表顯示器使用的色彩模式,linux中支援的色彩模式如下:
#define fb_visual_mono01 0 /* 黑白. 1=black 0=white */
#define fb_visual_mono10 1 /* 黑白. 1=white 0=black */
#define fb_visual_truecolor 2 /* 真彩色,由紅綠藍三基色構成*/
#define fb_visual_pseudocolor 3 /* 偽彩色,採用索引顏色 */
#define fb_visual_directcolor 4 /* 查表顯示 */
#define fb_visual_static_pseudocolor 5 /* 唯讀的偽彩色 */
fb_bitfield結構體描述每乙個畫素在顯示緩衝區中的組織方式。
struct fb_bitfield ;
struct fb_ops ;
二、framebuffer註冊流程分析
static struct platform_driver tccfb_driver = ,};
static int __init tccfb_init(void)
static void __exit tccfb_cleanup(void)
module_init(tccfb_init);
module_exit(tccfb_cleanup);
struct tccfb_info ;
framebuffer 子系統分析
fb info screen base dma alloc writecombine fbi dev,map size,map dma,gfp kernel fb info screen base 是framebuffer起始虛擬位址,也就是mmap後程式寫入fb的位址,該位址會直接寫入到fb in...
input輸入子系統分析
1.檢視input子系統支援哪些裝置 cat proc bus input devices 2.應用程式如何使用 fd mouse open dev input event0 o rdwr event1表示滑鼠事件,input下的裝置檔案主裝置號都為13,如下圖所示 根據開啟裝置的主裝置號為13,知...
pinctrl子系統分析(一)
pinctrl子系統分析 一 pinctrl子系統分析 二 pinctrl子系統分析 三 許多soc的內部都包含了pin控制器,通過pin控制器,我們可以匹配引腳的狀態和功能特性。在了解pinctrl子系統之前,我們先來了解一些基本的概念。soc的很多引腳都可以配置成不同的功能,如a1和a2兩個引腳...