static struct logo_data { int depth; int needs_directpalette; int needs_truepalette; int needs_cmapreset; const struct linux_logo *logo; } fb_logo __read_mostly;
里面包含了色深depth以及一些调色板数据和logo数据指针
struct linux_logo { int type; /* one of LINUX_LOGO_* */ unsigned int width; unsigned int height; unsigned int clutsize; /* LINUX_LOGO_CLUT224 only */ const unsigned char *clut; /* LINUX_LOGO_CLUT224 only */ const unsigned char *data; };
该结构体中包含了logo本身的所有信息以及图像数据,这些数据并没有直接出现在内核源码中,内核源码中只能找到logo信息数据的声明
真正的数据来自于drivers/video/logo下对应的.ppm文件,文件的前缀名必须与内核源码中所用到的logo信息数据变量相同
.ppm文件其实就是用文本的方式存储了logo图像的信息和图像数据,可以使用文本方式打开进行查看
drivers/video/samsung/s3cfb.c
static int __devinit s3cfb_probe(struct platform_device *pdev) { ..