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>
diff --git a/arch/powerpc/cpu/mpc8xx/i2c.c b/arch/powerpc/cpu/mpc8xx/i2c.c
index 338caba..1ca51fd 100644
--- a/arch/powerpc/cpu/mpc8xx/i2c.c
+++ b/arch/powerpc/cpu/mpc8xx/i2c.c
@@ -633,22 +633,19 @@
 
 	rc = i2c_send(&state, chip, 0, I2CF_START_COND, alen, &xaddr[4-alen]);
 	if (rc != 0) {
-		if (gd->have_console)
-			printf("i2c_read: i2c_send failed (%d)\n", rc);
+		printf("i2c_read: i2c_send failed (%d)\n", rc);
 		return 1;
 	}
 
 	rc = i2c_receive(&state, chip, 0, I2CF_STOP_COND, len, buffer);
 	if (rc != 0) {
-		if (gd->have_console)
-			printf("i2c_read: i2c_receive failed (%d)\n", rc);
+		printf("i2c_read: i2c_receive failed (%d)\n", rc);
 		return 1;
 	}
 
 	rc = i2c_doio(&state);
 	if (rc != 0) {
-		if (gd->have_console)
-			printf("i2c_read: i2c_doio failed (%d)\n", rc);
+		printf("i2c_read: i2c_doio failed (%d)\n", rc);
 		return 1;
 	}
 	return 0;
@@ -683,22 +680,19 @@
 
 	rc = i2c_send(&state, chip, 0, I2CF_START_COND, alen, &xaddr[4-alen]);
 	if (rc != 0) {
-		if (gd->have_console)
-			printf("i2c_write: first i2c_send failed (%d)\n", rc);
+		printf("i2c_write: first i2c_send failed (%d)\n", rc);
 		return 1;
 	}
 
 	rc = i2c_send(&state, 0, 0, I2CF_STOP_COND, len, buffer);
 	if (rc != 0) {
-		if (gd->have_console)
-			printf("i2c_write: second i2c_send failed (%d)\n", rc);
+		printf("i2c_write: second i2c_send failed (%d)\n", rc);
 		return 1;
 	}
 
 	rc = i2c_doio(&state);
 	if (rc != 0) {
-		if (gd->have_console)
-			printf("i2c_write: i2c_doio failed (%d)\n", rc);
+		printf("i2c_write: i2c_doio failed (%d)\n", rc);
 		return 1;
 	}
 	return 0;