本文主要讲述了在拿到一套硬件和相关的内核源代码时,怎样找到特定驱动的源代码相关的文件。
首先,linux的驱动可以通过make menuconfig命令来进行配置,通过该命令,我们可以大概了解到这套内核所含了哪些可用的源代码。
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类型"是会影响内核的宏定义,我们要把它记下来然后进入下一步的分析。