Linux 2.6.22 新增 display class

jollen 發表於 December 29, 2007 8:22 PM

Linux 2.6.22 於 2007 年 7 月 8 日正式釋出,這個版本的 kernel 有一個令我感興趣的新功能。Linux 2.6.22 新增一個 class driver,稱為「display class」。顧名思義,這個新的 class driver 是用來管理與 "display" 有關 device driver。以下引用自 [include/linux/display.h]:

28 struct display_device;
29
30 /* This structure defines all the properties of a Display. */
31 struct display_driver {
32         int  (*set_contrast)(struct display_device *, unsigned int);
33         int  (*get_contrast)(struct display_device *);
34         void (*suspend)(struct display_device *, pm_message_t state);
35         void (*resume)(struct display_device *);
36         int  (*probe)(struct display_device *, void *);
37         int  (*remove)(struct display_device *);
38         int  max_contrast;
39 };
40
41 struct display_device {
42         struct module *owner;                   /* Owner module */
43         struct display_driver *driver;
44         struct device *parent;                  /* This is the parent */
45         struct device *dev;                     /* This is this display device */
46         struct mutex lock;
47         void *priv_data;
48         char type[16];
49         char *name;
50         int idx;
51 };
52
53 extern struct display_device *display_device_register(struct display_driver *driver,
54                                         struct device *dev, void *devdata);
55 extern void display_device_unregister(struct display_device *dev);

在 Kconfig 選單中,可以找到一個 "Display device support" 的項目。根據 display class 的規劃,這個新的驅動程式界面除了支援 LCD 外,也會支援 CRT、TVout 以及其它的顯示界面。

2007 年下半年度因為工作特別忙碌,或者說,工作項目比較繁雜,無法將時間有效利用,便堆積了許多未讀的資料。正好利用 2007 結束前的幾個放假日,將這半年來累積的資料一次消化完畢,並將一些紀錄和大家分享。

延伸閱讀

2007.08.29: Linux frame buffer 驅動程式開發簡報下載

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw