[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