LCD背光设备的 驱动框架2

本文介绍了Linux 2.6内核的设备模型和Sysfs文件系统,重点讲述了背光设备驱动的开发,包括背光设备在/sys/class/backlight目录下的注册、注销过程,以及backlight_device_register函数的使用。还分析了backlight_device结构体、backlight_ops结构体及其相关操作,强调了genericbl_probe和genericbl_remove回调函数在设备探测和移除中的作用。
摘要由CSDN通过智能技术生成
本文分成两个部分,先对LCD背光设备的驱动开发进行整体的了解,把握其中重点的部分,为后面的驱动开发奠定理论的基础,然后就是对背光驱动的框架进行下分析。

背光设备驱动开发概述

         要想了解驱动的开发,必须先了解Linux的sysfs文件系统。Linux 2.6内核的一个重要特色是提供了统一的内核设备模型,随着技术的不断进步,系统的拓扑结构越来越复杂,对智能电源管理、热插拔等支持要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,2.6内核开发了全新的设备模型。

Linux设备模型

图一 LInux设备模型

         Linux 2.6 内核引入了Sysfs文件系统,Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。其顶层目录主要有:block、devices、bus、drivers、class、power和firmware等。其中:block目录包含所有的块设备;devices目录包含系统所有的设备,并根据设备挂接的总线类型组织成层次结构;bus目录包含系统中所有的总线类型;drivers目录包括内核中所有已注册的设备驱动程序;class目录包含系统中的设备类型(如网卡设备,声卡设备等)。在/sys/bus的pci目录下又会再分出drivers和devices目录,而devices目录中的文件是对/sys/devices目录中文件的符号链接。同样的,/sys/class目录下包含许多对/sys/devices下文件的链接,如图一,是描述的2.6内核总线、类、设备和驱动的层级关系,也符合LINUX 2.6内核的设备模型。

         当前多开发的背光设备文件对应于/sys/class/backlight/目录下的文件。前面已将说过,在/sys/class/目录下的文件对应的都是系统中对应的不同设备类型,/sys/class/backlight就是注册的背光设备类型,而在/sys/class/backlight/目录下的文件就是所注册的背光设备。对于背光设备类型的注册一般系统都完成了,代码如下:

static struct class *backlight_class;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值