summaryrefslogtreecommitdiff
path: root/arch/powerpc/cpu/mpc5xxx/i2c.c
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2011-08-29 02:14:05 +0000
committerWolfgang Denk <wd@denx.de>2011-10-01 21:54:49 +0200
commite3e454cd72f319908355427b1a3ae54b3dd53356 (patch)
treeb461a0dc8287aa0c7d3e3eab525cd4f76c27481a /arch/powerpc/cpu/mpc5xxx/i2c.c
parent79df1208ee6984aa63468673c042667d121bb0bc (diff)
downloadu-boot-imx-e3e454cd72f319908355427b1a3ae54b3dd53356.zip
u-boot-imx-e3e454cd72f319908355427b1a3ae54b3dd53356.tar.gz
u-boot-imx-e3e454cd72f319908355427b1a3ae54b3dd53356.tar.bz2
console: Squelch pre-console output in console functions
There are some locations in the code which anticipate printf() being called before the console is ready by squelching printf() on gd->have_console. Move this squelching into printf(), vprintf(), puts() and putc(). Also make tstc() and getc() return 0 if console is not yet initialised Signed-off-by: Graeme Russ <graeme.russ@gmail.com> Tested-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/powerpc/cpu/mpc5xxx/i2c.c')
-rw-r--r--arch/powerpc/cpu/mpc5xxx/i2c.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/arch/powerpc/cpu/mpc5xxx/i2c.c b/arch/powerpc/cpu/mpc5xxx/i2c.c
index 9fb330f..f9d293b 100644
--- a/arch/powerpc/cpu/mpc5xxx/i2c.c
+++ b/arch/powerpc/cpu/mpc5xxx/i2c.c
@@ -332,8 +332,7 @@ static int mpc_get_fdr(int speed)
if (gd->flags & GD_FLG_RELOC) {
fdr = divider;
} else {
- if (gd->have_console)
- printf("%ld kHz, ", best_speed / 1000);
+ printf("%ld kHz, ", best_speed / 1000);
return divider;
}
}
@@ -374,34 +373,29 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)
xaddr[3] = addr & 0xFF;
if (wait_for_bb()) {
- if (gd->have_console)
- printf("i2c_read: bus is busy\n");
+ printf("i2c_read: bus is busy\n");
goto Done;
}
mpc_reg_out(&regs->mcr, I2C_STA, I2C_STA);
if (do_address(chip, 0)) {
- if (gd->have_console)
- printf("i2c_read: failed to address chip\n");
+ printf("i2c_read: failed to address chip\n");
goto Done;
}
if (send_bytes(chip, &xaddr[4-alen], alen)) {
- if (gd->have_console)
- printf("i2c_read: send_bytes failed\n");
+ printf("i2c_read: send_bytes failed\n");
goto Done;
}
mpc_reg_out(&regs->mcr, I2C_RSTA, I2C_RSTA);
if (do_address(chip, 1)) {
- if (gd->have_console)
- printf("i2c_read: failed to address chip\n");
+ printf("i2c_read: failed to address chip\n");
goto Done;
}
if (receive_bytes(chip, (char *)buf, len)) {
- if (gd->have_console)
- printf("i2c_read: receive_bytes failed\n");
+ printf("i2c_read: receive_bytes failed\n");
goto Done;
}
@@ -423,27 +417,23 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)
xaddr[3] = addr & 0xFF;
if (wait_for_bb()) {
- if (gd->have_console)
- printf("i2c_write: bus is busy\n");
+ printf("i2c_write: bus is busy\n");
goto Done;
}
mpc_reg_out(&regs->mcr, I2C_STA, I2C_STA);
if (do_address(chip, 0)) {
- if (gd->have_console)
- printf("i2c_write: failed to address chip\n");
+ printf("i2c_write: failed to address chip\n");
goto Done;
}
if (send_bytes(chip, &xaddr[4-alen], alen)) {
- if (gd->have_console)
- printf("i2c_write: send_bytes failed\n");
+ printf("i2c_write: send_bytes failed\n");
goto Done;
}
if (send_bytes(chip, (char *)buf, len)) {
- if (gd->have_console)
- printf("i2c_write: send_bytes failed\n");
+ printf("i2c_write: send_bytes failed\n");
goto Done;
}