[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