本文主要講述了在拿到一套硬件和相關的內核源代碼時,怎樣找到特定驅動的源代碼相關的文件。
首先,linux的驅動可以通過make menuconfig命令來進行配置,通過該命令,我們可以大概了解到這套內核所含了哪些可用的源代碼。
因此我們可以通過這個命令,來查看源代碼中包含什麼驅動。初步定位驅動程序的位置。以下講述一下我在沒有其它資料的前提下怎麼查找s3c6410芯片LCD相關驅動代碼的位置的過程(假設你想換一下LCD屏,要改一下該驅動的各種信號的時序和分辨率):3、定位到我們的配置項後,我們把這個配置項聲明的宏定義給記錄下來。例如:以下這些是我們關心的配置項的部份內容:
config FB_S3C_EXT
tristate "S3C Framebuffer Support (eXtended)"
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
depends on FB && (ARCH_S3C64XX || ARCH_S5P64XX || ARCH_S5PC1XX)
default y if VIDEO_SAMSUNG
---help---
TBA
choice
depends on FB_S3C_EXT
prompt "Select LCD Type"
default FB_S3C_EXT_TFT480272
config FB_S3C_EXT_TFT480272
boolean "4.3 inch 480x272 TFT LCD"
select TOUCHSCREEN_IF
help
4.3 inch 480x272 TFT LCD
config FB_S3C_EXT_TFT800480
boolean "7 inch 800x480 TFT LCD - A70"
select TOUCHSCREEN_IF
help
7 inch 800x480 TFT LCD
config FB_S3C_EXT_S70T800480
boolean "7 inch 800x480 TFT LCD - S70"
select TOUCHSCREEN_IF
help
7 inch 800x480 TFT LCD
config FB_S3C_EXT_W50I800480
boolean "5 inch 800x480 TFT LCD - W50i"
select TOUCHSCREEN_IF
help
5 inch 800x480 TFT LCD
config FB_S3C_EXT_T240320
boolean "3.5 inch 240X320 Toppoly LCD"
select TOUCHSCREEN_IF
help
3.5 inch 240X320 Toppoly LCD
這裡的"FB_S3C_EXT"和"FB_S3C_EXT_TFT_LCD類型"是會影響內核的宏定義,我們要把它記下來然後進入下一步的分析。