rkfb:add bmp logo support
authoryxj <yxj@rock-chips.com>
Tue, 18 Sep 2012 09:37:09 +0000 (17:37 +0800)
committeryxj <yxj@rock-chips.com>
Tue, 18 Sep 2012 09:37:26 +0000 (17:37 +0800)
drivers/video/logo/Kconfig
drivers/video/logo/Makefile
drivers/video/logo/logo.c
drivers/video/logo/logo_sunset_bmp.bmp [new file with mode: 0644]
drivers/video/rockchip/rk_fb.c
include/linux/linux_logo.h

index b53c9627852eaeee1007c59c175d04df6f74ec60..d5f1de8329d9725b761a7ffde5e5be45985304a9 100755 (executable)
@@ -27,9 +27,6 @@ config LOGO_LINUX_CLUT224
        bool "Standard 224-color Linux logo"
        default y
 
-config LOGO_LINUX_BMP
-       bool "bmp logo"
-
 config LOGO_BLACKFIN_VGA16
        bool "16-colour Blackfin Processor Linux logo"
        depends on BLACKFIN
@@ -92,5 +89,12 @@ config LOGO_CHARGER_CLUT224
 config LOGO_G3_CLUT224
        bool "Standard 224-color Linux logo for g3 phone"
        default n
+menuconfig LOGO_LINUX_BMP
+        bool "Bmp logo support"
+       default n
 
+config LOGO_LINUX_BMP_SUNSET
+       bool "Bmp logo sunset"
+       depends on  LOGO_LINUX_BMP
+       default n
 endif # LOGO
index 86849cd3262e256d7683efbd8ab0916d855a7ed0..ec81c8a4448fa402e664d63811c7a4eef4ece3fc 100755 (executable)
@@ -16,7 +16,7 @@ obj-$(CONFIG_LOGO_SUPERH_VGA16)               += logo_superh_vga16.o
 obj-$(CONFIG_LOGO_SUPERH_CLUT224)      += logo_superh_clut224.o
 obj-$(CONFIG_LOGO_M32R_CLUT224)                += logo_m32r_clut224.o
 obj-$(CONFIG_LOGO_G3_CLUT224)          += logo_g3_clut224.o
-obj-$(CONFIG_LOGO_LINUX_BMP)           += logo_bmp.o
+obj-$(CONFIG_LOGO_LINUX_BMP_SUNSET)    += logo_sunset_bmp.o
 
 
 obj-$(CONFIG_LOGO_CHARGER_CLUT224)         += logo_charger00_clut224.o logo_charger01_clut224.o logo_charger02_clut224.o logo_charger03_clut224.o logo_charger04_clut224.o logo_charger05_clut224.o logo_charger06_clut224.o logo_charger07_clut224.o logo_charger08_clut224.o 
index 284c96d0d23ee08176d66834be075b1fa642e6bb..de9d849af33f5dc5369e34bb8d349d5f72751183 100644 (file)
@@ -123,7 +123,9 @@ const struct linux_logo * __init_refok fb_find_logo(int depth)
                if (depth >= 24)
                {
                        #ifdef  CONFIG_LOGO_LINUX_BMP
-                       logo = &logo_bmp;       
+                       #ifdef CONFIG_LOGO_LINUX_BMP
+                       logo = &logo_sunset_bmp;
+                       #endif
                        #endif  
                }
                else
diff --git a/drivers/video/logo/logo_sunset_bmp.bmp b/drivers/video/logo/logo_sunset_bmp.bmp
new file mode 100644 (file)
index 0000000..04cbeba
Binary files /dev/null and b/drivers/video/logo/logo_sunset_bmp.bmp differ
index 555933a8155ad75a89d38b5916c48b7f3b35891e..5bfe1540011c17155defc8787da1dc8f124832da 100644 (file)
@@ -1083,12 +1083,22 @@ int rk_fb_register(struct rk_lcdc_device_driver *dev_drv,
     {
            fb_inf->fb[0]->fbops->fb_open(fb_inf->fb[0],1);
            fb_inf->fb[0]->fbops->fb_set_par(fb_inf->fb[0]);
-           if(fb_prepare_logo(fb_inf->fb[0], FB_ROTATE_UR)) {
-               /* Start display and show logo on boot */
-               fb_set_cmap(&fb_inf->fb[0]->cmap, fb_inf->fb[0]);
-               fb_show_logo(fb_inf->fb[0], FB_ROTATE_UR);
-               fb_inf->fb[0]->fbops->fb_pan_display(&(fb_inf->fb[0]->var), fb_inf->fb[0]);
-           }
+
+#if  defined(CONFIG_LOGO_LINUX_BMP)
+               if(fb_prepare_bmp_logo(fb_inf->fb[0], FB_ROTATE_UR)) {
+                       /* Start display and show logo on boot */
+                       fb_set_cmap(&fb_inf->fb[0]->cmap, fb_inf->fb[0]);
+                       fb_show_bmp_logo(fb_inf->fb[0], FB_ROTATE_UR);
+                       fb_inf->fb[0]->fbops->fb_pan_display(&(fb_inf->fb[0]->var), fb_inf->fb[0]);
+               }
+#else
+               if(fb_prepare_logo(fb_inf->fb[0], FB_ROTATE_UR)) {
+                       /* Start display and show logo on boot */
+                       fb_set_cmap(&fb_inf->fb[0]->cmap, fb_inf->fb[0]);
+                       fb_show_logo(fb_inf->fb[0], FB_ROTATE_UR);
+                       fb_inf->fb[0]->fbops->fb_pan_display(&(fb_inf->fb[0]->var), fb_inf->fb[0]);
+               }
+#endif
                
     }
 #endif
index 1ac3f1ebcf28dc293e72747ba64a4e169d1cce18..33bdf6988d4aeae617e8417be22e89453e4819b7 100644 (file)
@@ -49,7 +49,7 @@ extern const struct linux_logo logo_superh_clut224;
 extern const struct linux_logo logo_m32r_clut224;
 extern const struct linux_logo logo_spe_clut224;
 extern const struct linux_logo logo_g3_clut224;
-extern const struct linux_logo logo_bmp;
+extern const struct linux_logo logo_sunset_bmp;
 
 
 extern const struct linux_logo *fb_find_logo(int depth);