[U-Boot] [PATCH 3/7] common lcd: simplify bitmap_plot
Igor Grinberg
grinberg at compulab.co.il
Thu May 24 13:42:40 CEST 2012
From: Nikita Kiryanov <nikita at compulab.co.il>
Simplify bitmap_plot in terms of number of #ifdefs by making some of the
code into an external macro
Signed-off-by: Nikita Kiryanov <nikita at compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg at compulab.co.il>
---
common/lcd.c | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/common/lcd.c b/common/lcd.c
index 3b2f25f..448e0f0 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -498,6 +498,18 @@ static int lcd_getbgcolor(void)
/************************************************************************/
/* ** Chipset depending Bitmap / Logo stuff... */
/************************************************************************/
+#ifdef CONFIG_ATMEL_LCD
+#ifdef CONFIG_ATMEL_LCD_BGR555
+#define LUT_ENTRY(colreg) (((colreg) & 0x000F) << 11) | \
+ (((colreg) & 0x00F0) << 2) | \
+ (((colreg) & 0x0F00) >> 7);
+#else /* CONFIG_ATMEL_LCD_RGB565 */
+#define LUT_ENTRY(colreg) (((colreg) & 0x000F) << 1) | \
+ (((colreg) & 0x00F0) << 3) | \
+ (((colreg) & 0x0F00) >> 4);
+#endif
+#endif
+
#ifdef CONFIG_LCD_LOGO
void bitmap_plot(int x, int y)
{
@@ -545,19 +557,9 @@ void bitmap_plot(int x, int y)
for (i = 0; i < ARRAY_SIZE(bmp_logo_palette); ++i) {
ushort colreg = bmp_logo_palette[i];
#ifdef CONFIG_ATMEL_LCD
- uint lut_entry;
-#ifdef CONFIG_ATMEL_LCD_BGR555
- lut_entry = ((colreg & 0x000F) << 11) |
- ((colreg & 0x00F0) << 2) |
- ((colreg & 0x0F00) >> 7);
-#else /* CONFIG_ATMEL_LCD_RGB565 */
- lut_entry = ((colreg & 0x000F) << 1) |
- ((colreg & 0x00F0) << 3) |
- ((colreg & 0x0F00) << 4);
-#endif
- *(cmap + BMP_LOGO_OFFSET) = lut_entry;
+ *(cmap + BMP_LOGO_OFFSET) = LUT_ENTRY(colreg);
cmap++;
-#else /* !CONFIG_ATMEL_LCD */
+#else
#ifdef CONFIG_SYS_INVERT_COLORS
*cmap++ = 0xffff - colreg;
#else
--
1.7.1
More information about the U-Boot
mailing list