aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2012-08-15 12:48:36 -0400
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2012-11-21 09:50:02 -0500
commitd072c35edcfabe3159766d55252e16ed7864873e (patch)
tree7a01178869bb3f9947053e760bfab3c4b848bde1 /arch/sh
parent37f4dd13505bab9f2bbd2f66a2c9375e959452eb (diff)
sh: kfr2r09: Use the backlight API for brightness control
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>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/boards/mach-kfr2r09/lcd_wqvga.c16
-rw-r--r--arch/sh/boards/mach-kfr2r09/setup.c7
-rw-r--r--arch/sh/include/mach-kfr2r09/mach/kfr2r09.h6
3 files changed, 10 insertions, 19 deletions
diff --git a/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c b/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
index c148b36ecb65..c62050332629 100644
--- a/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
+++ b/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
@@ -283,7 +283,7 @@ void kfr2r09_lcd_start(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
283#define MAIN_MLED4 0x40 283#define MAIN_MLED4 0x40
284#define MAIN_MSW 0x80 284#define MAIN_MSW 0x80
285 285
286static int kfr2r09_lcd_backlight(int on) 286int kfr2r09_lcd_set_brightness(int brightness)
287{ 287{
288 struct i2c_adapter *a; 288 struct i2c_adapter *a;
289 struct i2c_msg msg; 289 struct i2c_msg msg;
@@ -295,7 +295,7 @@ static int kfr2r09_lcd_backlight(int on)
295 return -ENODEV; 295 return -ENODEV;
296 296
297 buf[0] = 0x00; 297 buf[0] = 0x00;
298 if (on) 298 if (brightness)
299 buf[1] = CTRL_CPSW | CTRL_C10 | CTRL_CKSW; 299 buf[1] = CTRL_CPSW | CTRL_C10 | CTRL_CKSW;
300 else 300 else
301 buf[1] = 0; 301 buf[1] = 0;
@@ -309,7 +309,7 @@ static int kfr2r09_lcd_backlight(int on)
309 return -ENODEV; 309 return -ENODEV;
310 310
311 buf[0] = 0x01; 311 buf[0] = 0x01;
312 if (on) 312 if (brightness)
313 buf[1] = MAIN_MSW | MAIN_MLED4 | 0x0c; 313 buf[1] = MAIN_MSW | MAIN_MLED4 | 0x0c;
314 else 314 else
315 buf[1] = 0; 315 buf[1] = 0;
@@ -324,13 +324,3 @@ static int kfr2r09_lcd_backlight(int on)
324 324
325 return 0; 325 return 0;
326} 326}
327
328void kfr2r09_lcd_on(void)
329{
330 kfr2r09_lcd_backlight(1);
331}
332
333void kfr2r09_lcd_off(void)
334{
335 kfr2r09_lcd_backlight(0);
336}
diff --git a/arch/sh/boards/mach-kfr2r09/setup.c b/arch/sh/boards/mach-kfr2r09/setup.c
index f2a4304fbe23..ab502f12ef57 100644
--- a/arch/sh/boards/mach-kfr2r09/setup.c
+++ b/arch/sh/boards/mach-kfr2r09/setup.c
@@ -158,8 +158,11 @@ static struct sh_mobile_lcdc_info kfr2r09_sh_lcdc_info = {
158 .height = 58, 158 .height = 58,
159 .setup_sys = kfr2r09_lcd_setup, 159 .setup_sys = kfr2r09_lcd_setup,
160 .start_transfer = kfr2r09_lcd_start, 160 .start_transfer = kfr2r09_lcd_start,
161 .display_on = kfr2r09_lcd_on, 161 },
162 .display_off = kfr2r09_lcd_off, 162 .bl_info = {
163 .name = "sh_mobile_lcdc_bl",
164 .max_brightness = 1,
165 .set_brightness = kfr2r09_lcd_set_brightness,
163 }, 166 },
164 .sys_bus_cfg = { 167 .sys_bus_cfg = {
165 .ldmt2r = 0x07010904, 168 .ldmt2r = 0x07010904,
diff --git a/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h b/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h
index ba3d93d333f8..c20c9e5f5eab 100644
--- a/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h
+++ b/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h
@@ -4,15 +4,13 @@
4#include <video/sh_mobile_lcdc.h> 4#include <video/sh_mobile_lcdc.h>
5 5
6#if defined(CONFIG_FB_SH_MOBILE_LCDC) || defined(CONFIG_FB_SH_MOBILE_LCDC_MODULE) 6#if defined(CONFIG_FB_SH_MOBILE_LCDC) || defined(CONFIG_FB_SH_MOBILE_LCDC_MODULE)
7void kfr2r09_lcd_on(void); 7int kfr2r09_lcd_set_brightness(int brightness);
8void kfr2r09_lcd_off(void);
9int kfr2r09_lcd_setup(void *sys_ops_handle, 8int kfr2r09_lcd_setup(void *sys_ops_handle,
10 struct sh_mobile_lcdc_sys_bus_ops *sys_ops); 9 struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
11void kfr2r09_lcd_start(void *sys_ops_handle, 10void kfr2r09_lcd_start(void *sys_ops_handle,
12 struct sh_mobile_lcdc_sys_bus_ops *sys_ops); 11 struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
13#else 12#else
14static void kfr2r09_lcd_on(void) {} 13static int kfr2r09_lcd_set_brightness(int brightness) {}
15static void kfr2r09_lcd_off(void) {}
16static int kfr2r09_lcd_setup(void *sys_ops_handle, 14static int kfr2r09_lcd_setup(void *sys_ops_handle,
17 struct sh_mobile_lcdc_sys_bus_ops *sys_ops) 15 struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
18{ 16{