Linux-2.6.20的LCD驱动分析(二)
来源:互联网 发布:网络流行语 四个字 编辑:程序博客网 时间:2024/06/03 21:45
摆在面前的第一个问题相信应该是,这个函数是从那里开始运行的。这里就应该从long long ago
#ifndef MODULE
……
#define module_init(x) __initcall(x);
……
#else
……
#define module_init(initfn) \
static inline initcall_t __inittest(void) \
{ return initfn; } \
int init_module(void) __attribute__((alias(#c)));
……
#endif
从上面可以看出,module_init
上面啰嗦了这么多,最终是要说明只要用module_init
回到上面的module_init(s3c2410fb_init)
platform
platform
static u64 s3c_device_lcd_dmamask = 0xffffffffUL;
struct platform_device s3c_device_lcd = {
.name = "s3c2410-lcd",
.id = -1,
.num_resources = ARRAY_SIZE (s3c_lcd_resource),
.resource = s3c_lcd_resource,
.dev = {
.dma_mask = &s3c_device_lcd_dmamask,
.coherent_dma_mask = 0xffffffffUL
}
};
这里面的各个数据成员的意思,在platform_device
该宏可以方便的求出一个数组中有多少数据成员,这在很多情况下是很有用的,比如对于 int a[]={1,5,65,23,12,20,3}
另外,platform_device
static struct resource s3c_lcd_resource[] = {
[0] = {
.start = S3C24XX_PA_LCD,
.end = S3C24XX_PA_LCD + S3C24XX_SZ_LCD - 1,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = IRQ_LCD,
.end = IRQ_LCD,
.flags = IORESOURCE_IRQ,
}
};
struct resource
最后在smdk2410_devices
static struct platform_device *smdk2410_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c,
&s3c_device_iis,
&s3c_device_ts,
};
说到这里,应该说向Linux
终于把platform
static struct platform_driver s3c2410fb_driver = {
.probe = s3c2410fb_probe,
.remove = s3c2410fb_remove,
.suspend = s3c2410fb_suspend,
.resume = s3c2410fb_resume,
.driver = {
.name = "s3c2410-lcd",
.owner = THIS_MODULE,
},
};
可以看到该platform
转载自:http://blog.21ic.com/user1/5823/archives/2009/60264.html
- Linux-2.6.20的LCD驱动分析(二)[转]
- Linux-2.6.20的LCD驱动分析(二)[转]
- Linux-2.6.20的LCD驱动分析(二)
- Linux-2.6.20的LCD驱动分析(二)
- Linux-2.6.38的LCD驱动分析(二)
- Linux-2.6.38的LCD驱动分析(二)
- Linux-2.6.38的LCD驱动分析(二)
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析
- Linux-2.6.20的LCD驱动分析(一)[转]
- Linux-2.6.20的LCD驱动分析(三)[转]
- Linux-2.6.20的LCD驱动分析(四)[转]
- EPUB电子书剖析
- 无聊的一天,不知工作的意义何在。
- jquery attr()方法
- as3中舞台和主时间轴的关系
- Searchable(三)
- Linux-2.6.20的LCD驱动分析(二)
- 思维走马灯:.Net知识结构
- 远程连接到 SQL Server 2005 时的问题汇集!!
- Genymed SSH-2 ScpClient源代码研究
- C++中的格式化输出
- Linux 下常用指令格式及实例(持续添加中)
- [Android] Jni中C++和Java的数据类型的对应关系
- Searchable(四)
- tomcat 数据库连接池配置