[U-Boot] [PATCH 2/5] lcd: cleanup lcd_drawchars

Simon Glass
2014-11-20T18:30:12Z

Hi Nikita,

On 20 November 2014 16:13, Nikita Kiryanov <nikita@compulab.co.il> wrote:
> Remove code duplication from lcd_drawchars().
>
> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
> Cc: Anatolij Gustschin <agust@denx.de>

Acked-by: Simon Glass <sjg@chromium.org>

Although I'm not sure it is an improvement - using a different type
for the variable based on an #ifdef is pretty horrible. Another option
would be to move the declarations down to above each loop.

> ---
> common/lcd.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/common/lcd.c b/common/lcd.c
> index 2f711c6..ff53cf1 100644
> --- a/common/lcd.c
> +++ b/common/lcd.c
> @@ -345,19 +345,7 @@ static void lcd_drawchars(ushort x, ushort y, uchar *str, int count)
>
> *d++ = rest | (sym >> off);
> rest = sym << (8-off);
> -#elif LCD_BPP == LCD_COLOR8
> - for (c = 0; c < 8; ++c) {
> - *d++ = (bits & 0x80) ?
> - lcd_color_fg : lcd_color_bg;
> - bits <<= 1;
> - }
> -#elif LCD_BPP == LCD_COLOR16
> - for (c = 0; c < 8; ++c) {
> - *d++ = (bits & 0x80) ?
> - lcd_color_fg : lcd_color_bg;
> - bits <<= 1;
> - }
> -#elif LCD_BPP == LCD_COLOR32
> +#else /* LCD_BPP == LCD_COLOR8 or LCD_COLOR16 or LCD_COLOR32 */
> for (c = 0; c < 8; ++c) {
> *d++ = (bits & 0x80) ?
> lcd_color_fg : lcd_color_bg;
> --
> 1.9.1

Regards,
Simon