OMAPFB: Clear framebuffers before they are registered
authorArchit Taneja <archit@ti.com>
Tue, 11 Sep 2012 10:04:08 +0000 (15:34 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 11 Sep 2012 10:51:28 +0000 (13:51 +0300)
The framebuffers are cleared with the function omapfb_clear_fb(), which
internally calls cfb_fillrect(). The boot logo is copied on to the
framebuffer when the fb device is registered with fb framework.

omapfb_clear_fb() is called after the framebuffer is registered, leading to
the boot logo getting cleared. Clear the framebuffers using omapfb_clear_fb()
before registering the framebuffer devices.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/omapfb/omapfb-main.c

index 7afdfcf3bac85b7a86c95a2962fdd2051a7f6afb..77ae9edbf2cde089d77a528c3b576d612444c0fc 100644 (file)
@@ -1961,6 +1961,16 @@ static int omapfb_create_framebuffers(struct omapfb2_device *fbdev)
                }
        }
 
+       for (i = 0; i < fbdev->num_fbs; i++) {
+               struct fb_info *fbi = fbdev->fbs[i];
+               struct omapfb_info *ofbi = FB2OFB(fbi);
+
+               if (ofbi->region->size == 0)
+                       continue;
+
+               omapfb_clear_fb(fbi);
+       }
+
        DBG("fb_infos initialized\n");
 
        for (i = 0; i < fbdev->num_fbs; i++) {
@@ -1988,16 +1998,6 @@ static int omapfb_create_framebuffers(struct omapfb2_device *fbdev)
                }
        }
 
-       for (i = 0; i < fbdev->num_fbs; i++) {
-               struct fb_info *fbi = fbdev->fbs[i];
-               struct omapfb_info *ofbi = FB2OFB(fbi);
-
-               if (ofbi->region->size == 0)
-                       continue;
-
-               omapfb_clear_fb(fbi);
-       }
-
        /* Enable fb0 */
        if (fbdev->num_fbs > 0) {
                struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[0]);