Chinaunix首页 | 论坛 | 博客
  • 博客访问: 210404
  • 博文数量: 145
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 1720
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-14 18:42
文章分类

全部博文(145)

文章存档

2011年(1)

2009年(144)

我的朋友

分类: LINUX

2009-08-17 15:49:16

by tangke 2009-08-17

本文主要讲解brightness在ASUS M2000笔记本上面的调试过程。

首先您必须要看一下brightness在yeeloong上面的实现过程。

http://blog.chinaunix.net/u3/100996/showart.php?id=2004708

$apt-get install linux-source-2.6.28
$cd /usr/src/linux-source-2.6.28/drivers/misc/
$vi asus-laptop.c
里面就实现了一个brightness的模块
该模块会在/sys/devices/virtual/backlight/asus-laptop下面建立一个文件夹类似于
actual_brightness,bl_power,brightness,max_brightness等等。因为其也使用了backlight_device结构,所以生成的接口是统一的。

首先我们就来看看/usr/share/hal/fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi
这个文件




 
   
     
     
   
   
      hald-addon-generic-backlight
   

   
   
          org.freedesktop.Hal.Device.LaptopPanel

          SetBrightness
          i
          brightness_value
            hal-system-lcd-set-brightness

          GetBrightness
         
         
      hal-system-lcd-get-brightness
       

     

   
 




首先它是通过检测是否存在linux.sysfs_path这个属性,如果存在的话那么就使用hal内部的一个hald-addon-generic-backlight二进制程序而不会采用脚本来进行
现在我准备把它改成使用脚本来进行背光调节。那么就注释掉红色部分,将下面的false改成true.
然后我们来看看/usr/lib/hal/scripts/linux/hal-system-lcd-set-brightness-linux这个文件吧

if [ ! -w $HAL_PROP_LINUX_ACPI_PATH ]; then
    echo "org.freedesktop.Hal.Device.LaptopPanel.NotSupported" >&2
    echo "$1 not writable!" >&2
    exit 1
fi

if [ "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" = "general" ]; then
    #echo "$value" > $HAL_PROP_LINUX_ACPI_PATH
    echo "$value" > $HAL_PROP_LINUX_SYSFS_PATH/brightness
我主要修改了以上部分,因为原始的这个文件是使用
    #echo "$value" > $HAL_PROP_LINUX_ACPI_PATH
我改成了
    echo "$value" > $HAL_PROP_LINUX_SYSFS_PATH/brightness

这样就可以了。
























龙芯平台上brightness adjust
http://blog.chinaunix.net/u3/100996/showart.php?id=2004708
阅读(355) | 评论(0) | 转发(0) |
0

上一篇:linux, acpi,powertop

下一篇:Linux,kernel, compile

给主人留下些什么吧!~~