lcd驱动

lcd驱动采用设备-总线-驱动的模型

我们要写的就是向总线注册驱动,然后把对lcd的一系列操作及信息全部放到fb_info中去,然后把fb_info结构体放到数组中去,当device有和driver同名时,device的open、write、ioctal等操作先到fbmem.c中去,fbmen.c相当于一个中转站,把对设备的操作通过次设备号,中转到数组registered_fb中的某一项。

所以说,lcd还是设备总线驱动的模型,系统把风我们要写的驱动拆分成两部分固定的模式,一部分在fbmem.c中,它是最主要的框架,也是一个中转站,另一部分在s3c2410fb.c中,它首先注册了个platform_driver驱动平台,及平台的一系列相关操作,构造了fb_info结构体,然后调用了register,把结构体注册到数组中去。


为什么对lcd的open、write、ioctal总会从fbmem.c开始?

那是因为在此文件中,register_chrdev(FB_MAJOR,"fb",&fb_fops),fb_fops中起中转作用,此操作绑定了主设备号,所以,对lcd的所有操作,总是从此文件开始。另外一个文件s3c2410fb.c的作用就是注册个平台驱动,及一系列真正的操作,根据驱动的名称匹配设备的名称。

我们要做的工作就是写一个fb_info结构体,注册个platform_driver平台,把fb_info结构体注册到数组中即可,然后在device中,要是有和driver同名的即可使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值