aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDooHyunHwang <dh0421.hwang@samsung.com>2010-10-25 00:38:53 -0700
committerArve Hjønnevåg <arve@android.com>2011-11-17 17:51:42 -0800
commit3f8dfd1f64d5a9c7a44263bb8b559526da67296c (patch)
tree81725369405d0d973260b537a6c82f086b994bc9
parent51e112b3584bb4d2423680c2cc282b271cdcf3a6 (diff)
downloadkernel_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.c16
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