[U-Boot] [PATCH V3 10/12] lcd: make lcd_drawchars() independant of lcd_base
Nikita Kiryanov
nikita at compulab.co.il
Mon Dec 8 16:14:44 CET 2014
lcd_logo() has the following return value:
#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
return (void *)((ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length);
#else
return (void *)lcd_base;
#endif
This return value gets assigned to lcd_console_address.
lcd_console_address is not assigned or modified anywhere else.
Thus:
#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO):
y' = BMP_LOGO_HEIGHT + y;
lcd_base + y' * lcd_line_length ==
lcd_base + (BMP_LOGO_HEIGHT + y) * lcd_line_length ==
lcd_base + BMP_LOGO_HEIGHT * lcd_line_length + y * lcd_line_length ==
lcd_console_address + y * lcd_line_length
#else
lcd_base + y * lcd_line_length == lcd_console_address + y * lcd_line_length
#endif
This is a preparatory step for extracting lcd console code into its own
file.
Signed-off-by: Nikita Kiryanov <nikita at compulab.co.il>
Cc: Anatolij Gustschin <agust at denx.de>
Cc: Simon Glass <sjg at chromium.org>
---
Changes in V3:
- No changes.
Changes in V2:
- New patch.
common/lcd.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/common/lcd.c b/common/lcd.c
index a29e7a2..0c90502 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -318,11 +318,8 @@ static void lcd_drawchars(ushort x, ushort y, uchar *str, int count)
ushort row;
int fg_color, bg_color;
-#if defined(CONFIG_LCD_LOGO) && !defined(CONFIG_LCD_INFO_BELOW_LOGO)
- y += BMP_LOGO_HEIGHT;
-#endif
-
- dest = (uchar *)(lcd_base + y * lcd_line_length + x * NBITS(LCD_BPP)/8);
+ dest = (uchar *)(lcd_console_address +
+ y * lcd_line_length + x * NBITS(LCD_BPP) / 8);
for (row = 0; row < VIDEO_FONT_HEIGHT; ++row, dest += lcd_line_length) {
uchar *s = str;
--
1.9.1
More information about the U-Boot
mailing list