From 46d1d5dd43e4d7c78f1fd6a5ee958d7b8a8626eb Mon Sep 17 00:00:00 2001
From: Wolfgang Denk <wd@denx.de>
Date: Sat, 5 Jan 2013 09:45:48 +0000
Subject: [PATCH] common/lcd.c: cleanup use of global variables

lcd_color_fg and lcd_color_bg had to be declared in board specific
code, but were not actually used there; in addition, we have getter /
setter functions for these, which were not used either.

Get rid of the global variables, and use the getter function where
needed (so far no setter calls are needed).

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Alessandro Rubini <rubini@unipv.it>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Bo Shen <voice.shen@atmel.com>
Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stelian Pop <stelian@popies.net>
Cc: Tom Warren <twarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Acked-by: Jeroen Hofstee <jeroen@myspectrum.nl>
[agust: also fixed cm_t35 board while rebasing]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
---
 arch/arm/cpu/pxa/pxafb.c      | 2 --
 arch/powerpc/cpu/mpc8xx/lcd.c | 3 ---
 board/cm_t35/display.c        | 2 --
 board/mcc200/lcd.c            | 3 ---
 common/lcd.c                  | 7 ++++---
 drivers/video/amba.c          | 2 --
 drivers/video/atmel_hlcdfb.c  | 2 --
 drivers/video/atmel_lcdfb.c   | 2 --
 drivers/video/exynos_fb.c     | 2 --
 drivers/video/tegra.c         | 4 +---
 include/lcd.h                 | 6 +++---
 11 files changed, 8 insertions(+), 27 deletions(-)

diff --git a/arch/arm/cpu/pxa/pxafb.c b/arch/arm/cpu/pxa/pxafb.c
index 987fa0682c..25747b112e 100644
--- a/arch/arm/cpu/pxa/pxafb.c
+++ b/arch/arm/cpu/pxa/pxafb.c
@@ -333,8 +333,6 @@ void lcd_ctrl_init	(void *lcdbase);
 void lcd_enable	(void);
 
 int lcd_line_length;
-int lcd_color_fg;
-int lcd_color_bg;
 
 void *lcd_base;			/* Start of framebuffer memory	*/
 void *lcd_console_address;		/* Start of console buffer	*/
diff --git a/arch/powerpc/cpu/mpc8xx/lcd.c b/arch/powerpc/cpu/mpc8xx/lcd.c
index 4b88b21b3f..4fd44acd12 100644
--- a/arch/powerpc/cpu/mpc8xx/lcd.c
+++ b/arch/powerpc/cpu/mpc8xx/lcd.c
@@ -258,9 +258,6 @@ vidinfo_t panel_info = {
 
 int lcd_line_length;
 
-int lcd_color_fg;
-int lcd_color_bg;
-
 /*
  * Frame buffer memory information
  */
diff --git a/board/cm_t35/display.c b/board/cm_t35/display.c
index 2f78bad6ea..885c484ccf 100644
--- a/board/cm_t35/display.c
+++ b/board/cm_t35/display.c
@@ -382,8 +382,6 @@ static enum display_type env_parse_displaytype(char *displaytype)
 }
 
 int lcd_line_length;
-int lcd_color_fg;
-int lcd_color_bg;
 void *lcd_base;
 short console_col;
 short console_row;
