diff options
author | DooHyunHwang <dh0421.hwang@samsung.com> | 2010-10-25 00:38:53 -0700 |
---|---|---|
committer | Arve Hjønnevåg <arve@android.com> | 2011-11-17 17:51:42 -0800 |
commit | 3f8dfd1f64d5a9c7a44263bb8b559526da67296c (patch) | |
tree | 81725369405d0d973260b537a6c82f086b994bc9 | |
parent | 51e112b3584bb4d2423680c2cc282b271cdcf3a6 (diff) | |
download | kernel_samsung_crespo-3f8dfd1f64d5a9c7a44263bb8b559526da67296c.zip kernel_samsung_crespo-3f8dfd1f64d5a9c7a44263bb8b559526da67296c.tar.gz kernel_samsung_crespo-3f8dfd1f64d5a9c7a44263bb8b559526da67296c.tar.bz2 |
S5PC11X: BOOTIMG: Show Booting LOGO IMG in Kernel booting time.
Edit for showing Booting LOGO image in kernel booting time
It is working with parameter from Bootloader by cmdline
Change-Id: I774fce93d9ca5448add690c29466843917488de6
Signed-off-by: DooHyunHwang <dh0421.hwang@samsung.com>
-rw-r--r-- | drivers/video/samsung/s3cfb.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/video/samsung/s3cfb.c b/drivers/video/samsung/s3cfb.c index 7254d4a..b029514 100644 --- a/drivers/video/samsung/s3cfb.c +++ b/drivers/video/samsung/s3cfb.c @@ -46,6 +46,10 @@ struct s3c_platform_fb *to_fb_plat(struct device *dev) return (struct s3c_platform_fb *)pdev->dev.platform_data; } +static unsigned int bootloaderfb; +module_param_named(bootloaderfb, bootloaderfb, uint, 0444); +MODULE_PARM_DESC(bootloaderfb, "Address of booting logo image in Bootloader"); + #ifndef CONFIG_FRAMEBUFFER_CONSOLE static int s3cfb_draw_logo(struct fb_info *fb) { @@ -87,6 +91,15 @@ static int s3cfb_draw_logo(struct fb_info *fb) } } #endif + if (bootloaderfb) { + u8 *logo_virt_buf; + logo_virt_buf = ioremap_nocache(bootloaderfb, + fb->var.yres * fb->fix.line_length); + + memcpy(fb->screen_base, logo_virt_buf, + fb->var.yres * fb->fix.line_length); + iounmap(logo_virt_buf); + } return 0; } #endif @@ -977,8 +990,7 @@ static int __devinit s3cfb_probe(struct platform_device *pdev) if (pdata->backlight_on) pdata->backlight_on(pdev); #endif - - if (pdata->reset_lcd) + if (!bootloaderfb && pdata->reset_lcd) pdata->reset_lcd(pdev); #endif |