Browse Source

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>
Che-Liang Chiou 13 năm trước cách đây
mục cha
commit
02110903a8
3 tập tin đã thay đổi với 13 bổ sung9 xóa
  1. 1 3
      common/cmd_bmp.c
  2. 10 6
      common/lcd.c
  3. 2 0
      include/lcd.h

+ 1 - 3
common/cmd_bmp.c

@@ -237,9 +237,7 @@ static int bmp_display(ulong addr, int x, int y)
 	}
 	}
 
 
 #if defined(CONFIG_LCD)
 #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)
 #elif defined(CONFIG_VIDEO)
 	extern int video_display_bitmap (ulong, int, int);
 	extern int video_display_bitmap (ulong, int, int);
 
 

+ 10 - 6
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_init (void *lcdbase);
 
 
-static int lcd_clear (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]);
 static void *lcd_logo (void);
 static void *lcd_logo (void);
 
 
 static int lcd_getbgcolor (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
 #if LCD_BPP == LCD_MONOCHROME
 	/* Setting the palette */
 	/* 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_col = 0;
 	console_row = 0;
 	console_row = 0;
-
-	return (0);
 }
 }
 
 
 U_BOOT_CMD(
 U_BOOT_CMD(
-	cls,	1,	1,	lcd_clear,
+	cls,	1,	1,	do_lcd_clear,
 	"clear screen",
 	"clear screen",
 	""
 	""
 );
 );
@@ -413,7 +417,7 @@ static int lcd_init (void *lcdbase)
 
 
 	lcd_ctrl_init (lcdbase);
 	lcd_ctrl_init (lcdbase);
 	lcd_is_enabled = 1;
 	lcd_is_enabled = 1;
-	lcd_clear (NULL, 1, 1, NULL);	/* dummy args */
+	lcd_clear();
 	lcd_enable ();
 	lcd_enable ();
 
 
 	/* Initialize the console */
 	/* Initialize the console */

+ 2 - 0
include/lcd.h

@@ -210,6 +210,8 @@ void	lcd_disable	(void);
 void	lcd_putc	(const char c);
 void	lcd_putc	(const char c);
 void	lcd_puts	(const char *s);
 void	lcd_puts	(const char *s);
 void	lcd_printf	(const char *fmt, ...);
 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 */
 /* Allow boards to customize the information displayed */
 void lcd_show_board_info(void);
 void lcd_show_board_info(void);