diff options
| author | Robert Winkler <robert.winkler@boundarydevices.com> | 2013-06-17 11:31:29 -0700 | 
|---|---|---|
| committer | Anatolij Gustschin <agust@denx.de> | 2013-07-01 21:45:22 +0200 | 
| commit | dd4425e85260c2e750676e2dc9c225cfff1b4bcd (patch) | |
| tree | 6086e9eef88070e2faebd3feb1c97f05195f41b8 | |
| parent | f7ef9d610cb28d31c106792f18b58424e39275c7 (diff) | |
| download | olio-uboot-2014.01-dd4425e85260c2e750676e2dc9c225cfff1b4bcd.tar.xz olio-uboot-2014.01-dd4425e85260c2e750676e2dc9c225cfff1b4bcd.zip | |
video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
Create splash.c/h to put the function and any future common splash
screen code in.
Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
| -rw-r--r-- | common/Makefile | 1 | ||||
| -rw-r--r-- | common/lcd.c | 16 | ||||
| -rw-r--r-- | common/splash.c | 36 | ||||
| -rw-r--r-- | drivers/video/cfb_console.c | 5 | ||||
| -rw-r--r-- | include/lcd.h | 1 | ||||
| -rw-r--r-- | include/splash.h | 29 | 
6 files changed, 72 insertions, 16 deletions
| diff --git a/common/Makefile b/common/Makefile index 48791b7ff..53c92ef62 100644 --- a/common/Makefile +++ b/common/Makefile @@ -196,6 +196,7 @@ COBJS-y += flash.o  COBJS-$(CONFIG_CMD_KGDB) += kgdb.o kgdb_stubs.o  COBJS-$(CONFIG_I2C_EDID) += edid.o  COBJS-$(CONFIG_KALLSYMS) += kallsyms.o +COBJS-y += splash.o  COBJS-$(CONFIG_LCD) += lcd.o  COBJS-$(CONFIG_LYNXKDI) += lynxkdi.o  COBJS-$(CONFIG_MENU) += menu.o diff --git a/common/lcd.c b/common/lcd.c index c9a589e97..95006aa12 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -43,6 +43,8 @@  #include <lcd.h>  #include <watchdog.h> +#include <splash.h> +  #if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \  	defined(CONFIG_CPU_MONAHANS)  #define CONFIG_CPU_PXA @@ -1072,18 +1074,6 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)  }  #endif -#ifdef CONFIG_SPLASH_SCREEN_PREPARE -static inline int splash_screen_prepare(void) -{ -	return board_splash_screen_prepare(); -} -#else -static inline int splash_screen_prepare(void) -{ -	return 0; -} -#endif -  static void *lcd_logo(void)  {  #ifdef CONFIG_SPLASH_SCREEN @@ -1096,7 +1086,7 @@ static void *lcd_logo(void)  		do_splash = 0;  		if (splash_screen_prepare()) -			return (void *)gd->fb_base; +			return (void *)lcd_base;  		addr = simple_strtoul (s, NULL, 16);  #ifdef CONFIG_SPLASH_SCREEN_ALIGN diff --git a/common/splash.c b/common/splash.c new file mode 100644 index 000000000..5cf52723a --- /dev/null +++ b/common/splash.c @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2013, Boundary Devices <info@boundarydevices.com> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., http://www.fsf.org/about/contact/ + * + */ + +#include <splash.h> +#include <config.h> + +#ifdef CONFIG_SPLASH_SCREEN_PREPARE +int splash_screen_prepare(void) +{ +	return board_splash_screen_prepare(); +} +#else +int splash_screen_prepare(void) +{ +	return 0; +} +#endif diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index b10f1590b..785bbcfc3 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -181,6 +181,8 @@   */  #include <video_fb.h> +#include <splash.h> +  /*   * some Macros   */ @@ -1995,10 +1997,9 @@ static void *video_logo(void)  #ifdef CONFIG_SPLASH_SCREEN  	s = getenv("splashimage");  	if (s != NULL) { - +		splash_screen_prepare();  		addr = simple_strtoul(s, NULL, 16); -  		if (video_display_bitmap(addr,  					video_logo_xpos,  					video_logo_ypos) == 0) { diff --git a/include/lcd.h b/include/lcd.h index f7feff1d8..8718a0190 100644 --- a/include/lcd.h +++ b/include/lcd.h @@ -37,7 +37,6 @@ extern struct vidinfo panel_info;  void lcd_ctrl_init(void *lcdbase);  void lcd_enable(void); -int board_splash_screen_prepare(void);  /* setcolreg used in 8bpp/16bpp; initcolregs used in monochrome */  void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue); diff --git a/include/splash.h b/include/splash.h new file mode 100644 index 000000000..a8dd151c7 --- /dev/null +++ b/include/splash.h @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2013, Boundary Devices <info@boundarydevices.com> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., http://www.fsf.org/about/contact/ + */ + +#ifndef _SPLASH_H_ +#define _SPLASH_H_ + + +int splash_screen_prepare(void); + + +#endif |