From 5a6fbdee603b19d2034d491d1f79d003cd744907 Mon Sep 17 00:00:00 2001 From: yxj Date: Wed, 20 Mar 2013 16:42:28 +0800 Subject: [PATCH] rk fb: fix bmp logo support --- drivers/video/logo/Kconfig | 13 +++++++--- drivers/video/logo/Makefile | 1 + drivers/video/logo/logo.c | 7 ++++- .../{logo_bmp.bmp => logo_android_bmp.bmp} | Bin drivers/video/rockchip/rk_fb.c | 24 ++++++++++-------- include/linux/linux_logo.h | 1 + 6 files changed, 31 insertions(+), 15 deletions(-) rename drivers/video/logo/{logo_bmp.bmp => logo_android_bmp.bmp} (100%) diff --git a/drivers/video/logo/Kconfig b/drivers/video/logo/Kconfig index 552155bbcc3b..5a88ce8dd371 100644 --- a/drivers/video/logo/Kconfig +++ b/drivers/video/logo/Kconfig @@ -98,16 +98,21 @@ config LOGO_LINUX_800x480_CLUT224 bool "Standard 224-color 800x480 Linux logo " default n +config LOGO_LOWERPOWER_WARNING + bool "warning: lowerpower when poweron" + default n + menuconfig LOGO_LINUX_BMP bool "Bmp logo support" default n -config LOGO_LOWERPOWER_WARNING - bool "warning: lowerpower when poweron" - default n - config LOGO_LINUX_BMP_SUNSET bool "Bmp logo sunset" depends on LOGO_LINUX_BMP default n + +config LOGO_LINUX_BMP_ANDROID + bool "Bmp logo android" + depends on LOGO_LINUX_BMP + default n endif # LOGO diff --git a/drivers/video/logo/Makefile b/drivers/video/logo/Makefile index c7396a480c20..ccae7cc38f3d 100644 --- a/drivers/video/logo/Makefile +++ b/drivers/video/logo/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_LOGO_M32R_CLUT224) += logo_m32r_clut224.o obj-$(CONFIG_LOGO_G3_CLUT224) += logo_g3_clut224.o obj-$(CONFIG_LOGO_LINUX_800x480_CLUT224) += logo_linux_800x480_clut224.o obj-$(CONFIG_LOGO_LINUX_BMP_SUNSET) += logo_sunset_bmp.o +obj-$(CONFIG_LOGO_LINUX_BMP_ANDROID) += logo_android_bmp.o obj-$(CONFIG_LOGO_LOWERPOWER_WARNING) += logo_linux_lowerpower_clut224.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 141080a6da65..a39da141aa02 100644 --- a/drivers/video/logo/logo.c +++ b/drivers/video/logo/logo.c @@ -141,9 +141,14 @@ const struct linux_logo * __init_refok fb_find_logo(int depth) if (depth >= 24) { #ifdef CONFIG_LOGO_LINUX_BMP - #ifdef CONFIG_LOGO_LINUX_BMP + #ifdef CONFIG_LOGO_LINUX_BMP_SUNSET logo = &logo_sunset_bmp; #endif + + #ifdef CONFIG_LOGO_LINUX_BMP_ANDROID + logo = &logo_android_bmp; + #endif + #endif } else diff --git a/drivers/video/logo/logo_bmp.bmp b/drivers/video/logo/logo_android_bmp.bmp similarity index 100% rename from drivers/video/logo/logo_bmp.bmp rename to drivers/video/logo/logo_android_bmp.bmp diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index 0297472fce6b..81db1f735bce 100644 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -669,19 +669,23 @@ static struct fb_ops fb_ops = { static struct fb_var_screeninfo def_var = { - .red = {11,5,0},//default set to rgb565,the boot logo is rgb565 - .green = {5,6,0}, - .blue = {0,5,0}, - .transp = {0,0,0}, #ifdef CONFIG_LOGO_LINUX_BMP - .nonstd = HAL_PIXEL_FORMAT_RGBA_8888, + .red = {16,8,0}, + .green = {8,8,0}, + .blue = {0,8,0}, + .transp = {0,0,0}, + .nonstd = HAL_PIXEL_FORMAT_BGRA_8888, #else - .nonstd = HAL_PIXEL_FORMAT_RGB_565, //(ypos<<20+xpos<<8+format) format + .red = {11,5,0}, + .green = {5,6,0}, + .blue = {0,5,0}, + .transp = {0,0,0}, + .nonstd = HAL_PIXEL_FORMAT_RGB_565, //(ypos<<20+xpos<<8+format) format #endif - .grayscale = 0, //(ysize<<20+xsize<<8) - .activate = FB_ACTIVATE_NOW, - .accel_flags = 0, - .vmode = FB_VMODE_NONINTERLACED, + .grayscale = 0, //(ysize<<20+xsize<<8) + .activate = FB_ACTIVATE_NOW, + .accel_flags = 0, + .vmode = FB_VMODE_NONINTERLACED, }; static struct fb_fix_screeninfo def_fix = { diff --git a/include/linux/linux_logo.h b/include/linux/linux_logo.h index 49892ff0c482..31126eb86cd4 100644 --- a/include/linux/linux_logo.h +++ b/include/linux/linux_logo.h @@ -54,6 +54,7 @@ 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_sunset_bmp; +extern const struct linux_logo logo_android_bmp; extern const struct linux_logo logo_linux_800x480_clut224; extern const struct linux_logo *fb_find_logo(int depth); -- 2.34.1