[U-Boot] [PATCH 1/3 v2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
Igor Grinberg
grinberg at compulab.co.il
Tue Jun 18 08:23:03 CEST 2013
Hi Robert,
On 06/17/13 21:31, Robert Winkler wrote:
> Create splash.c/h to put the function and any future common splash
> screen code in.
>
> Signed-off-by: Robert Winkler <robert.winkler at boundarydevices.com>
Acked-by: Igor Grinberg <grinberg at compulab.co.il>
> ---
> v2 changes:
> remove superfluous comments
> remove debug printf that slipped in
> remove address from GPL comments
>
> common/Makefile | 1 +
> common/lcd.c | 16 +++-------------
> common/splash.c | 36 ++++++++++++++++++++++++++++++++++++
> drivers/video/cfb_console.c | 5 +++--
> include/lcd.h | 1 -
> include/splash.h | 29 +++++++++++++++++++++++++++++
> 6 files changed, 72 insertions(+), 16 deletions(-)
> create mode 100644 common/splash.c
> create mode 100644 include/splash.h
>
> diff --git a/common/Makefile b/common/Makefile
> index 1cfb132..b48f227 100644
> --- a/common/Makefile
> +++ b/common/Makefile
> @@ -204,6 +204,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 edae835..72ffcfb 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
> @@ -1068,18 +1070,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
> @@ -1092,7 +1082,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 0000000..98de2be
> --- /dev/null
> +++ b/common/splash.c
> @@ -0,0 +1,36 @@
> +/*
> + * Copyright (C) 2013, Boundary Devices <info at 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 0793f07..4e299c6 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 c6e7fc5..e58ffd0 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 0000000..63b45e0
> --- /dev/null
> +++ b/include/splash.h
> @@ -0,0 +1,29 @@
> +/*
> + * Copyright (C) 2013, Boundary Devices <info at 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
>
--
Regards,
Igor.
More information about the U-Boot
mailing list