基于Linux 3.18.y

概述

linux的背光(backlight)子系统用于在/sys目录下提供用户空间控制LCD或者其他显示设备的背光亮度的接口。
    这里的亮度并不是亮和灭两个状态,可有很多个等级的亮度,便于用户空间根据节能、可视范围等需求调节背光的亮度。

相关代码

背光子系统的代码在/driver/video/backlight目录中。
    其中重要的文件是:generic_bl.c  backlight.c  lcd.c

内核配置

为了支持背光子系统需要在内核中使用以下配置:

    Device Drives  --->Graphics Support --->[*]Backlight & LCD device support ---><*>Platform LCD controls<*>Lowlevel Backlight controls

重要的数据结构

    include/linux/backlight.hdriver/video/backlight/genrtic_bl.c/* 通用的背光控制代码,driver已经注册好了,只需要注册device就能使用 */struct generic_bl_info {const char *name;                         //名字字符指针,这个名字会出现在/sys/class/backlight/中int max_intensity;                            //最大亮度int default_intensity;                         //默认亮度int limit_mask;                                  //亮度值的掩码,如0xffvoid (*set_bl_intensity)(int intensity);     //设置亮度的函数void (*kick_battery)(void);                    //设置亮度之后调用的函数,与电池相关,可以不定义};

如何使用背光子系统

    static void eukrea_mbimx27_bl_set_intensity(int intensity){/*在这个函数中根据参数intensity的值设置背光,具体通过PWM还是其它手段,要根据硬件了*/}static struct generic_bl_info eukrea_mbimx27_bl_info = {.name                   = "eukrea_mbimx27-bl",.max_intensity          = 0xff,.default_intensity      = 0xff,.set_bl_intensity       = eukrea_mbimx27_bl_set_intensity,};static struct platform_device eukrea_mbimx27_bl_dev = {.name                   = "generic-bl", //这个名字必须是"generic-bl".id                          = 1,.dev = {.platform_data  = &eukrea_mbimx27_bl_info,},};platform_device_register(&eukrea_mbimx27_bl_dev);

注册 eukrea_mbimx27_bl_dev 之后就可以在/sys/class/backlight/eukrea_mbimx27-bl/下看到背光的属性文件了。

sys文件属性说明

背光子系统的文件在/sys/class/backlight/XXX/中,其中XXX是背光设备的名字,这个名字是注册的时候指定的.

    /sys/class/backlight/XXX/下的属性文件有:actual_brightness  brightness         max_brightness     subsystem@bl_power           device@            power/             uevent重要的文件有两个:max_brightness :最大亮度值brightness:当前实际的亮度值(内核中记录的值)可以使用 "cat /sys/class/backlight/XXX/brightness"查看当前背光亮度,使用 "echo  _数字_  >>  /sys/class/backlight/XXX/brightness"设置背光亮度。

【驱动模块】 -- linux的背光(backlight)子系统【转】相关推荐

  1. Linux下的Backlight子系统

    版权所有,转载必须说明转自 http://my.csdn.net/weiqing1981127 原创作者:南京邮电大学  通信与信息系统专业 研二 魏清 一.Backlight背光子系统概述 我们的L ...

  2. Linux下的Backlight子系统(二)

    版权所有,转载必须说明转自 http://my.csdn.net/weiqing1981127 原创作者:南京邮电大学  通信与信息系统专业 研二 魏清 三.Backlight核心驱动 下面我们讲讲b ...

  3. Linux下的Backlight子系统(一)

    版权所有,转载必须说明转自 http://my.csdn.net/weiqing1981127 原创作者:南京邮电大学  通信与信息系统专业 研二 魏清 一.Backlight背光子系统概述 我们的L ...

  4. 【分析笔记】Linux 4.9 backlight 子系统分析

    相关信息 内核版本:Linux version 4.9.56 驱动文件:lichee\linux-4.9\drivers\video\backlight\backlight.c 驱动作用 对上,面对应 ...

  5. linux 标准背光设备,linux背光子系统(backlight)

    (基于linux2.6.34) 概述 ===== linux的背光(backlight)子系统用于在/sys目录下提供用户空间控制LCD或者其他显示设备的背光亮度的接口.这里的亮度并不是亮和灭两个状态 ...

  6. backlight 子系统(转载)

    http://blog.csdn.net/weiqing1981127/article/details/8511676   Linux下的Backlight子系统(一) http://blog.csd ...

  7. linux pwm 调屏_嵌入式Linux系统基于PWM机制的液晶屏背光Backlight功能配置

    在研发嵌入式产品时,往往会用到LCD(液晶屏)来显示图形界面,而液晶屏的显示亮度则需要背光系统去调节. 调光方法: 1.数字调光,又称波宽控制调光(Pulse Width Modulation,简称P ...

  8. Linux下的LED子系统

    最简单的led驱动就是从端口输出0或1来关闭或点亮灯.而我们这里讲的led子系统,主要是对led事件进行了分装和优化,这里我们主要讲的是可以实现跨平台的led驱动.不管你是使用三星的平台,还是Atme ...

  9. backlight子系统二

    三.Backlight核心驱动 下面我们讲讲backlight子系统.背光子系统目录在/driver/video/backlight下,其中背光子系统核心代码是backlight.c 先查看/driv ...

最新文章

  1. 自己写 localtime 函数(含完整注释,代码)转载
  2. u3d ab包 循环依赖_为什么要保持软件包依赖项自由循环的五个原因
  3. jdbc建立数据库连接的helloword
  4. leetcode614. 二级关注者(SQL)
  5. 关于JAVA中的synchronized,一段不错的解释...
  6. python练习-四舍五入
  7. ASP.NET MVC应用程序把文字写在图片上
  8. Emacs lisp 列表与函数的区别
  9. 集算器协助MongoDB计算之交叉汇总
  10. 三种动态创建元素区别
  11. 嵌入式Linux进程信息及内存布局
  12. python + opencv 中值滤波器、最大值滤波器和最小值滤波器
  13. Python3实现两个Excel文件内容比对
  14. expandable长点击的实现
  15. 如何将arcgis中shape要素文件转为mapgis中点线面
  16. vs c语言打印心形情书,最美C语言情书(输出心形图案).doc
  17. 新电脑自带的office密钥在哪里?
  18. CSS学习笔记(九)display: inline-block,CSS 布局- 水平和垂直对齐
  19. Windows8和MacOS10.9双系统安装及Mac常用软件安装--联想E49A
  20. Gephi简易学习[一]———— Gephi安装,并了解Gephi

热门文章

  1. 天将降大任于斯人也 必先苦其心志...
  2. Vue实现权限管理的方法
  3. 【硬刚大数据】企业级大数据平台建设参考 | 淘宝滴滴美团360快手京东
  4. 台灯AAA和AA有什么区别?国AA台灯有必要买吗
  5. Python爬虫入门实战之猫眼电影数据抓取(理论篇)
  6. 大话数据结构之树(下)
  7. Springboot之Actuator信息泄露漏洞利用
  8. 对弧长和坐标的曲线积分
  9. pandas数据合并:concat、join、append
  10. 使用crontab定时执行脚本时别忘了输出重定向