diff mbox

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

Message ID 1416500028-3859-3-git-send-email-nikita@compulab.co.il
State Superseded
Delegated to: Anatolij Gustschin
Headers show

Commit Message

Nikita Kiryanov Nov. 20, 2014, 4:13 p.m. UTC
Remove code duplication from lcd_drawchars().

Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Anatolij Gustschin <agust@denx.de>
---
 common/lcd.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

Comments

Simon Glass Nov. 20, 2014, 6:30 p.m. UTC | #1
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
diff mbox

Patch

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;