summaryrefslogtreecommitdiffstats
path: root/include/video/sh_mobile_lcdc.h
diff options
context:
space:
mode:
authorAlexandre Courbot <gnurou@gmail.com>2011-02-16 04:49:01 +0100
committerPaul Mundt <lethal@linux-sh.org>2011-03-10 12:20:57 +0100
commit3b0fd9d75598584478d1d3f6551f8a8a9696c34e (patch)
treeaec7b48dbbb6810b15885ea34cf8041798e534bb /include/video/sh_mobile_lcdc.h
parentMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/po... (diff)
downloadlinux-3b0fd9d75598584478d1d3f6551f8a8a9696c34e.tar.xz
linux-3b0fd9d75598584478d1d3f6551f8a8a9696c34e.zip
fbdev: sh_mobile_lcdcfb: add backlight support
Support for backlight devices controlled through board-specific routines. Backlights can be defined per-channel and follow fbdev directives to switch off as the LCD blanks or is turned on/off. Signed-off-by: Alexandre Courbot <gnurou@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/video/sh_mobile_lcdc.h')
-rw-r--r--include/video/sh_mobile_lcdc.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/video/sh_mobile_lcdc.h b/include/video/sh_mobile_lcdc.h
index daabae5817c6..f2e6ab857fa8 100644
--- a/include/video/sh_mobile_lcdc.h
+++ b/include/video/sh_mobile_lcdc.h
@@ -59,6 +59,8 @@ struct sh_mobile_lcdc_board_cfg {
struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
void (*display_on)(void *board_data, struct fb_info *info);
void (*display_off)(void *board_data);
+ int (*set_brightness)(void *board_data, int brightness);
+ int (*get_brightness)(void *board_data);
};
struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */
@@ -66,6 +68,12 @@ struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */
unsigned long height;
};
+/* backlight info */
+struct sh_mobile_lcdc_bl_info {
+ const char *name;
+ int max_brightness;
+};
+
struct sh_mobile_lcdc_chan_cfg {
int chan;
int bpp;
@@ -76,6 +84,7 @@ struct sh_mobile_lcdc_chan_cfg {
int num_cfg;
struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg;
struct sh_mobile_lcdc_board_cfg board_cfg;
+ struct sh_mobile_lcdc_bl_info bl_info;
struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */
};