[Pommed-commits] r536 - in trunk: . pommed pommed/mactel

jblache at alioth.debian.org jblache at alioth.debian.org
Mon Dec 29 11:12:06 UTC 2008


Author: jblache
Date: 2008-12-29 11:12:06 +0000 (Mon, 29 Dec 2008)
New Revision: 536

Modified:
   trunk/ChangeLog
   trunk/pommed/mactel/gma950_backlight.c
   trunk/pommed/mactel/nv8600mgt_backlight.c
   trunk/pommed/mactel/x1600_backlight.c
   trunk/pommed/sysfs_backlight.c
Log:
Check current hardware backlight level before setting AC or battery level.


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-12-25 12:33:27 UTC (rev 535)
+++ trunk/ChangeLog	2008-12-29 11:12:06 UTC (rev 536)
@@ -2,6 +2,8 @@
 --------------------
 
 version 1.25:
+	- pommed: check current hardware backlight level before setting AC
+	or battery level.
 
 version 1.24:
 	- pommed: add new path for fnmode setting for 2.6.28.

Modified: trunk/pommed/mactel/gma950_backlight.c
===================================================================
--- trunk/pommed/mactel/gma950_backlight.c	2008-12-25 12:33:27 UTC (rev 535)
+++ trunk/pommed/mactel/gma950_backlight.c	2008-12-29 11:12:06 UTC (rev 536)
@@ -212,6 +212,7 @@
 void
 gma950_backlight_toggle(int lvl)
 {
+  int val;
   int ret;
 
   if (lcd_gma950_cfg.on_batt == 0)
@@ -221,9 +222,19 @@
   if (ret < 0)
     return;
 
+  val = gma950_backlight_get();
+  if (val != lcd_bck_info.level)
+    {
+      mbpdbus_send_lcd_backlight(val, lcd_bck_info.level, LCD_AUTO);
+      lcd_bck_info.level = val;
+    }
+
   switch (lvl)
     {
       case LCD_ON_AC_LEVEL:
+	if (lcd_bck_info.level >= lcd_bck_info.ac_lvl)
+	  break;
+
 	logdebug("LCD switching to AC level\n");
 
 	gma950_backlight_set(lcd_bck_info.ac_lvl);
@@ -234,17 +245,18 @@
 	break;
 
       case LCD_ON_BATT_LEVEL:
+	if (lcd_bck_info.level <= lcd_gma950_cfg.on_batt)
+	  break;
+
 	logdebug("LCD switching to battery level\n");
 
 	lcd_bck_info.ac_lvl = lcd_bck_info.level;
 
-	if (lcd_bck_info.level > lcd_gma950_cfg.on_batt)
-	  {
-	    gma950_backlight_set(lcd_gma950_cfg.on_batt);
-	    lcd_bck_info.level = lcd_gma950_cfg.on_batt;
+	gma950_backlight_set(lcd_gma950_cfg.on_batt);
 
-	    mbpdbus_send_lcd_backlight(lcd_bck_info.level, lcd_bck_info.ac_lvl, LCD_AUTO);
-	  }
+	mbpdbus_send_lcd_backlight(lcd_gma950_cfg.on_batt, lcd_bck_info.level, LCD_AUTO);
+
+	lcd_bck_info.level = lcd_gma950_cfg.on_batt;
 	break;
     }
 

Modified: trunk/pommed/mactel/nv8600mgt_backlight.c
===================================================================
--- trunk/pommed/mactel/nv8600mgt_backlight.c	2008-12-25 12:33:27 UTC (rev 535)
+++ trunk/pommed/mactel/nv8600mgt_backlight.c	2008-12-29 11:12:06 UTC (rev 536)
@@ -128,15 +128,27 @@
 void
 nv8600mgt_backlight_toggle(int lvl)
 {
+  int val;
+
   if (lcd_nv8600mgt_cfg.on_batt == 0)
     return;
 
   if (nv8600mgt_inited == 0)
     return;
 
+  val = nv8600mgt_backlight_get();
+  if (val != lcd_bck_info.level)
+    {
+      mbpdbus_send_lcd_backlight(val, lcd_bck_info.level, LCD_AUTO);
+      lcd_bck_info.level = val;
+    }
+
   switch (lvl)
     {
       case LCD_ON_AC_LEVEL:
+	if (lcd_bck_info.level >= lcd_bck_info.ac_lvl)
+	  break;
+
 	logdebug("LCD switching to AC level\n");
 
 	nv8600mgt_backlight_set(lcd_bck_info.ac_lvl);
@@ -147,17 +159,18 @@
 	break;
 
       case LCD_ON_BATT_LEVEL:
+	if (lcd_bck_info.level <= lcd_nv8600mgt_cfg.on_batt)
+	  break;
+
 	logdebug("LCD switching to battery level\n");
 
 	lcd_bck_info.ac_lvl = lcd_bck_info.level;
 
-	if (lcd_bck_info.level > lcd_nv8600mgt_cfg.on_batt)
-	  {
-	    nv8600mgt_backlight_set(lcd_nv8600mgt_cfg.on_batt);
-	    lcd_bck_info.level = lcd_nv8600mgt_cfg.on_batt;
+	nv8600mgt_backlight_set(lcd_nv8600mgt_cfg.on_batt);
 
-	    mbpdbus_send_lcd_backlight(lcd_bck_info.level, lcd_bck_info.ac_lvl, LCD_AUTO);
-	  }
+	mbpdbus_send_lcd_backlight(lcd_nv8600mgt_cfg.on_batt, lcd_bck_info.level, LCD_AUTO);
+
+	lcd_bck_info.level = lcd_nv8600mgt_cfg.on_batt;
 	break;
     }
 }

Modified: trunk/pommed/mactel/x1600_backlight.c
===================================================================
--- trunk/pommed/mactel/x1600_backlight.c	2008-12-25 12:33:27 UTC (rev 535)
+++ trunk/pommed/mactel/x1600_backlight.c	2008-12-29 11:12:06 UTC (rev 536)
@@ -177,6 +177,7 @@
 void
 x1600_backlight_toggle(int lvl)
 {
+  int val;
   int ret;
 
   if (lcd_x1600_cfg.on_batt == 0)
@@ -186,9 +187,19 @@
   if (ret < 0)
     return;
 
+  val = x1600_backlight_get();
+  if (val != lcd_bck_info.level)
+    {
+      mbpdbus_send_lcd_backlight(val, lcd_bck_info.level, LCD_AUTO);
+      lcd_bck_info.level = val;
+    }
+
   switch (lvl)
     {
       case LCD_ON_AC_LEVEL:
+	if (lcd_bck_info.level >= lcd_bck_info.ac_lvl)
+	  break;
+
 	logdebug("LCD switching to AC level\n");
 
 	x1600_backlight_set(lcd_bck_info.ac_lvl);
@@ -199,17 +210,18 @@
 	break;
 
       case LCD_ON_BATT_LEVEL:
+	if (lcd_bck_info.level <= lcd_x1600_cfg.on_batt)
+	  break;
+
 	logdebug("LCD switching to battery level\n");
 
 	lcd_bck_info.ac_lvl = lcd_bck_info.level;
 
-	if (lcd_bck_info.level > lcd_x1600_cfg.on_batt)
-	  {
-	    x1600_backlight_set(lcd_x1600_cfg.on_batt);
-	    lcd_bck_info.level = lcd_x1600_cfg.on_batt;
+	x1600_backlight_set(lcd_x1600_cfg.on_batt);
 
-	    mbpdbus_send_lcd_backlight(lcd_bck_info.level, lcd_bck_info.ac_lvl, LCD_AUTO);
-	  }
+	mbpdbus_send_lcd_backlight(lcd_x1600_cfg.on_batt, lcd_bck_info.level, LCD_AUTO);
+
+	lcd_bck_info.level = lcd_x1600_cfg.on_batt;
 	break;
     }
 

Modified: trunk/pommed/sysfs_backlight.c
===================================================================
--- trunk/pommed/sysfs_backlight.c	2008-12-25 12:33:27 UTC (rev 535)
+++ trunk/pommed/sysfs_backlight.c	2008-12-29 11:12:06 UTC (rev 536)
@@ -162,6 +162,9 @@
 {
   FILE *fp;
 
+  if (bck_driver == SYSFS_DRIVER_NONE)
+    return;
+
   fp = fopen(brightness[bck_driver], "a");
   if (fp == NULL)
     {
@@ -218,12 +221,27 @@
 void
 sysfs_backlight_toggle(int lvl)
 {
+  int val;
+
+  if (bck_driver == SYSFS_DRIVER_NONE)
+    return;
+
   if (lcd_sysfs_cfg.on_batt == 0)
     return;
 
+  val = sysfs_backlight_get();
+  if (val != lcd_bck_info.level)
+    {
+      mbpdbus_send_lcd_backlight(val, lcd_bck_info.level, LCD_AUTO);
+      lcd_bck_info.level = val;
+    }
+
   switch (lvl)
     {
       case LCD_ON_AC_LEVEL:
+	if (lcd_bck_info.level >= lcd_bck_info.ac_lvl)
+	  break;
+
 	logdebug("LCD switching to AC level\n");
 
 	sysfs_backlight_set(lcd_bck_info.ac_lvl);
@@ -234,17 +252,18 @@
 	break;
 
       case LCD_ON_BATT_LEVEL:
+	if (lcd_bck_info.level <= lcd_sysfs_cfg.on_batt)
+	  break;
+
 	logdebug("LCD switching to battery level\n");
 
 	lcd_bck_info.ac_lvl = lcd_bck_info.level;
 
-	if (lcd_bck_info.level > lcd_sysfs_cfg.on_batt)
-	  {
-	    sysfs_backlight_set(lcd_sysfs_cfg.on_batt);
-	    lcd_bck_info.level = lcd_sysfs_cfg.on_batt;
+	sysfs_backlight_set(lcd_sysfs_cfg.on_batt);
 
-	    mbpdbus_send_lcd_backlight(lcd_bck_info.level, lcd_bck_info.ac_lvl, LCD_AUTO);
-	  }
+	mbpdbus_send_lcd_backlight(lcd_sysfs_cfg.on_batt, lcd_bck_info.level, LCD_AUTO);
+
+	lcd_bck_info.level = lcd_sysfs_cfg.on_batt;
 	break;
     }
 }




More information about the Pommed-commits mailing list