* [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes
@ 2013-06-14 17:00 Robert Winkler
2013-06-14 17:00 ` [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO Robert Winkler
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Robert Winkler @ 2013-06-14 17:00 UTC (permalink / raw)
To: u-boot
These 2 patches are the result of discussion in these threads:
http://lists.denx.de/pipermail/u-boot/2013-May/155463.html
http://lists.denx.de/pipermail/u-boot/2013-June/155630.html
http://lists.denx.de/pipermail/u-boot/2013-June/155632.html
The upshot is, move splash_screen_prepare to a common location
so it can be used in cfb_console.c and (possibly) make it weak.
These 2 patches do that and the first can be accepted without the
second if we decide not to make it weak.
One other note, I'm submitting this based on Anatolij's tree since
it's video related but board/compulab/cm_t35 does not exist in his
tree. If the second patch is accepted, cm_t35 will have to change
since it uses the non-weak method. I will submit an optional 3rd
patch to Stefano's tree with the necessary changes.
Robert Winkler (2):
video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
video: lcd: Make splash_screen_prepare weak, remove config macro
README | 8 --------
common/Makefile | 1 +
common/lcd.c | 19 ++++++-------------
common/splash.c | 31 +++++++++++++++++++++++++++++++
doc/README.splashprepare | 8 ++++++++
drivers/video/cfb_console.c | 8 ++++++--
include/lcd.h | 1 -
include/splash.h | 30 ++++++++++++++++++++++++++++++
8 files changed, 82 insertions(+), 24 deletions(-)
create mode 100644 common/splash.c
create mode 100644 doc/README.splashprepare
create mode 100644 include/splash.h
--
1.8.3
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
2013-06-14 17:00 [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes Robert Winkler
@ 2013-06-14 17:00 ` Robert Winkler
2013-06-17 5:34 ` Igor Grinberg
2013-06-14 17:00 ` [U-Boot] [PATCH 2/2] video: lcd: Make splash_screen_prepare weak, remove config macro Robert Winkler
2013-06-17 5:48 ` [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes Igor Grinberg
2 siblings, 1 reply; 8+ messages in thread
From: Robert Winkler @ 2013-06-14 17:00 UTC (permalink / raw)
To: u-boot
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>
---
common/Makefile | 1 +
common/lcd.c | 19 ++++++-------------
common/splash.c | 37 +++++++++++++++++++++++++++++++++++++
drivers/video/cfb_console.c | 8 ++++++--
include/lcd.h | 1 -
include/splash.h | 30 ++++++++++++++++++++++++++++++
6 files changed, 80 insertions(+), 16 deletions(-)
create mode 100644 common/splash.c
create mode 100644 include/splash.h
diff --git a/common/Makefile b/common/Makefile
index 0e0fff1..1d70584 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -203,6 +203,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 3a60484..4a85ebb 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -43,6 +43,11 @@
#include <lcd.h>
#include <watchdog.h>
+/*
+ * Include splash.h for splash_screen_prepare() etc.
+ */
+#include <splash.h>
+
#if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
defined(CONFIG_CPU_MONAHANS)
#define CONFIG_CPU_PXA
@@ -1072,18 +1077,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 +1089,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..fe13c69
--- /dev/null
+++ b/common/splash.c
@@ -0,0 +1,37 @@
+/*
+ * 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., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#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)
+{
+ printf("SPLASH_SCREEN_PREPARE not defined\n");
+ return 0;
+}
+#endif
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index b769222..4543730 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -178,6 +178,11 @@
#include <video_fb.h>
/*
+ * Include splash.h for splash_screen_prepare() etc.
+ */
+#include <splash.h>
+
+/*
* some Macros
*/
#define VIDEO_VISIBLE_COLS (pGD->winSizeX)
@@ -1991,10 +1996,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 30225ed..79bf13e 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..478f864
--- /dev/null
+++ b/include/splash.h
@@ -0,0 +1,30 @@
+/*
+ * 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., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef _SPLASH_H_
+#define _SPLASH_H_
+
+
+int splash_screen_prepare(void);
+
+
+#endif
--
1.8.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 2/2] video: lcd: Make splash_screen_prepare weak, remove config macro
2013-06-14 17:00 [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes Robert Winkler
2013-06-14 17:00 ` [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO Robert Winkler
@ 2013-06-14 17:00 ` Robert Winkler
2013-06-17 5:48 ` [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes Igor Grinberg
2 siblings, 0 replies; 8+ messages in thread
From: Robert Winkler @ 2013-06-14 17:00 UTC (permalink / raw)
To: u-boot
Remove CONFIG_SPLASH_SCREEN_PREPARE from README
Add doc/README.splashprepare to document functionality
Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
---
README | 8 --------
common/splash.c | 14 ++++----------
doc/README.splashprepare | 8 ++++++++
3 files changed, 12 insertions(+), 18 deletions(-)
create mode 100644 doc/README.splashprepare
diff --git a/README b/README
index 0d37d56..fd3d3a5 100644
--- a/README
+++ b/README
@@ -1604,14 +1604,6 @@ CBFS (Coreboot Filesystem) support
=> vertically centered image
at x = dspWidth - bmpWidth - 9
- CONFIG_SPLASH_SCREEN_PREPARE
-
- If this option is set then the board_splash_screen_prepare()
- function, which must be defined in your code, is called as part
- of the splash screen display sequence. It gives the board an
- opportunity to prepare the splash image data before it is
- processed and sent to the frame buffer by U-Boot.
-
- Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP
If this option is set, additionally to standard BMP
diff --git a/common/splash.c b/common/splash.c
index fe13c69..c40861a 100644
--- a/common/splash.c
+++ b/common/splash.c
@@ -21,17 +21,11 @@
*/
#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)
+int __splash_screen_prepare(void)
{
- printf("SPLASH_SCREEN_PREPARE not defined\n");
return 0;
}
-#endif
+
+int splash_screen_prepare(void)
+ __attribute__ ((weak, alias("__splash_screen_prepare")));
diff --git a/doc/README.splashprepare b/doc/README.splashprepare
new file mode 100644
index 0000000..8d103bf
--- /dev/null
+++ b/doc/README.splashprepare
@@ -0,0 +1,8 @@
+---------------------------------------------------------------------
+Splash Screen
+---------------------------------------------------------------------
+The splash_screen_prepare() function is a weak function defined in
+common/splash.c. It is called as part of the splash screen display
+sequence. It gives the board an opportunity to prepare the splash
+image data before it is processed and sent to the frame buffer by
+U-Boot. Define your own version to use this feature.
--
1.8.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
2013-06-14 17:00 ` [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO Robert Winkler
@ 2013-06-17 5:34 ` Igor Grinberg
2013-06-17 17:08 ` Robert Winkler
0 siblings, 1 reply; 8+ messages in thread
From: Igor Grinberg @ 2013-06-17 5:34 UTC (permalink / raw)
To: u-boot
Hi Robert,
On 06/14/13 20:00, 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@boundarydevices.com>
Thanks for the effort!
Several comments below...
> ---
> common/Makefile | 1 +
> common/lcd.c | 19 ++++++-------------
> common/splash.c | 37 +++++++++++++++++++++++++++++++++++++
> drivers/video/cfb_console.c | 8 ++++++--
> include/lcd.h | 1 -
> include/splash.h | 30 ++++++++++++++++++++++++++++++
> 6 files changed, 80 insertions(+), 16 deletions(-)
> create mode 100644 common/splash.c
> create mode 100644 include/splash.h
>
> diff --git a/common/Makefile b/common/Makefile
> index 0e0fff1..1d70584 100644
> --- a/common/Makefile
> +++ b/common/Makefile
> @@ -203,6 +203,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
I think this should depend on CONFIG_SPLASH_SCREEN.
> 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 3a60484..4a85ebb 100644
> --- a/common/lcd.c
> +++ b/common/lcd.c
> @@ -43,6 +43,11 @@
> #include <lcd.h>
> #include <watchdog.h>
>
> +/*
> + * Include splash.h for splash_screen_prepare() etc.
> + */
I think this comment is meaningless, the below include is self explanatory.
> +#include <splash.h>
> +
> #if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
> defined(CONFIG_CPU_MONAHANS)
> #define CONFIG_CPU_PXA
> @@ -1072,18 +1077,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 +1089,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..fe13c69
> --- /dev/null
> +++ b/common/splash.c
> @@ -0,0 +1,37 @@
> +/*
> + * 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., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
I would drop the postal address, as it changed in the past and
probably will change in the future and then we will have a bunch of
files with wrong address...
> + */
> +
> +#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)
> +{
> + printf("SPLASH_SCREEN_PREPARE not defined\n");
> + return 0;
> +}
> +#endif
> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
> index b769222..4543730 100644
> --- a/drivers/video/cfb_console.c
> +++ b/drivers/video/cfb_console.c
> @@ -178,6 +178,11 @@
> #include <video_fb.h>
>
> /*
> + * Include splash.h for splash_screen_prepare() etc.
> + */
Same here, the below include does not need any comment.
> +#include <splash.h>
> +
> +/*
> * some Macros
> */
> #define VIDEO_VISIBLE_COLS (pGD->winSizeX)
> @@ -1991,10 +1996,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 30225ed..79bf13e 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..478f864
> --- /dev/null
> +++ b/include/splash.h
> @@ -0,0 +1,30 @@
> +/*
> + * 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., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
If you decide to drop the postal address, then please do it also here.
> + */
> +
> +#ifndef _SPLASH_H_
> +#define _SPLASH_H_
> +
> +
> +int splash_screen_prepare(void);
> +
> +
> +#endif
>
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes
2013-06-14 17:00 [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes Robert Winkler
2013-06-14 17:00 ` [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO Robert Winkler
2013-06-14 17:00 ` [U-Boot] [PATCH 2/2] video: lcd: Make splash_screen_prepare weak, remove config macro Robert Winkler
@ 2013-06-17 5:48 ` Igor Grinberg
2 siblings, 0 replies; 8+ messages in thread
From: Igor Grinberg @ 2013-06-17 5:48 UTC (permalink / raw)
To: u-boot
On 06/14/13 20:00, Robert Winkler wrote:
> These 2 patches are the result of discussion in these threads:
> http://lists.denx.de/pipermail/u-boot/2013-May/155463.html
> http://lists.denx.de/pipermail/u-boot/2013-June/155630.html
> http://lists.denx.de/pipermail/u-boot/2013-June/155632.html
>
> The upshot is, move splash_screen_prepare to a common location
> so it can be used in cfb_console.c and (possibly) make it weak.
>
> These 2 patches do that and the first can be accepted without the
> second if we decide not to make it weak.
>
> One other note, I'm submitting this based on Anatolij's tree since
> it's video related but board/compulab/cm_t35 does not exist in his
> tree.
That's because recently I've moved it from board/cm_t35 to
board/compulab/cm_t35 and probably Anatolij has not updated
his tree to the latest upstream.
> If the second patch is accepted, cm_t35 will have to change
> since it uses the non-weak method. I will submit an optional 3rd
> patch to Stefano's tree with the necessary changes.
>
>
> Robert Winkler (2):
> video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
> video: lcd: Make splash_screen_prepare weak, remove config macro
>
> README | 8 --------
> common/Makefile | 1 +
> common/lcd.c | 19 ++++++-------------
> common/splash.c | 31 +++++++++++++++++++++++++++++++
> doc/README.splashprepare | 8 ++++++++
> drivers/video/cfb_console.c | 8 ++++++--
> include/lcd.h | 1 -
> include/splash.h | 30 ++++++++++++++++++++++++++++++
> 8 files changed, 82 insertions(+), 24 deletions(-)
> create mode 100644 common/splash.c
> create mode 100644 doc/README.splashprepare
> create mode 100644 include/splash.h
>
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
2013-06-17 5:34 ` Igor Grinberg
@ 2013-06-17 17:08 ` Robert Winkler
2013-06-18 6:20 ` Igor Grinberg
0 siblings, 1 reply; 8+ messages in thread
From: Robert Winkler @ 2013-06-17 17:08 UTC (permalink / raw)
To: u-boot
Hi Igor,
On Sun, Jun 16, 2013 at 10:34 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
> Hi Robert,
>
> On 06/14/13 20:00, 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@boundarydevices.com>
>
> Thanks for the effort!
> Several comments below...
>
>> ---
>> common/Makefile | 1 +
>> common/lcd.c | 19 ++++++-------------
>> common/splash.c | 37 +++++++++++++++++++++++++++++++++++++
>> drivers/video/cfb_console.c | 8 ++++++--
>> include/lcd.h | 1 -
>> include/splash.h | 30 ++++++++++++++++++++++++++++++
>> 6 files changed, 80 insertions(+), 16 deletions(-)
>> create mode 100644 common/splash.c
>> create mode 100644 include/splash.h
>>
>> diff --git a/common/Makefile b/common/Makefile
>> index 0e0fff1..1d70584 100644
>> --- a/common/Makefile
>> +++ b/common/Makefile
>> @@ -203,6 +203,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
>
> I think this should depend on CONFIG_SPLASH_SCREEN.
No it shouldn't. The function is always called so it always needs to
be defined. It's the
same behavior we had before, it was always compiled into lcd.h.
Whether or not the CONFIG
was defined just changed whether it actually called
board_splash_screen_prepare or just returned 0.
This is of course true for when it's a weak function as well.
>
>> 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 3a60484..4a85ebb 100644
>> --- a/common/lcd.c
>> +++ b/common/lcd.c
>> @@ -43,6 +43,11 @@
>> #include <lcd.h>
>> #include <watchdog.h>
>>
>> +/*
>> + * Include splash.h for splash_screen_prepare() etc.
>> + */
>
> I think this comment is meaningless, the below include is self explanatory.
Agreed. I was just trying to match the other superfluous comments.
>
>> +#include <splash.h>
>> +
>> #if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
>> defined(CONFIG_CPU_MONAHANS)
>> #define CONFIG_CPU_PXA
>> @@ -1072,18 +1077,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 +1089,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..fe13c69
>> --- /dev/null
>> +++ b/common/splash.c
>> @@ -0,0 +1,37 @@
>> +/*
>> + * 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., 59 Temple Place, Suite 330, Boston,
>> + * MA 02111-1307 USA
>
> I would drop the postal address, as it changed in the past and
> probably will change in the future and then we will have a bunch of
> files with wrong address...
Good point, will do.
>
>> + */
>> +
>> +#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)
>> +{
>> + printf("SPLASH_SCREEN_PREPARE not defined\n");
>> + return 0;
>> +}
>> +#endif
>> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
>> index b769222..4543730 100644
>> --- a/drivers/video/cfb_console.c
>> +++ b/drivers/video/cfb_console.c
>> @@ -178,6 +178,11 @@
>> #include <video_fb.h>
>>
>> /*
>> + * Include splash.h for splash_screen_prepare() etc.
>> + */
>
> Same here, the below include does not need any comment.
>
>> +#include <splash.h>
>> +
>> +/*
>> * some Macros
>> */
>> #define VIDEO_VISIBLE_COLS (pGD->winSizeX)
>> @@ -1991,10 +1996,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 30225ed..79bf13e 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..478f864
>> --- /dev/null
>> +++ b/include/splash.h
>> @@ -0,0 +1,30 @@
>> +/*
>> + * 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., 59 Temple Place, Suite 330, Boston,
>> + * MA 02111-1307 USA
>
> If you decide to drop the postal address, then please do it also here.
>
>> + */
>> +
>> +#ifndef _SPLASH_H_
>> +#define _SPLASH_H_
>> +
>> +
>> +int splash_screen_prepare(void);
>> +
>> +
>> +#endif
>>
>
> --
> Regards,
> Igor.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
2013-06-17 17:08 ` Robert Winkler
@ 2013-06-18 6:20 ` Igor Grinberg
2013-06-18 16:50 ` Robert Winkler
0 siblings, 1 reply; 8+ messages in thread
From: Igor Grinberg @ 2013-06-18 6:20 UTC (permalink / raw)
To: u-boot
On 06/17/13 20:08, Robert Winkler wrote:
> Hi Igor,
>
> On Sun, Jun 16, 2013 at 10:34 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>> Hi Robert,
>>
>> On 06/14/13 20:00, 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@boundarydevices.com>
>>
>> Thanks for the effort!
>> Several comments below...
>>
>>> ---
>>> common/Makefile | 1 +
>>> common/lcd.c | 19 ++++++-------------
>>> common/splash.c | 37 +++++++++++++++++++++++++++++++++++++
>>> drivers/video/cfb_console.c | 8 ++++++--
>>> include/lcd.h | 1 -
>>> include/splash.h | 30 ++++++++++++++++++++++++++++++
>>> 6 files changed, 80 insertions(+), 16 deletions(-)
>>> create mode 100644 common/splash.c
>>> create mode 100644 include/splash.h
>>>
>>> diff --git a/common/Makefile b/common/Makefile
>>> index 0e0fff1..1d70584 100644
>>> --- a/common/Makefile
>>> +++ b/common/Makefile
>>> @@ -203,6 +203,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
>>
>> I think this should depend on CONFIG_SPLASH_SCREEN.
> No it shouldn't. The function is always called so it always needs to
> be defined. It's the
> same behavior we had before, it was always compiled into lcd.h.
> Whether or not the CONFIG
> was defined just changed whether it actually called
> board_splash_screen_prepare or just returned 0.
>
> This is of course true for when it's a weak function as well.
Well, what I meant is, once you make it a separate file (named splash.c),
it is rather strange that it should be always compiled.
It is fine for me now, but once more splash screen specific code moves
to this file, it surely should depend on CONFIG_SPLASH_SCREEN.
In general, I think the construct of
1) having the .c file compiled conditionally
(meaning depend on CONFIG_... option)
2) having the .h file to define the interface to the .c file
and provide a default implementation
(when the above CONFIG_... is not set),
like in many cases Linux does, brings the benefit of clear yet robust
(in regard to the CONFIG_... defined or not) code has proven itself.
>
>>
>>> 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 3a60484..4a85ebb 100644
>>> --- a/common/lcd.c
>>> +++ b/common/lcd.c
>>> @@ -43,6 +43,11 @@
>>> #include <lcd.h>
>>> #include <watchdog.h>
>>>
>>> +/*
>>> + * Include splash.h for splash_screen_prepare() etc.
>>> + */
>>
>> I think this comment is meaningless, the below include is self explanatory.
> Agreed. I was just trying to match the other superfluous comments.
>>
>>> +#include <splash.h>
>>> +
>>> #if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
>>> defined(CONFIG_CPU_MONAHANS)
>>> #define CONFIG_CPU_PXA
>>> @@ -1072,18 +1077,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 +1089,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..fe13c69
>>> --- /dev/null
>>> +++ b/common/splash.c
>>> @@ -0,0 +1,37 @@
>>> +/*
>>> + * 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., 59 Temple Place, Suite 330, Boston,
>>> + * MA 02111-1307 USA
>>
>> I would drop the postal address, as it changed in the past and
>> probably will change in the future and then we will have a bunch of
>> files with wrong address...
> Good point, will do.
>>
>>> + */
>>> +
>>> +#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)
>>> +{
>>> + printf("SPLASH_SCREEN_PREPARE not defined\n");
>>> + return 0;
>>> +}
>>> +#endif
>>> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
>>> index b769222..4543730 100644
>>> --- a/drivers/video/cfb_console.c
>>> +++ b/drivers/video/cfb_console.c
>>> @@ -178,6 +178,11 @@
>>> #include <video_fb.h>
>>>
>>> /*
>>> + * Include splash.h for splash_screen_prepare() etc.
>>> + */
>>
>> Same here, the below include does not need any comment.
>>
>>> +#include <splash.h>
>>> +
>>> +/*
>>> * some Macros
>>> */
>>> #define VIDEO_VISIBLE_COLS (pGD->winSizeX)
>>> @@ -1991,10 +1996,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 30225ed..79bf13e 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..478f864
>>> --- /dev/null
>>> +++ b/include/splash.h
>>> @@ -0,0 +1,30 @@
>>> +/*
>>> + * 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., 59 Temple Place, Suite 330, Boston,
>>> + * MA 02111-1307 USA
>>
>> If you decide to drop the postal address, then please do it also here.
>>
>>> + */
>>> +
>>> +#ifndef _SPLASH_H_
>>> +#define _SPLASH_H_
>>> +
>>> +
>>> +int splash_screen_prepare(void);
>>> +
>>> +
>>> +#endif
>>>
>>
>> --
>> Regards,
>> Igor.
>
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
2013-06-18 6:20 ` Igor Grinberg
@ 2013-06-18 16:50 ` Robert Winkler
0 siblings, 0 replies; 8+ messages in thread
From: Robert Winkler @ 2013-06-18 16:50 UTC (permalink / raw)
To: u-boot
On Mon, Jun 17, 2013 at 11:20 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>
>
> On 06/17/13 20:08, Robert Winkler wrote:
>> Hi Igor,
>>
>> On Sun, Jun 16, 2013 at 10:34 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>>> Hi Robert,
>>>
>>> On 06/14/13 20:00, 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@boundarydevices.com>
>>>
>>> Thanks for the effort!
>>> Several comments below...
>>>
>>>> ---
>>>> common/Makefile | 1 +
>>>> common/lcd.c | 19 ++++++-------------
>>>> common/splash.c | 37 +++++++++++++++++++++++++++++++++++++
>>>> drivers/video/cfb_console.c | 8 ++++++--
>>>> include/lcd.h | 1 -
>>>> include/splash.h | 30 ++++++++++++++++++++++++++++++
>>>> 6 files changed, 80 insertions(+), 16 deletions(-)
>>>> create mode 100644 common/splash.c
>>>> create mode 100644 include/splash.h
>>>>
>>>> diff --git a/common/Makefile b/common/Makefile
>>>> index 0e0fff1..1d70584 100644
>>>> --- a/common/Makefile
>>>> +++ b/common/Makefile
>>>> @@ -203,6 +203,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
>>>
>>> I think this should depend on CONFIG_SPLASH_SCREEN.
>> No it shouldn't. The function is always called so it always needs to
>> be defined. It's the
>> same behavior we had before, it was always compiled into lcd.h.
>> Whether or not the CONFIG
>> was defined just changed whether it actually called
>> board_splash_screen_prepare or just returned 0.
>>
>> This is of course true for when it's a weak function as well.
>
> Well, what I meant is, once you make it a separate file (named splash.c),
> it is rather strange that it should be always compiled.
> It is fine for me now, but once more splash screen specific code moves
> to this file, it surely should depend on CONFIG_SPLASH_SCREEN.
>
> In general, I think the construct of
> 1) having the .c file compiled conditionally
> (meaning depend on CONFIG_... option)
> 2) having the .h file to define the interface to the .c file
> and provide a default implementation
> (when the above CONFIG_... is not set),
>
> like in many cases Linux does, brings the benefit of clear yet robust
> (in regard to the CONFIG_... defined or not) code has proven itself.
>
Ah, I'm sorry, I misread that as SPLASH_SCREEN_PREPARE, but that makes
more sense. However I haven't noticed
any function definitions in h files in U-Boot and as it stands it has
to be this way. Since a lot of the common code in lcd.c
and cfb_console is unrelated to (or at least, not only used) for
splash screens, maybe splash.c/h should be called
something else and thus always included. Not sure what to call it,
but something to do with logos/bmp probably.
The overlap between
lcd_init -> lcd_clear -> lcd_logo -> bmp_display
and
video_init -> video_logo -> video_display_bitmap
is as much related to general bmp/logo display as splash screen
functionality and it would probably be more sensible
to pull it all out that than try to snip out only the splash screen
stuff for splash.c
Just an idea.
>>
>>>
>>>> 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 3a60484..4a85ebb 100644
>>>> --- a/common/lcd.c
>>>> +++ b/common/lcd.c
>>>> @@ -43,6 +43,11 @@
>>>> #include <lcd.h>
>>>> #include <watchdog.h>
>>>>
>>>> +/*
>>>> + * Include splash.h for splash_screen_prepare() etc.
>>>> + */
>>>
>>> I think this comment is meaningless, the below include is self explanatory.
>> Agreed. I was just trying to match the other superfluous comments.
>>>
>>>> +#include <splash.h>
>>>> +
>>>> #if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
>>>> defined(CONFIG_CPU_MONAHANS)
>>>> #define CONFIG_CPU_PXA
>>>> @@ -1072,18 +1077,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 +1089,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..fe13c69
>>>> --- /dev/null
>>>> +++ b/common/splash.c
>>>> @@ -0,0 +1,37 @@
>>>> +/*
>>>> + * 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., 59 Temple Place, Suite 330, Boston,
>>>> + * MA 02111-1307 USA
>>>
>>> I would drop the postal address, as it changed in the past and
>>> probably will change in the future and then we will have a bunch of
>>> files with wrong address...
>> Good point, will do.
>>>
>>>> + */
>>>> +
>>>> +#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)
>>>> +{
>>>> + printf("SPLASH_SCREEN_PREPARE not defined\n");
>>>> + return 0;
>>>> +}
>>>> +#endif
>>>> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
>>>> index b769222..4543730 100644
>>>> --- a/drivers/video/cfb_console.c
>>>> +++ b/drivers/video/cfb_console.c
>>>> @@ -178,6 +178,11 @@
>>>> #include <video_fb.h>
>>>>
>>>> /*
>>>> + * Include splash.h for splash_screen_prepare() etc.
>>>> + */
>>>
>>> Same here, the below include does not need any comment.
>>>
>>>> +#include <splash.h>
>>>> +
>>>> +/*
>>>> * some Macros
>>>> */
>>>> #define VIDEO_VISIBLE_COLS (pGD->winSizeX)
>>>> @@ -1991,10 +1996,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 30225ed..79bf13e 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..478f864
>>>> --- /dev/null
>>>> +++ b/include/splash.h
>>>> @@ -0,0 +1,30 @@
>>>> +/*
>>>> + * 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., 59 Temple Place, Suite 330, Boston,
>>>> + * MA 02111-1307 USA
>>>
>>> If you decide to drop the postal address, then please do it also here.
>>>
>>>> + */
>>>> +
>>>> +#ifndef _SPLASH_H_
>>>> +#define _SPLASH_H_
>>>> +
>>>> +
>>>> +int splash_screen_prepare(void);
>>>> +
>>>> +
>>>> +#endif
>>>>
>>>
>>> --
>>> Regards,
>>> Igor.
>>
>
> --
> Regards,
> Igor.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-06-18 16:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-14 17:00 [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes Robert Winkler
2013-06-14 17:00 ` [U-Boot] [PATCH 1/2] video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO Robert Winkler
2013-06-17 5:34 ` Igor Grinberg
2013-06-17 17:08 ` Robert Winkler
2013-06-18 6:20 ` Igor Grinberg
2013-06-18 16:50 ` Robert Winkler
2013-06-14 17:00 ` [U-Boot] [PATCH 2/2] video: lcd: Make splash_screen_prepare weak, remove config macro Robert Winkler
2013-06-17 5:48 ` [U-Boot] [PATCH 0/2] video: lcd: splash screen prepare changes Igor Grinberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox