aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/fsl-diu-fb.c
diff options
context:
space:
mode:
authorTimur Tabi <timur@freescale.com>2011-09-28 17:19:49 -0400
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-10-04 21:10:12 -0400
commit1738f6f84f1713eb6fa164d6257257f4aecc1c30 (patch)
tree4c3bff0d9af94e9c65613565673c58ce4b0bbab3 /drivers/video/fsl-diu-fb.c
parentb715f9f04c85382e9ac824ba49465fc15cf67418 (diff)
drivers/video: fsl-diu-fb: remove broken screen blanking support
The function which is supposed to provide screen blanking support doesn't actually do anything, so the framebuffer layer thinks the screen has been blanked when it really isn't. Remove the code completely for now. A side-effect of this change is that the framebuffer console blanking now works correctly. Presumably this is because the console now receives -EINVAL instead of '0' when it asks the driver to blank the screen, so the console does it manually now. A signficant refactoring of the driver is planned, and proper hardware blanking support will added afterwards. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'drivers/video/fsl-diu-fb.c')
-rw-r--r--drivers/video/fsl-diu-fb.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/drivers/video/fsl-diu-fb.c b/drivers/video/fsl-diu-fb.c
index 9b3891a6a18..4dc65c9dca2 100644
--- a/drivers/video/fsl-diu-fb.c
+++ b/drivers/video/fsl-diu-fb.c
@@ -231,7 +231,6 @@ struct mfb_info {
231 int type; 231 int type;
232 char *id; 232 char *id;
233 int registered; 233 int registered;
234 int blank;
235 unsigned long pseudo_palette[16]; 234 unsigned long pseudo_palette[16];
236 struct diu_ad *ad; 235 struct diu_ad *ad;
237 int cursor_reset; 236 int cursor_reset;
@@ -960,37 +959,6 @@ static int fsl_diu_pan_display(struct fb_var_screeninfo *var,
960 return 0; 959 return 0;
961} 960}
962 961
963/*
964 * Blank the screen if blank_mode != 0, else unblank. Return 0 if blanking
965 * succeeded, != 0 if un-/blanking failed.
966 * blank_mode == 2: suspend vsync
967 * blank_mode == 3: suspend hsync
968 * blank_mode == 4: powerdown
969 */
970static int fsl_diu_blank(int blank_mode, struct fb_info *info)
971{
972 struct mfb_info *mfbi = info->par;
973
974 mfbi->blank = blank_mode;
975
976 switch (blank_mode) {
977 case FB_BLANK_VSYNC_SUSPEND:
978 case FB_BLANK_HSYNC_SUSPEND:
979 /* FIXME: fixes to enable_panel and enable lcdc needed */
980 case FB_BLANK_NORMAL:
981 /* fsl_diu_disable_panel(info);*/
982 break;
983 case FB_BLANK_POWERDOWN:
984 /* disable_lcdc(info); */
985 break;
986 case FB_BLANK_UNBLANK:
987 /* fsl_diu_enable_panel(info);*/
988 break;
989 }
990
991 return 0;
992}
993
994static int fsl_diu_ioctl(struct fb_info *info, unsigned int cmd, 962static int fsl_diu_ioctl(struct fb_info *info, unsigned int cmd,
995 unsigned long arg) 963 unsigned long arg)
996{ 964{
@@ -1137,7 +1105,6 @@ static struct fb_ops fsl_diu_ops = {
1137 .fb_check_var = fsl_diu_check_var, 1105 .fb_check_var = fsl_diu_check_var,
1138 .fb_set_par = fsl_diu_set_par, 1106 .fb_set_par = fsl_diu_set_par,
1139 .fb_setcolreg = fsl_diu_setcolreg, 1107 .fb_setcolreg = fsl_diu_setcolreg,
1140 .fb_blank = fsl_diu_blank,
1141 .fb_pan_display = fsl_diu_pan_display, 1108 .fb_pan_display = fsl_diu_pan_display,
1142 .fb_fillrect = cfb_fillrect, 1109 .fb_fillrect = cfb_fillrect,
1143 .fb_copyarea = cfb_copyarea, 1110 .fb_copyarea = cfb_copyarea,
@@ -1232,11 +1199,6 @@ static int __devinit install_fb(struct fb_info *info)
1232 fb_videomode_to_var(&info->var, modedb); 1199 fb_videomode_to_var(&info->var, modedb);
1233 } 1200 }
1234 1201
1235 if (mfbi->type == MFB_TYPE_OFF)
1236 mfbi->blank = FB_BLANK_NORMAL;
1237 else
1238 mfbi->blank = FB_BLANK_UNBLANK;
1239
1240 if (fsl_diu_check_var(&info->var, info)) { 1202 if (fsl_diu_check_var(&info->var, info)) {
1241 dev_err(info->dev, "fsl_diu_check_var failed\n"); 1203 dev_err(info->dev, "fsl_diu_check_var failed\n");
1242 unmap_video_memory(info); 1204 unmap_video_memory(info);