[U-Boot] [PATCH 4/7] common lcd: simplify lcd_logo
Igor Grinberg
grinberg at compulab.co.il
Thu May 24 13:42:41 CEST 2012
From: Nikita Kiryanov <nikita at compulab.co.il>
Simplify lcd_logo by extracting bmp unzip into its own function.
Signed-off-by: Nikita Kiryanov <nikita at compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg at compulab.co.il>
---
common/lcd.c | 30 ++++++++++++++++++++----------
1 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/common/lcd.c b/common/lcd.c
index 448e0f0..855d3df 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -810,6 +810,25 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
}
#endif
+#ifdef CONFIG_VIDEO_BMP_GZIP
+static inline ulong __gunzip_bmp(ulong addr)
+{
+ bmp_image_t *bmp = (bmp_image_t *)addr;
+ unsigned long len;
+
+ if (!((bmp->header.signature[0] == 'B') &&
+ (bmp->header.signature[1] == 'M')))
+ addr = (ulong)gunzip_bmp(addr, &len);
+
+ return addr;
+}
+#else
+static inline ulong __gunzip_bmp(ulong addr)
+{
+ return addr;
+}
+#endif
+
static void *lcd_logo(void)
{
#ifdef CONFIG_SPLASH_SCREEN
@@ -840,16 +859,7 @@ static void *lcd_logo(void)
}
#endif /* CONFIG_SPLASH_SCREEN_ALIGN */
-#ifdef CONFIG_VIDEO_BMP_GZIP
- bmp_image_t *bmp = (bmp_image_t *)addr;
- unsigned long len;
-
- if (!((bmp->header.signature[0] == 'B') &&
- (bmp->header.signature[1] == 'M'))) {
- addr = (ulong)gunzip_bmp(addr, &len);
- }
-#endif
-
+ addr = __gunzip_bmp(addr);
if (lcd_display_bitmap(addr, x, y) == 0)
return (void *)lcd_base;
}
--
1.7.1
More information about the U-Boot
mailing list