bmp: Respect "splashpos" if it is defined
PATCH 1/1 bmp: Respect "splashpos" if it is defined
--- common/cmd_bmp.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
common/cmd_bmp.c +23 -0
@@ -33,6 +33,10 @@#include <malloc.h> #include <video.h> +#ifdef CONFIG_SPLASH_SCREEN_ALIGN +#define BMP_ALIGN_CENTER 0x7FFF +#endif +static int bmp_info (ulong addr);/*
@@ -112,6 +116,25 @@ static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char * const ar {ulong addr;int x =0 , y =0 ; +__maybe_unused char *s; + +#ifdef CONFIG_SPLASH_SCREEN_ALIGN + s =getenv ("splashpos" ); +if (s !=NULL ) { +if (s[0 ] =='m' ) + x =BMP_ALIGN_CENTER ; +else + x =simple_strtol (s,NULL ,0 ); + + s =strchr (s +1 ,',' ); +if (s !=NULL ) { +if (s[1 ] =='m' ) + y =BMP_ALIGN_CENTER ; +else + y =simple_strtol (s +1 ,NULL ,0 ); + } + } +#endif /* CONFIG_SPLASH_SCREEN_ALIGN */ switch (argc) {case 1 :/* use load_addr as default address */
Signature · 1 line
1.8.1
PATCH 1/1 bmp: Respect "splashpos" if it is defined
Dear Anatolij,
Quoted 2 lines · Otavio Salvador
Signed-off-by Otavio Salvador <[email protected]>
I forgot to add you in Cc; sorry.
Signature · 3 lines
Otavio Salvador O.S. Systems http://www.ossystems.com.br http://projetos.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH 1/1 bmp: Respect "splashpos" if it is defined
In reply to Otavio SalvadorQuoted 1 line · Otavio Salvador
Signed-off-by Otavio Salvador <[email protected]>
Ping?
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH 1/1 bmp: Respect "splashpos" if it is defined
In reply to Otavio SalvadorHello Otavio,
Sorry for delay.
On Thu, 6 Jun 2013 14:57:23 -0300
Otavio Salvador <[email protected]> wrote:
...
Quoted 7 lines
common/cmd_bmp.c +7
-0+#ifdef CONFIG_SPLASH_SCREEN_ALIGN + s =getenv ("splashpos" ); +if (s !=NULL ) { +if (s[0 ] =='m' ) + x =BMP_ALIGN_CENTER ; +else + x =simple_strtol (s,NULL ,0 );
common/cmd_bmp.c static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char * const ar · line 137
Quoted 10 lines
common/cmd_bmp.c +10
-0+ + s =strchr (s +1 ,',' ); +if (s !=NULL ) { +if (s[1 ] =='m' ) + y =BMP_ALIGN_CENTER ; +else + y =simple_strtol (s +1 ,NULL ,0 ); + } + } +#endif /* CONFIG_SPLASH_SCREEN_ALIGN */
This code is already there in two other drivers, we should better add a common function for "splashpos" checking and use it here. I'll submit a patch shortly.
Thanks,
Anatolij
PATCH 1/1 bmp: Respect "splashpos" if it is defined
Quoted 20 lines · Anatolij Gustschin
Hello Otavio,
Sorry for delay.
On Thu, 6 Jun 2013 14:57:23 -0300
Otavio Salvador <[email protected]> wrote:
...Quoted 13 lines
common/cmd_bmp.c +13
-0+#ifdef CONFIG_SPLASH_SCREEN_ALIGN + s =getenv ("splashpos" ); +if (s !=NULL ) { +if (s[0 ] =='m' ) + x =BMP_ALIGN_CENTER ; +else + x =simple_strtol (s,NULL ,0 ); + + s =strchr (s +1 ,',' ); +if (s !=NULL ) { +if (s[1 ] =='m' ) + y =BMP_ALIGN_CENTER ; +else
Quoted 8 lines
common/cmd_bmp.c static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char * const ar · line 137
Quoted 4 lines
common/cmd_bmp.c +4
-0+ y = simple_strtol(s + 1, NULL, 0); + } + } +#endif /* CONFIG_SPLASH_SCREEN_ALIGN */ This code is already there in two other drivers, we should better add a common function for "splashpos" checking and use it here. I'll submit a patch shortly.
Agreed; I just acked the patch ... it looks great, thanks!
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH 1/1 video: consolidate splash screen alignment code
In reply to Otavio SalvadorCode for checking "splashpos" environment variable is duplicated in drivers, move it to the common function. Call this function also in the bmp display command to consider "splashpos" settings.
--- common/cmd_bmp.c | 3 +++ common/lcd.c | 19 ++----------------- common/splash.c | 25 +++++++++++++++++++++++++ drivers/video/cfb_console.c | 24 ++---------------------- include/splash.h | 7 +++++++ 5 files changed, 39 insertions(+), 39 deletions(-)
common/cmd_bmp.c +3 -0
@@ -31,6 +31,7 @@#include <command.h> #include <asm/byteorder.h> #include <malloc.h> +#include <splash.h> #include <video.h> static int bmp_info (ulong addr);
@@ -125,6 +126,8 @@ static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char * const arulong addr;int x =0 , y =0 ; +splash_get_pos (&x, &y); +switch (argc) {case 1 :/* use load_addr as default address */ addr = load_addr;
common/lcd.c +2 -17
@@ -1089,23 +1089,8 @@ static void *lcd_logo(void)return (void *)lcd_base; addr =simple_strtoul (s,NULL ,16 ); -#ifdef CONFIG_SPLASH_SCREEN_ALIGN - s =getenv ("splashpos" ); -if (s !=NULL ) { -if (s[0 ] =='m' ) - x =BMP_ALIGN_CENTER ; -else - x =simple_strtol (s,NULL ,0 ); - - s =strchr (s +1 ,',' ); -if (s !=NULL ) { -if (s[1 ] =='m' ) - y =BMP_ALIGN_CENTER ; -else - y =simple_strtol (s +1 ,NULL ,0 ); - } - } -#endif /* CONFIG_SPLASH_SCREEN_ALIGN */ + +splash_get_pos (&x, &y);if (bmp_display (addr, x, y) ==0 )return (void *)lcd_base;
common/splash.c +25 -0
@@ -20,6 +20,7 @@* */ +#include <common.h> #include <splash.h> int __splash_screen_prepare (void )
@@ -29,3 +30,27 @@ int __splash_screen_prepare(void)int splash_screen_prepare (void ) __attribute__ ((weak,alias ("__splash_screen_prepare" ))); + + +#ifdef CONFIG_SPLASH_SCREEN_ALIGN +void splash_get_pos (int *x,int *y) +{ +char *s =getenv ("splashpos" ); + +if (!s) +return ; + +if (s[0 ] =='m' ) + *x =BMP_ALIGN_CENTER ; +else + *x =simple_strtol (s,NULL ,0 ); + + s =strchr (s +1 ,',' ); +if (s !=NULL ) { +if (s[1 ] =='m' ) + *y =BMP_ALIGN_CENTER ; +else + *y =simple_strtol (s +1 ,NULL ,0 ); + } +} +#endif /* CONFIG_SPLASH_SCREEN_ALIGN */
drivers/video/cfb_console.c +2 -22
@@ -222,11 +222,7 @@#if defined(CONFIG_CMD_BMP ) || defined(CONFIG_SPLASH_SCREEN )#include <watchdog.h> #include <bmp_layout.h> - -#ifdef CONFIG_SPLASH_SCREEN_ALIGN -#define BMP_ALIGN_CENTER 0x7FFF -#endif - +#include <splash.h> #endif /*
@@ -1976,23 +1972,7 @@ static void *video_logo(void)__maybe_unused ulong addr;__maybe_unused char *s; -#ifdef CONFIG_SPLASH_SCREEN_ALIGN - s =getenv ("splashpos" ); -if (s !=NULL ) { -if (s[0 ] =='m' ) - video_logo_xpos =BMP_ALIGN_CENTER ; -else - video_logo_xpos =simple_strtol (s,NULL ,0 ); - - s =strchr (s +1 ,',' ); -if (s !=NULL ) { -if (s[1 ] =='m' ) - video_logo_ypos =BMP_ALIGN_CENTER ; -else - video_logo_ypos =simple_strtol (s +1 ,NULL ,0 ); - } - } -#endif /* CONFIG_SPLASH_SCREEN_ALIGN */ +splash_get_pos (&video_logo_xpos, &video_logo_ypos);#ifdef CONFIG_SPLASH_SCREEN s =getenv ("splashimage" );
include/splash.h +7 -0
@@ -25,5 +25,12 @@int splash_screen_prepare (void ); +#ifdef CONFIG_SPLASH_SCREEN_ALIGN +void splash_get_pos (int *x,int *y); +#else +static inline void splash_get_pos (int *x,int *y) { } +#endif + +#define BMP_ALIGN_CENTER 0x7FFF#endif
Signature · 1 line
1.7.9.5
PATCH 1/1 video: consolidate splash screen alignment code
Quoted 6 lines · Anatolij Gustschin
Code for checking "splashpos" environment variable is duplicated in drivers, move it to the common function. Call this function also in the bmp display command to consider "splashpos" settings.
Signed-off-by Anatolij Gustschin <[email protected]>
Awesome!
--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750
PATCH 1/1 video: consolidate splash screen alignment code
In reply to Anatolij GustschinQuoted 5 lines · On Tue, 2 Jul 2013 00:04:05 +0200 Anatolij Gustschin <[email protected]> wrote:
Code for checking "splashpos" environment variable is duplicated in drivers, move it to the common function. Call this function also in the bmp display command to consider "splashpos" settings.
Quoted 8 lines
Signed-off-by Anatolij Gustschin <[email protected]>--- common/cmd_bmp.c | 3 +++ common/lcd.c | 19 ++----------------- common/splash.c | 25 +++++++++++++++++++++++++ drivers/video/cfb_console.c | 24 ++---------------------- include/splash.h | 7 +++++++ 5 files changed, 39 insertions(+), 39 deletions(-)
Applied to u-boot-video/master. Thanks!
Anatolij