摘要: 在“linux lcd设备驱动剖析二”文章中,我们详细分析了s3c24xxfb_probe函数。文章链接:http://blog.csdn.net/lwj103862095/article/details/18189765s3c2410fb.c中s3c24xxfb_probe是非常重要的函数之一,但... 阅读全文
posted @ 2016-03-28 16:15 隔壁王叔叔a 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 上一节文章中详细地剖析了probe函数,但是从始至终都没有看到打开读写文件接口的操作函数,只看到了下面这个操作结构体[cpp] view plain?static struct fb_ops s3c2410fb_ops = { .owner = THIS_MODULE, ... 阅读全文
posted @ 2016-03-28 16:14 隔壁王叔叔a 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 上一节中,分析了s3c2410fb,c的入口出口函数,以及一些重要结构体的分析,初步知道了这是一个平台驱动的架构。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/18188259上一节讲到probe函数就没继续往下深究了,这一节里,... 阅读全文
posted @ 2016-03-28 16:13 隔壁王叔叔a 阅读(317) 评论(0) 推荐(0) 编辑
摘要: s3c2440 lcd驱动源码文件是:drivers/video/s3c2410fb.c看驱动源码首先当然是先看入口函数,这里是s3c2410fb_init函数[cpp] view plain?int __init s3c2410fb_init(void) { /* 注册一个s3c241... 阅读全文
posted @ 2016-03-28 16:12 隔壁王叔叔a 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 这一节里,我们来使用平台驱动设备这一套架构来实现我们之前使用简单的字符设备驱动点亮LED,这里并无实际意义,只是告诉大家如果编写平台总线驱动设备。问:如何编写平台总线驱动设备这一套架构的设备驱动?答:分为两个.c文件,一个是drv.c,另一个是dev.c;前者实现平台驱动,后者实现平台设备,平台总线... 阅读全文
posted @ 2016-03-28 16:10 隔壁王叔叔a 阅读(537) 评论(1) 推荐(1) 编辑
摘要: platform总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。Linux 2.6的设备驱动模型中,把I2C、RTC、LCD等都归纳为platform_device。总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动;... 阅读全文
posted @ 2016-03-28 16:08 隔壁王叔叔a 阅读(240) 评论(0) 推荐(0) 编辑
摘要: platform_driver_register driver_register bus_add_driver //把驱动放入总线的驱动链表里 driver_attach ... 阅读全文
posted @ 2016-03-28 15:00 隔壁王叔叔a 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 驱动注册的probe函数probe函数在设备驱动注册最后收尾工作,当设备的device 和其对应的driver 在总线上完成配对之后,系统就调用platform设备的probe函数完成驱动注册最后工作。资源、中断调用函数以及其他相关工作。下面是probe被调用的一些程序流程。从driver_regi... 阅读全文
posted @ 2016-03-28 13:23 隔壁王叔叔a 阅读(1158) 评论(0) 推荐(0) 编辑