[U-Boot] [PATCH] Replace references to extern console_buffer with a function call

Peter Tyser ptyser at xes-inc.com
Fri Aug 15 21:49:03 CEST 2008


Signed-off-by: Peter Tyser <ptyser at xes-inc.com>
---
 board/amcc/canyonlands/bootstrap.c |    2 +-
 board/amcc/katmai/cmd_katmai.c     |    2 +-
 board/amcc/sequoia/cmd_sequoia.c   |    2 +-
 board/amcc/yucca/cmd_yucca.c       |    2 +-
 board/eltec/bab7xx/misc.c          |    2 +-
 board/eltec/elppc/misc.c           |    2 +-
 board/eltec/mhpc/mhpc.c            |    4 +---
 board/hymod/input.c                |    7 ++++---
 common/cmd_bedbug.c                |    3 ++-
 common/cmd_dcr.c                   |    2 +-
 common/cmd_i2c.c                   |    2 +-
 common/cmd_mem.c                   |    2 +-
 common/cmd_nvedit.c                |    2 +-
 common/cmd_pci.c                   |    2 +-
 common/console.c                   |    7 +++++++
 common/hush.c                      |    2 +-
 common/main.c                      |    8 +++-----
 include/common.h                   |    1 +
 lib_arm/board.c                    |    2 +-
 lib_ppc/board.c                    |    2 +-
 20 files changed, 32 insertions(+), 26 deletions(-)

