Hi, On Thu, 24 May 2012 14:42:40 +0300 Igor Grinberg <[email protected]> wrote:
> From: Nikita Kiryanov <[email protected]> > > Simplify bitmap_plot in terms of number of #ifdefs by making some of the > code into an external macro > > Signed-off-by: Nikita Kiryanov <[email protected]> > Signed-off-by: Igor Grinberg <[email protected]> > --- > 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 Here it should be possible to use lcd_setcolreg() in the for loop, too. I would prefer this approach instead of adding LUT_ENTRY macro. Thanks, Anatolij _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

