[PATCH V7 11/14] common: Enable splash functions at SPL
Nikhil M Jain
n-jain1 at ti.com
Mon Apr 10 09:28:40 CEST 2023
To support splash screen at both u-boot proper and SPL use
CONFIG_IS_ENABLED and CONFIG_VAL to check for video related Kconfigs at
respective stages.
Replace CONFIG_CMD_BMP with CONFIG_BMP to enable splash_display function
at u-boot proper and SPL.
Signed-off-by: Nikhil M Jain <n-jain1 at ti.com>
Reviewed-by: Devarsh Thakkar <devarsht at ti.com>
Reviewed-by: Simon Glass <sjg at chromium.org>
---
V7:
- Add Reviewed-by tag.
V6:
- Fix commit message.
- Add Reviewed-by tag.
V5:
- Replace CONFIG_CMD_BMP with CONFIG_BMP.
V4:
- No change
V3 (patch introduced):
- Enable splash functions at SPL
common/bmp.c | 12 ++++++------
common/splash.c | 10 +++++-----
include/splash.h | 2 +-
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/common/bmp.c b/common/bmp.c
index d98ba9d882..51766b3c21 100644
--- a/common/bmp.c
+++ b/common/bmp.c
@@ -33,7 +33,7 @@
* Returns NULL if decompression failed, or if the decompressed data
* didn't contain a valid BMP signature.
*/
-#ifdef CONFIG_VIDEO_BMP_GZIP
+#if CONFIG_IS_ENABLED(VIDEO_BMP_GZIP)
struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
void **alloc_addr)
{
@@ -44,9 +44,9 @@ struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
/*
* Decompress bmp image
*/
- len = CONFIG_VIDEO_LOGO_MAX_SIZE;
+ len = CONFIG_VAL(VIDEO_LOGO_MAX_SIZE);
/* allocate extra 3 bytes for 32-bit-aligned-address + 2 alignment */
- dst = malloc(CONFIG_VIDEO_LOGO_MAX_SIZE + 3);
+ dst = malloc(CONFIG_VAL(VIDEO_LOGO_MAX_SIZE) + 3);
if (!dst) {
puts("Error: malloc in gunzip failed!\n");
return NULL;
@@ -55,12 +55,12 @@ struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp,
/* align to 32-bit-aligned-address + 2 */
bmp = dst + 2;
- if (gunzip(bmp, CONFIG_VIDEO_LOGO_MAX_SIZE, map_sysmem(addr, 0),
+ if (gunzip(bmp, CONFIG_VAL(VIDEO_LOGO_MAX_SIZE), map_sysmem(addr, 0),
&len)) {
free(dst);
return NULL;
}
- if (len == CONFIG_VIDEO_LOGO_MAX_SIZE)
+ if (len == CONFIG_VAL(VIDEO_LOGO_MAX_SIZE))
puts("Image could be truncated (increase CONFIG_VIDEO_LOGO_MAX_SIZE)!\n");
/*
@@ -115,7 +115,7 @@ int bmp_info(ulong addr)
if (bmp_alloc_addr)
free(bmp_alloc_addr);
- return 0;
+ return(0);
}
int bmp_display(ulong addr, int x, int y)
diff --git a/common/splash.c b/common/splash.c
index 4bc54b1bf9..a4e68b7042 100644
--- a/common/splash.c
+++ b/common/splash.c
@@ -89,14 +89,14 @@ static inline int splash_video_logo_load(void) { return -ENOSYS; }
__weak int splash_screen_prepare(void)
{
- if (IS_ENABLED(CONFIG_SPLASH_SOURCE))
+ if (CONFIG_IS_ENABLED(SPLASH_SOURCE))
return splash_source_load(default_splash_locations,
ARRAY_SIZE(default_splash_locations));
return splash_video_logo_load();
}
-#ifdef CONFIG_SPLASH_SCREEN_ALIGN
+#if CONFIG_IS_ENABLED(SPLASH_SCREEN_ALIGN)
void splash_get_pos(int *x, int *y)
{
char *s = env_get("splashpos");
@@ -119,7 +119,7 @@ void splash_get_pos(int *x, int *y)
}
#endif /* CONFIG_SPLASH_SCREEN_ALIGN */
-#if defined(CONFIG_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION)
+#if CONFIG_IS_ENABLED(VIDEO) && !CONFIG_IS_ENABLED(HIDE_LOGO_VERSION)
#ifdef CONFIG_VIDEO_LOGO
#include <bmp_logo.h>
@@ -159,7 +159,7 @@ void splash_display_banner(void)
* Common function to show a splash image if env("splashimage") is set.
* For additional details please refer to doc/README.splashprepare.
*/
-#if defined(CONFIG_SPLASH_SCREEN) && defined(CONFIG_CMD_BMP)
+#if CONFIG_IS_ENABLED(SPLASH_SCREEN) && CONFIG_IS_ENABLED(BMP)
int splash_display(void)
{
ulong addr;
@@ -183,7 +183,7 @@ int splash_display(void)
if (x || y)
goto end;
-#if defined(CONFIG_VIDEO) && !defined(CONFIG_HIDE_LOGO_VERSION)
+#if CONFIG_IS_ENABLED(VIDEO) && !CONFIG_IS_ENABLED(HIDE_LOGO_VERSION)
splash_display_banner();
#endif
end:
diff --git a/include/splash.h b/include/splash.h
index 33e45e6941..083c978582 100644
--- a/include/splash.h
+++ b/include/splash.h
@@ -78,4 +78,4 @@ static inline int splash_display(void)
#define BMP_ALIGN_CENTER 0x7FFF
-#endif
+#endif
\ No newline at end of file
--
2.34.1
More information about the U-Boot
mailing list