]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2004-08-30 12:48:52 by rjoco77]
authorrjoco77 <rjoco77@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 30 Aug 2004 12:48:52 +0000 (12:48 +0000)
committerrjoco77 <rjoco77@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 30 Aug 2004 12:48:52 +0000 (12:48 +0000)
* Added backlight update immediatelly

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@486 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

drv_RouterBoard.c

index 49af2a3c2ec21cc5002e453b20b98b9d85f18f7e..a543a76f7352eb38364224d139f30ddddcd93b88 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: drv_RouterBoard.c,v 1.2 2004/08/29 20:07:55 reinelt Exp $
+/* $Id: drv_RouterBoard.c,v 1.3 2004/08/30 12:48:52 rjoco77 Exp $
  *
  * driver for the "Router Board LCD port" 
  * see port details at http://www.routerboard.com
@@ -25,6 +25,9 @@
  *
  *
  * $Log: drv_RouterBoard.c,v $
+ * Revision 1.3  2004/08/30 12:48:52  rjoco77
+ *  * Added backlight update immediatelly
+ *
  * Revision 1.2  2004/08/29 20:07:55  reinelt
  *
  * Patch from Joco: Make RouterBoard Backlight configurable
@@ -248,6 +251,23 @@ static void drv_RB_poll_data ( void __attribute__((unused)) *notused)
 
 #endif
 
+/* IOCS0 port number can read from PCI Configuration Space Function 0 (F0) */
+/* at index 74h as 16 bit value (see [GEODE] 5.3.1 pg.151 and pg.176 Table 5-29 */
+
+static unsigned getIocs0Port (void) 
+{
+  static unsigned ret = 0;
+
+  /*get IO permission, here you can't use ioperm command */
+  iopl(3);
+
+  if (!ret) {
+    outl(0x80009074, CAR);
+    ret = inw(CDR);
+  }
+  return ret;
+}  
+
 
 static int drv_RB_backlight ( int backlight)
 {
@@ -262,29 +282,13 @@ static int drv_RB_backlight ( int backlight)
 
   RB_BackLight = backlight ? LCD_BACKLIGHT : 0;
   
-  /* The status will be updated on next lcd operation! */
-  /* Fixme: should be updated immediately! */
+  /* Set backlight output */
+  outw( RB_Leds | RB_BackLight , getIocs0Port());
      
   return backlight;    
 }
 
 
-/* IOCS0 port number can read from PCI Configuration Space Function 0 (F0) */
-/* at index 74h as 16 bit value (see [GEODE] 5.3.1 pg.151 and pg.176 Table 5-29 */
-
-static unsigned getIocs0Port (void) 
-{
-  static unsigned ret = 0;
-
-  /*get IO permission, here you can't use ioperm command */
-  iopl(3);
-
-  if (!ret) {
-    outl(0x80009074, CAR);
-    ret = inw(CDR);
-  }
-  return ret;
-}  
 
 
 static void drv_RB_command ( const unsigned char cmd, const int delay)
@@ -490,6 +494,7 @@ static void plugin_backlight (RESULT *result , const int argc, RESULT *argv[])
   case 1:
     backlight = drv_RB_backlight(R2N(argv[0]));
     SetResult(&result, R_NUMBER, &backlight);
+    break;
   default:
     error ("%s::backlight(): wrong number of parameters", Name);
     SetResult(&result, R_STRING, "");