summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChe-Liang Chiou <clchiou@chromium.org>2011-10-20 23:07:03 +0000
committerAnatolij Gustschin <agust@denx.de>2011-11-15 23:58:26 +0100
commit02110903a83539da35cf6b1bbd853ce0351f7c95 (patch)
treeb9c516734600d294b1b4cdaf53953f77d8152b20
parent8db84487f9e5260c5d4376a633e6486d29a469c5 (diff)
lcd: add clear and draw bitmap declaration
The functions for clearing and drawing bitmaps on the screen were not exposed publicly and are made public in this patch in preparation for implementing the display interface of api_public.h. Signed-off-by: Che-Liang Chiou <clchiou@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Anatolij Gustschin <agust@denx.de>
-rw-r--r--common/cmd_bmp.c4
-rw-r--r--common/lcd.c16
-rw-r--r--include/lcd.h2
3 files changed, 13 insertions, 9 deletions
diff --git a/common/cmd_bmp.c b/common/cmd_bmp.c
index 23fc82fe4b..682f395b4d 100644
--- a/common/cmd_bmp.c
+++ b/common/cmd_bmp.c
@@ -237,9 +237,7 @@ static int bmp_display(ulong addr, int x, int y)
}
#if defined(CONFIG_LCD)
- extern int lcd_display_bitmap (ulong, int, int);
-
- ret = lcd_display_bitmap ((unsigned long)bmp, x, y);
+ ret = lcd_display_bitmap((ulong)bmp, x, y);
#elif defined(CONFIG_VIDEO)
extern int video_display_bitmap (ulong, int, int);
diff --git a/common/lcd.c b/common/lcd.c
index d9cb8cae73..20e97b9d25 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -78,7 +78,6 @@ static inline void lcd_putc_xy (ushort x, ushort y, uchar c);
static int lcd_init (void *lcdbase);
-static int lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]);
static void *lcd_logo (void);
static int lcd_getbgcolor (void);
@@ -353,7 +352,14 @@ int drv_lcd_init (void)
}
/*----------------------------------------------------------------------*/
-static int lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
+static
+int do_lcd_clear(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
+{
+ lcd_clear();
+ return 0;
+}
+
+void lcd_clear(void)
{
#if LCD_BPP == LCD_MONOCHROME
/* Setting the palette */
@@ -394,12 +400,10 @@ static int lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]
console_col = 0;
console_row = 0;
-
- return (0);
}
U_BOOT_CMD(
- cls, 1, 1, lcd_clear,
+ cls, 1, 1, do_lcd_clear,
"clear screen",
""
);
@@ -413,7 +417,7 @@ static int lcd_init (void *lcdbase)
lcd_ctrl_init (lcdbase);
lcd_is_enabled = 1;
- lcd_clear (NULL, 1, 1, NULL); /* dummy args */
+ lcd_clear();
lcd_enable ();
/* Initialize the console */
diff --git a/include/lcd.h b/include/lcd.h
index 89cc90c0b9..83b50f46a4 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -210,6 +210,8 @@ void lcd_disable (void);
void lcd_putc (const char c);
void lcd_puts (const char *s);
void lcd_printf (const char *fmt, ...);
+void lcd_clear(void);
+int lcd_display_bitmap(ulong bmp_image, int x, int y);
/* Allow boards to customize the information displayed */
void lcd_show_board_info(void);