diff --git a/board/amcc/canyonlands/bootstrap.c b/board/amcc/canyonlands/bootstrap.c
index 1d125b6..a853d62 100644
--- a/board/amcc/canyonlands/bootstrap.c
+++ b/board/amcc/canyonlands/bootstrap.c
@@ -84,7 +84,7 @@ static int do_bootstrap(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 	u8 *buf, b_nand;
 	int x, y, nbytes, selcfg;
-	extern char console_buffer[];
+	char *console_buffer = console_buffer_addr();
 
 	if (argc < 2) {
 		printf("Usage:\n%s\n", cmdtp->usage);
diff --git a/board/amcc/katmai/cmd_katmai.c b/board/amcc/katmai/cmd_katmai.c
index 703d225..b395b89 100644
--- a/board/amcc/katmai/cmd_katmai.c
+++ b/board/amcc/katmai/cmd_katmai.c
@@ -35,7 +35,7 @@ static int do_bootstrap(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	uchar	chip;
 	ulong	data;
 	int	nbytes;
-	extern char console_buffer[];
+	char	*console_buffer = console_buffer_addr();
 
 	char sysClock[4];
 	char cpuClock[4];
diff --git a/board/amcc/sequoia/cmd_sequoia.c b/board/amcc/sequoia/cmd_sequoia.c
index 6b9043a..5f29c10 100644
--- a/board/amcc/sequoia/cmd_sequoia.c
+++ b/board/amcc/sequoia/cmd_sequoia.c
@@ -125,7 +125,7 @@ static int do_bootstrap(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 	u8 *buf, bNAND;
 	int x, y, nbytes, selcfg;
-	extern char console_buffer[];
+	char *console_buffer = console_buffer_addr();
 
 	if (argc < 2) {
 		printf("Usage:\n%s\n", cmdtp->usage);
diff --git a/board/amcc/yucca/cmd_yucca.c b/board/amcc/yucca/cmd_yucca.c
index e698b20..43a67c8 100644
--- a/board/amcc/yucca/cmd_yucca.c
+++ b/board/amcc/yucca/cmd_yucca.c
@@ -53,7 +53,7 @@ static int setBootStrapClock(cmd_tbl_t *cmdtp, int incrflag, int flag,
 	uchar	chip;
 	ulong	data;
 	int	nbytes;
-	extern char console_buffer[];
+	char	*console_buffer = console_buffer_addr();
 
 	char sysClock[4];
 	char cpuClock[4];
diff --git a/board/eltec/bab7xx/misc.c b/board/eltec/bab7xx/misc.c
index 6a24807..6973a49 100644
--- a/board/eltec/bab7xx/misc.c
+++ b/board/eltec/bab7xx/misc.c
@@ -31,7 +31,6 @@
 #include "srom.h"
 
 /* imports  */
-extern char console_buffer[CFG_CBSIZE];
 extern int l2_cache_enable (int l2control);
 extern void *nvram_read (void *dest, const short src, size_t count);
 extern void nvram_write (short dest, const void *src, size_t count);
@@ -63,6 +62,7 @@ int misc_init_r (void)
     char buf[256];
     char hex[23] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0,
 	     0, 0, 0, 0, 10, 11, 12, 13, 14, 15 };
+    char *console_buffer = console_buffer_addr();
     pci_dev_t bdf;
 
     char sromSYM[] = {
diff --git a/board/eltec/elppc/misc.c b/board/eltec/elppc/misc.c
index 5fb20ae..eb4c8e7 100644
--- a/board/eltec/elppc/misc.c
+++ b/board/eltec/elppc/misc.c
@@ -29,7 +29,6 @@
 #include "srom.h"
 
 /* imports  */
-extern char console_buffer[CFG_CBSIZE];
 extern int l2_cache_enable (int l2control);
 extern int eepro100_write_eeprom (struct eth_device *dev, int location,
 				  int addr_len, unsigned short data);
@@ -74,6 +73,7 @@ int misc_init_r (void)
 	char hex[23] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0,
 		0, 0, 0, 0, 10, 11, 12, 13, 14, 15
 	};
+	char *console_buffer = console_buffer_addr();
 
 	/* Clock setting for MPC107 i2c */
 	mpc107_i2c_init (MPC107_EUMB_ADDR, 0x2b);
diff --git a/board/eltec/mhpc/mhpc.c b/board/eltec/mhpc/mhpc.c
index 3666791..c0f1f79 100644
--- a/board/eltec/mhpc/mhpc.c
+++ b/board/eltec/mhpc/mhpc.c
@@ -35,9 +35,6 @@
 #include "mpc8xx.h"
 #include <video_fb.h>
 
-/* imports from common/main.c */
-extern char console_buffer[CFG_CBSIZE];
-
 extern void eeprom_init (void);
 extern int eeprom_read (unsigned dev_addr, unsigned offset,
 			unsigned char *buffer, unsigned cnt);
@@ -157,6 +154,7 @@ int misc_init_r (void)
 	char hex[23] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0,
 		0, 0, 0, 0, 10, 11, 12, 13, 14, 15
 	};
+	char *console_buffer = console_buffer_addr();
 	int i;
 
 	/* check revision data */
diff --git a/board/hymod/input.c b/board/hymod/input.c
index 63aa13c..9a751ed 100644
--- a/board/hymod/input.c
+++ b/board/hymod/input.c
@@ -23,12 +23,11 @@
 
 #include <common.h>
 
-/* imports from common/main.c */
-extern char console_buffer[CFG_CBSIZE];
-
 int
 hymod_get_serno (const char *prompt)
 {
+	char *console_buffer = console_buffer_addr();
+
 	for (;;) {
 		int n, serno;
 		char *p;
@@ -58,6 +57,8 @@ hymod_get_serno (const char *prompt)
 int
 hymod_get_ethaddr (void)
 {
+	char *console_buffer = console_buffer_addr();
+
 	for (;;) {
 		int n;
 
diff --git a/common/cmd_bedbug.c b/common/cmd_bedbug.c
index 94f7e08..6dcd267 100644
--- a/common/cmd_bedbug.c
+++ b/common/cmd_bedbug.c
@@ -19,7 +19,6 @@ DECLARE_GLOBAL_DATA_PTR;
 
 extern void show_regs __P ((struct pt_regs *));
 extern int run_command __P ((const char *, int));
-extern char console_buffer[];
 
 ulong dis_last_addr = 0;	/* Last address disassembled   */
 ulong dis_last_len = 20;	/* Default disassembler length */
@@ -125,6 +124,7 @@ int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 	unsigned long instr;	/* Machine code for text        */
 	char prompt[15];	/* Prompt string for user input */
 	int asm_err;		/* Error code from the assembler */
+	char *console_buffer = console_buffer_addr();
 
 	/* -------------------------------------------------- */
 	int rcode = 0;
@@ -219,6 +219,7 @@ void bedbug_main_loop (unsigned long addr, struct pt_regs *regs)
 	int rc = 0;		/* Result from run_command */
 	char prompt_str[20];	/* Prompt string          */
 	static char lastcommand[CFG_CBSIZE] = { 0 };	/* previous command */
+	char *console_buffer = console_buffer_addr();
 	/* -------------------------------------------------- */
 
 	if (bug_ctx.clear)
diff --git a/common/cmd_dcr.c b/common/cmd_dcr.c
index 439d07a..a6d2322 100644
--- a/common/cmd_dcr.c
+++ b/common/cmd_dcr.c
@@ -70,7 +70,7 @@ int do_setdcr (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 
 	/* DCR's value */
 	int nbytes;
-	extern char console_buffer[];
+	char *console_buffer = console_buffer_addr();
 
 	/* Validate arguments */
 	if (argc < 2) {
diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c
index 91bf25b..1f32646 100644
--- a/common/cmd_i2c.c
+++ b/common/cmd_i2c.c
@@ -418,7 +418,7 @@ mod_i2c_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[])
 	int	size = 1;
 	int	nbytes;
 	int	j;
-	extern char console_buffer[];
+	char	*console_buffer = console_buffer_addr();
 
 	if (argc != 3) {
 		printf ("Usage:\n%s\n", cmdtp->usage);
diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index 2606986..f3299bd 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -1012,7 +1012,7 @@ mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char *argv[])
 {
 	ulong	addr, i;
 	int	nbytes, size;
-	extern char console_buffer[];
+	char	*console_buffer = console_buffer_addr();
 
 	if (argc != 2) {
 		printf ("Usage:\n%s\n", cmdtp->usage);
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index 7089706..0dc5790 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -416,7 +416,7 @@ int do_setenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 #if defined(CONFIG_CMD_ASKENV)
 int do_askenv ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
-	extern char console_buffer[CFG_CBSIZE];
+	char *console_buffer = console_buffer_addr();
 	char message[CFG_CBSIZE];
 	int size = CFG_CBSIZE - 1;
 	int len;
diff --git a/common/cmd_pci.c b/common/cmd_pci.c
index 8968701..bc4afb8 100644
--- a/common/cmd_pci.c
+++ b/common/cmd_pci.c
@@ -405,7 +405,7 @@ pci_cfg_modify (pci_dev_t bdf, ulong addr, ulong size, ulong value, int incrflag
 {
 	ulong	i;
 	int	nbytes;
-	extern char console_buffer[];
+	char	*console_buffer = console_buffer_addr();
 	uint	val4;
 	ushort  val2;
 	u_char	val1;
diff --git a/common/console.c b/common/console.c
index 1b095b1..daf0180 100644
--- a/common/console.c
+++ b/common/console.c
@@ -33,6 +33,8 @@ DECLARE_GLOBAL_DATA_PTR;
 int console_changed = 0;
 #endif
 
+static char console_buffer[CFG_CBSIZE];	/* console I/O buffer */
+
 #ifdef CFG_CONSOLE_IS_IN_ENV
 /*
  * if overwrite_console returns 1, the stdin, stderr and stdout
@@ -286,6 +288,11 @@ void clear_ctrlc (void)
 	ctrlc_was_pressed = 0;
 }
 
+char * console_buffer_addr(void)
+{
+	return console_buffer;
+}
+
 #ifdef CONFIG_MODEM_SUPPORT_DEBUG
 char	screen[1024];
 char *cursor = screen;
diff --git a/common/hush.c b/common/hush.c
index 75c18ce..9bcf62f 100644
--- a/common/hush.c
+++ b/common/hush.c
@@ -1019,7 +1019,7 @@ static void get_user_input(struct in_str *i)
 	fflush(stdout);
 	i->p = the_command;
 #else
-	extern char console_buffer[CFG_CBSIZE];
+	char *console_buffer = console_buffer_addr();
 	int n;
 	static char the_command[CFG_CBSIZE];
 
diff --git a/common/main.c b/common/main.c
index 187ef8a..92c0394 100644
--- a/common/main.c
+++ b/common/main.c
@@ -65,8 +65,6 @@ static int abortboot(int);
 
 #undef DEBUG_PARSER
 
-char        console_buffer[CFG_CBSIZE];		/* console I/O buffer	*/
-
 static char * delete_char (char *buffer, char *p, int *colp, int *np, int plen);
 static char erase_seq[] = "\b \b";		/* erase sequence	*/
 static char   tab_seq[] = "        ";		/* used to expand TABs	*/
@@ -445,7 +443,7 @@ void main_loop (void)
 
 		flag = 0;	/* assume no special flags for now */
 		if (len > 0)
-			strcpy (lastcommand, console_buffer);
+			strcpy (lastcommand, console_buffer_addr());
 		else if (len == 0)
 			flag |= CMD_FLAG_REPEAT;
 #ifdef CONFIG_BOOT_RETRY_TIME
@@ -928,7 +926,7 @@ static int cread_line(const char *const prompt, char *buf, unsigned int *len)
  */
 int readline (const char *const prompt)
 {
-	return readline_into_buffer(prompt, console_buffer);
+	return readline_into_buffer(prompt, console_buffer_addr());
 }
 
 
@@ -1036,7 +1034,7 @@ int readline_into_buffer (const char *const prompt, char * buffer)
 #ifdef CONFIG_AUTO_COMPLETE
 					/* if auto completion triggered just continue */
 					*p = '\0';
-					if (cmd_auto_complete(prompt, console_buffer, &n, &col)) {
+					if (cmd_auto_complete(prompt, console_buffer_addr(), &n, &col)) {
 						p = p_buf + n;	/* reset */
 						continue;
 					}
diff --git a/include/common.h b/include/common.h
index 06ed278..69f5af4 100644
--- a/include/common.h
+++ b/include/common.h
@@ -628,6 +628,7 @@ int	ctrlc (void);
 int	had_ctrlc (void);	/* have we had a Control-C since last clear? */
 void	clear_ctrlc (void);	/* clear the Control-C condition */
 int	disable_ctrlc (int);	/* 1 to disable, 0 to enable Control-C detect */
+char	*console_buffer_addr(void);
 
 /*
  * STDIO based functions (can always be used)
diff --git a/lib_arm/board.c b/lib_arm/board.c
index a093860..1f5409b 100644
--- a/lib_arm/board.c
+++ b/lib_arm/board.c
@@ -506,7 +506,7 @@ int mdm_init (void)
 	char env_str[16];
 	char *init_str;
 	int i;
-	extern char console_buffer[];
+	char *console_buffer = console_buffer_addr();
 	extern void enable_putc(void);
 	extern int hwflow_onoff(int);
 
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 71a70db..262b972 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -1238,7 +1238,7 @@ int mdm_init (void)
 	char env_str[16];
 	char *init_str;
 	int i;
-	extern char console_buffer[];
+	char *console_buffer = console_buffer_addr();
 	extern void enable_putc(void);
 	extern int hwflow_onoff(int);
 
-- 
1.5.4.3




More information about the U-Boot mailing list