From: yxj Date: Tue, 18 Sep 2012 09:37:09 +0000 (+0800) Subject: rkfb:add bmp logo support X-Git-Tag: firefly_0821_release~8606 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ea9aaf2c27e4c5796fe43f0f752a38d62490b4a4;p=firefly-linux-kernel-4.4.55.git rkfb:add bmp logo support --- diff --git a/drivers/video/logo/Kconfig b/drivers/video/logo/Kconfig index b53c9627852e..d5f1de8329d9 100755 --- a/drivers/video/logo/Kconfig +++ b/drivers/video/logo/Kconfig @@ -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 diff --git a/drivers/video/logo/Makefile b/drivers/video/logo/Makefile index 86849cd3262e..ec81c8a4448f 100755 --- a/drivers/video/logo/Makefile +++ b/drivers/video/logo/Makefile @@ -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 diff --git a/drivers/video/logo/logo.c b/drivers/video/logo/logo.c index 284c96d0d23e..de9d849af33f 100644 --- a/drivers/video/logo/logo.c +++ b/drivers/video/logo/logo.c @@ -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 index 000000000000..04cbebac850a Binary files /dev/null and b/drivers/video/logo/logo_sunset_bmp.bmp differ diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index 555933a8155a..5bfe1540011c 100644 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -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 diff --git a/include/linux/linux_logo.h b/include/linux/linux_logo.h index 1ac3f1ebcf28..33bdf6988d4a 100644 --- a/include/linux/linux_logo.h +++ b/include/linux/linux_logo.h @@ -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);