diff --git a/board/mcc200/lcd.c b/board/mcc200/lcd.c
index 893f4b7cb8..0f3f585d60 100644
--- a/board/mcc200/lcd.c
+++ b/board/mcc200/lcd.c
@@ -70,9 +70,6 @@ vidinfo_t panel_info = {
 
 int lcd_line_length;
 
-int lcd_color_fg;
-int lcd_color_bg;
-
 /*
  * Frame buffer memory information
  */
diff --git a/common/lcd.c b/common/lcd.c
index 590bbb9301..b09e45fc18 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -99,6 +99,9 @@ static int lcd_getbgcolor(void);
 static void lcd_setfgcolor(int color);
 static void lcd_setbgcolor(int color);
 
+static int lcd_color_fg;
+static int lcd_color_bg;
+
 char lcd_is_enabled = 0;
 
 static char lcd_flush_dcache;	/* 1 to flush dcache after each lcd update */
@@ -534,12 +537,10 @@ static void lcd_setbgcolor(int color)
 
 /*----------------------------------------------------------------------*/
 
-#ifdef	NOT_USED_SO_FAR
-static int lcd_getfgcolor(void)
+int lcd_getfgcolor(void)
 {
 	return lcd_color_fg;
 }
-#endif	/* NOT_USED_SO_FAR */
 
 /*----------------------------------------------------------------------*/
 
diff --git a/drivers/video/amba.c b/drivers/video/amba.c
index ffa1c399e1..b4fb47da4c 100644
--- a/drivers/video/amba.c
+++ b/drivers/video/amba.c
@@ -29,8 +29,6 @@
 
 /* These variables are required by lcd.c -- although it sets them by itself */
 int lcd_line_length;
-int lcd_color_fg;
-int lcd_color_bg;
 void *lcd_base;
 void *lcd_console_address;
 short console_col;
diff --git a/drivers/video/atmel_hlcdfb.c b/drivers/video/atmel_hlcdfb.c
index b10ca4b677..e74eb65f3e 100644
--- a/drivers/video/atmel_hlcdfb.c
+++ b/drivers/video/atmel_hlcdfb.c
@@ -30,8 +30,6 @@
 #include <atmel_hlcdc.h>
 
 int lcd_line_length;
-int lcd_color_fg;
-int lcd_color_bg;
 
 void *lcd_base;				/* Start of framebuffer memory	*/
 void *lcd_console_address;		/* Start of console buffer	*/
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index c02ffd8036..d96f175c5c 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -30,8 +30,6 @@
 #include <atmel_lcdc.h>
 
 int lcd_line_length;
-int lcd_color_fg;
-int lcd_color_bg;
 
 void *lcd_base;				/* Start of framebuffer memory	*/
 void *lcd_console_address;		/* Start of console buffer	*/
diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c
index ee0ed06d6f..4536c5c0e8 100644
--- a/drivers/video/exynos_fb.c
+++ b/drivers/video/exynos_fb.c
@@ -34,8 +34,6 @@
 #include "exynos_fb.h"
 
 int lcd_line_length;
-int lcd_color_fg;
-int lcd_color_bg;
 
 void *lcd_base;
 void *lcd_console_address;
diff --git a/drivers/video/tegra.c b/drivers/video/tegra.c
index afcb00881e..00d855356f 100644
--- a/drivers/video/tegra.c
+++ b/drivers/video/tegra.c
@@ -61,8 +61,6 @@ enum {
 };
 
 int lcd_line_length;
-int lcd_color_fg;
-int lcd_color_bg;
 
 void *lcd_base;			/* Start of framebuffer memory	*/
 void *lcd_console_address;	/* Start of console buffer	*/
@@ -108,7 +106,7 @@ void lcd_toggle_cursor(void)
 
 		for (i = 0; i < lcd_cursor_width; ++i) {
 			color = *d;
-			color ^= lcd_color_fg;
+			color ^= lcd_getfgcolor();
 			*d = color;
 			++d;
 		}
diff --git a/include/lcd.h b/include/lcd.h
index 4ac4ddd1e0..e8c6c96f5c 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -32,13 +32,11 @@
 extern char lcd_is_enabled;
 
 extern int lcd_line_length;
-extern int lcd_color_fg;
-extern int lcd_color_bg;
 
 /*
  * Frame buffer memory information
  */
-extern void *lcd_base;		/* Start of framebuffer memory	*/
+extern void *lcd_base;			/* Start of framebuffer memory	*/
 extern void *lcd_console_address;	/* Start of console buffer	*/
 
 extern short console_col;
@@ -54,6 +52,8 @@ extern void lcd_setcolreg (ushort regno,
 				ushort red, ushort green, ushort blue);
 extern void lcd_initcolregs (void);
 
+extern int lcd_getfgcolor(void);
+
 /* gunzip_bmp used if CONFIG_VIDEO_BMP_GZIP */
 extern struct bmp_image *gunzip_bmp(unsigned long addr, unsigned long *lenp);
 extern int bmp_display(ulong addr, int x, int y);
-- 
2.39.5