sh: kfr2r09: Use the backlight API for brightness control
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 15 Aug 2012 16:48:36 +0000 (18:48 +0200)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 21 Nov 2012 14:50:02 +0000 (15:50 +0100)
Don't hook up brightness control in the display on/off operations, use
the backlight API instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
arch/sh/boards/mach-kfr2r09/setup.c
arch/sh/include/mach-kfr2r09/mach/kfr2r09.h

index c148b36ecb65c04dbfccdd95685b5dd6cc3bc846..c620503326295f0d7bc30b58b71e58b0c5f5175c 100644 (file)
@@ -283,7 +283,7 @@ void kfr2r09_lcd_start(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
 #define MAIN_MLED4      0x40
 #define MAIN_MSW        0x80
 
-static int kfr2r09_lcd_backlight(int on)
+int kfr2r09_lcd_set_brightness(int brightness)
 {
        struct i2c_adapter *a;
        struct i2c_msg msg;
@@ -295,7 +295,7 @@ static int kfr2r09_lcd_backlight(int on)
                return -ENODEV;
 
        buf[0] = 0x00;
-       if (on)
+       if (brightness)
                buf[1] = CTRL_CPSW | CTRL_C10 | CTRL_CKSW;
        else
                buf[1] = 0;
@@ -309,7 +309,7 @@ static int kfr2r09_lcd_backlight(int on)
                return -ENODEV;
 
        buf[0] = 0x01;
-       if (on)
+       if (brightness)
                buf[1] = MAIN_MSW | MAIN_MLED4 | 0x0c;
        else
                buf[1] = 0;
@@ -324,13 +324,3 @@ static int kfr2r09_lcd_backlight(int on)
 
        return 0;
 }
-
-void kfr2r09_lcd_on(void)
-{
-       kfr2r09_lcd_backlight(1);
-}
-
-void kfr2r09_lcd_off(void)
-{
-       kfr2r09_lcd_backlight(0);
-}
index f2a4304fbe2321996fb875b75d2bd570feda8ae6..ab502f12ef57ad1025b504645608447a2e115840 100644 (file)
@@ -158,8 +158,11 @@ static struct sh_mobile_lcdc_info kfr2r09_sh_lcdc_info = {
                        .height = 58,
                        .setup_sys = kfr2r09_lcd_setup,
                        .start_transfer = kfr2r09_lcd_start,
-                       .display_on = kfr2r09_lcd_on,
-                       .display_off = kfr2r09_lcd_off,
+               },
+               .bl_info = {
+                       .name = "sh_mobile_lcdc_bl",
+                       .max_brightness = 1,
+                       .set_brightness = kfr2r09_lcd_set_brightness,
                },
                .sys_bus_cfg = {
                        .ldmt2r = 0x07010904,
index ba3d93d333f8e292a20d53246ab4d90b5a96b6f9..c20c9e5f5eabe9279c1738d85354ba1a636a6207 100644 (file)
@@ -4,15 +4,13 @@
 #include <video/sh_mobile_lcdc.h>
 
 #if defined(CONFIG_FB_SH_MOBILE_LCDC) || defined(CONFIG_FB_SH_MOBILE_LCDC_MODULE)
-void kfr2r09_lcd_on(void);
-void kfr2r09_lcd_off(void);
+int kfr2r09_lcd_set_brightness(int brightness);
 int kfr2r09_lcd_setup(void *sys_ops_handle,
                      struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
 void kfr2r09_lcd_start(void *sys_ops_handle,
                       struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
 #else
-static void kfr2r09_lcd_on(void) {}
-static void kfr2r09_lcd_off(void) {}
+static int kfr2r09_lcd_set_brightness(int brightness) {}
 static int kfr2r09_lcd_setup(void *sys_ops_handle,
                                struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
 {