diff options
author | Alexandre Courbot <gnurou@gmail.com> | 2011-02-15 22:49:01 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-03-10 06:20:57 -0500 |
commit | 3b0fd9d75598584478d1d3f6551f8a8a9696c34e (patch) | |
tree | aec7b48dbbb6810b15885ea34cf8041798e534bb /include/video | |
parent | 35d34df711e8b44846e759d8cfddb4ec6877cccb (diff) |
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')
-rw-r--r-- | include/video/sh_mobile_lcdc.h | 9 |
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 { | |||
59 | struct sh_mobile_lcdc_sys_bus_ops *sys_ops); | 59 | struct sh_mobile_lcdc_sys_bus_ops *sys_ops); |
60 | void (*display_on)(void *board_data, struct fb_info *info); | 60 | void (*display_on)(void *board_data, struct fb_info *info); |
61 | void (*display_off)(void *board_data); | 61 | void (*display_off)(void *board_data); |
62 | int (*set_brightness)(void *board_data, int brightness); | ||
63 | int (*get_brightness)(void *board_data); | ||
62 | }; | 64 | }; |
63 | 65 | ||
64 | struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */ | 66 | 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 */ | |||
66 | unsigned long height; | 68 | unsigned long height; |
67 | }; | 69 | }; |
68 | 70 | ||
71 | /* backlight info */ | ||
72 | struct sh_mobile_lcdc_bl_info { | ||
73 | const char *name; | ||
74 | int max_brightness; | ||
75 | }; | ||
76 | |||
69 | struct sh_mobile_lcdc_chan_cfg { | 77 | struct sh_mobile_lcdc_chan_cfg { |
70 | int chan; | 78 | int chan; |
71 | int bpp; | 79 | int bpp; |
@@ -76,6 +84,7 @@ struct sh_mobile_lcdc_chan_cfg { | |||
76 | int num_cfg; | 84 | int num_cfg; |
77 | struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg; | 85 | struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg; |
78 | struct sh_mobile_lcdc_board_cfg board_cfg; | 86 | struct sh_mobile_lcdc_board_cfg board_cfg; |
87 | struct sh_mobile_lcdc_bl_info bl_info; | ||
79 | struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ | 88 | struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ |
80 | }; | 89 | }; |
81 | 90 | ||