backlight 子系统
来源:互联网 发布:java 什么是包 编辑:程序博客网 时间:2024/06/10 02:50
(linux2.6.34)
概述
=====
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.h
----------------------------
/* 单词解释:来自星际译王
<--- ---="">
intensity
[in'tensiti]
n.强烈,剧烈,强度 亮度
*/
struct generic_bl_info {
const char *name; //名字字符指针,这个名字会出现在/sys/class/backlight/中
int max_intensity; //最大亮度
int default_intensity; //默认亮度
int limit_mask; //亮度值的掩码,如0xff
void (*set_bl_intensity)(int intensity); //设置亮度的函数
void (*kick_battery)(void); //设置亮度之后调用的函数,与电池相关,可以不定义
};
如何使用背光子系统
=================
这是一个例子
http://lxr.linux.no/linux+v3.1.6/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c#L205
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,
},
};
注册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"设置背光亮度。
如:
[root@M3250 zhiyuan_backlight]# pwd
/sys/class/backlight/zhiyuan_backlight
[root@M3250 zhiyuan_backlight]# ls
actual_brightness brightness max_brightness subsystem@
bl_power device@ power/ uevent
[root@M3250 zhiyuan_backlight]# cat brightness
200
[root@M3250 zhiyuan_backlight]# echo 255 >> brightness
[root@M3250 zhiyuan_backlight]# cat brightness
255
[root@M3250 zhiyuan_backlight]# cat max_brightness
255
[root@M3250 zhiyuan_backlight]#
阅读(189) | 评论(0) | 转发(0) |概述
=====
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.h
----------------------------
/* 单词解释:来自星际译王
<--- ---="">
intensity
[in'tensiti]
n.强烈,剧烈,强度 亮度
*/
struct generic_bl_info {
const char *name; //名字字符指针,这个名字会出现在/sys/class/backlight/中
int max_intensity; //最大亮度
int default_intensity; //默认亮度
int limit_mask; //亮度值的掩码,如0xff
void (*set_bl_intensity)(int intensity); //设置亮度的函数
void (*kick_battery)(void); //设置亮度之后调用的函数,与电池相关,可以不定义
};
如何使用背光子系统
=================
这是一个例子
http://lxr.linux.no/linux+v3.1.6/arch/arm/mach-imx/eukrea_mbimx27-baseboard.c#L205
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,
},
};
注册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"设置背光亮度。
如:
[root@M3250 zhiyuan_backlight]# pwd
/sys/class/backlight/zhiyuan_backlight
[root@M3250 zhiyuan_backlight]# ls
actual_brightness brightness max_brightness subsystem@
bl_power device@ power/ uevent
[root@M3250 zhiyuan_backlight]# cat brightness
200
[root@M3250 zhiyuan_backlight]# echo 255 >> brightness
[root@M3250 zhiyuan_backlight]# cat brightness
255
[root@M3250 zhiyuan_backlight]# cat max_brightness
255
[root@M3250 zhiyuan_backlight]#
0
上一篇:Linux基础: 解密module_init幕后的故事
下一篇:uboot中nand flash控制器参数TACLS、TWRPH0和TWRPH1的确定(基于K9F2G08U0B)
相关热门文章
- linux 常见服务端口
- 【ROOTFS搭建】busybox的httpd...
- xmanager 2.0 for linux配置
- 什么是shell
- linux socket的bug??
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
评论热议
0 0
- backlight 子系统
- linux背光子系统(backlight)
- backlight子系统一
- backlight子系统二
- linux背光子系统(backlight)
- Linux下的Backlight子系统
- Linux下的Backlight子系统(一)
- Linux下的Backlight子系统(二)
- Linux下的Backlight子系统(一)
- Linux下的Backlight子系统(二)
- Linux下的Backlight子系统(一)
- Linux下的Backlight子系统(二)
- backlight驱动
- Backlight 背光
- android backlight
- android backlight
- Android backlight
- LCD背光驱动 --Backlight
- 美团网2015秋季校园招聘面试题(上)
- Linux MTD层次
- 银行家算法说明
- Linux设备驱动之Framebuffer分析
- Linux基础: 解密module_init幕后的故事
- backlight 子系统
- uboot中nand flash控制器参数TACLS、TWRPH0和TWRPH1的确定(基于K9F2G08U0B)
- 深度分析NandFlash—控制器参数TACLS、TWRPH0和TWRPH1的确定(以TQ2440开发板上的K9F2G08U0A为例)
- MTD子系统归纳总结
- hdu 1595 find the longest of the shortest (dijkstra + spfa)
- 基于MTD的NAND驱动开发
- Linux内核入门—— __attribute__ 机制
- kzalloc详解
- Makefile