Allow console input to be disabled
authorMark Jackson <mpfj@mimc.co.uk>
Mon, 25 Aug 2008 18:21:30 +0000 (19:21 +0100)
committerWolfgang Denk <wd@denx.de>
Sat, 6 Sep 2008 20:36:54 +0000 (22:36 +0200)
Added new CONFIG_DISABLE_CONSOLE define and GD_FLG_DISABLE_CONSOLE.

When CONFIG_DISABLE_CONSOLE is defined, setting
GD_FLG_DISABLE_CONSOLE disables all console input and output.

Signed-off-by: Mark Jackson <mpfj@mimc.co.uk>
13 files changed:
common/console.c
include/asm-arm/global_data.h
include/asm-avr32/global_data.h
include/asm-blackfin/global_data.h
include/asm-i386/global_data.h
include/asm-m68k/global_data.h
include/asm-microblaze/global_data.h
include/asm-mips/global_data.h
include/asm-nios/global_data.h
include/asm-nios2/global_data.h
include/asm-ppc/global_data.h
include/asm-sh/global_data.h
include/asm-sparc/global_data.h

index cfcaeb86cadff9f4736c81096a373942449b6320..56d9118cb2d847c32c08f076a182cf2e6f89d789 100644 (file)
@@ -162,6 +162,11 @@ void fprintf (int file, const char *fmt, ...)
 
 int getc (void)
 {
+#ifdef CONFIG_DISABLE_CONSOLE
+       if (gd->flags & GD_FLG_DISABLE_CONSOLE)
+               return 0;
+#endif
+
        if (gd->flags & GD_FLG_DEVINIT) {
                /* Get from the standard input */
                return fgetc (stdin);
@@ -173,6 +178,11 @@ int getc (void)
 
 int tstc (void)
 {
+#ifdef CONFIG_DISABLE_CONSOLE
+       if (gd->flags & GD_FLG_DISABLE_CONSOLE)
+               return 0;
+#endif
+
        if (gd->flags & GD_FLG_DEVINIT) {
                /* Test the standard input */
                return ftstc (stdin);
@@ -189,6 +199,11 @@ void putc (const char c)
                return;
 #endif
 
+#ifdef CONFIG_DISABLE_CONSOLE
+       if (gd->flags & GD_FLG_DISABLE_CONSOLE)
+               return;
+#endif
+
        if (gd->flags & GD_FLG_DEVINIT) {
                /* Send to the standard output */
                fputc (stdout, c);
@@ -205,6 +220,11 @@ void puts (const char *s)
                return;
 #endif
 
+#ifdef CONFIG_DISABLE_CONSOLE
+       if (gd->flags & GD_FLG_DISABLE_CONSOLE)
+               return;
+#endif
+
        if (gd->flags & GD_FLG_DEVINIT) {
                /* Send to the standard output */
                fputs (stdout, s);
index 7e2a53adb00b692276e8c54db69405a819112fbf..f419b42adc8c4ced9d3dd7e5ca1e01fa29a76b68 100644 (file)
@@ -63,6 +63,7 @@ typedef       struct  global_data {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r8")
 
index 007cfe4e7e7c48ac76751cec18cc95c9907200f0..75e75cc6c8c918456f4bb4e310620f1e17dc2b61 100644 (file)
@@ -54,6 +54,7 @@ typedef       struct  global_data {
 #define GD_FLG_POSTFAIL        0x00008         /* Critical POST test failed     */
 #define GD_FLG_POSTSTOP        0x00010         /* POST seqeunce aborted         */
 #define GD_FLG_LOGINIT 0x00020         /* Log Buf has been initialized  */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm("r5")
 
index b0b01e485631b3531a3b43fb8badd7aec66d9ef4..2f408705e46321ee4b6d4d0cc4ba3ead3c891ae4 100644 (file)
@@ -64,6 +64,7 @@ typedef struct global_data {
 #define        GD_FLG_POSTFAIL 0x00008 /* Critical POST test failed     */
 #define        GD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted         */
 #define        GD_FLG_LOGINIT  0x00020 /* Log Buf has been initialized  */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR     register gd_t * volatile gd asm ("P5")
 
index 5dfb5951091c761005f5d9ae00fcdc48f71083cc..35bad23c17c95beb1d7ff6e07b8d737fe9faf547 100644 (file)
@@ -57,6 +57,7 @@ typedef       struct {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 extern gd_t *global_data;
 
index 10c6931534358f6e884939499d4bf9f8479cc4b7..187618d72c394c9edd6a8fc590042a68f69a50b5 100644 (file)
@@ -75,6 +75,7 @@ typedef       struct  global_data {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #if 0
 extern gd_t *global_data;
index 376786fca98ec135dc5a50fa6a633cfe1e0e91e6..013c56a492b801f36f4ba5419e69d3624f774b54 100644 (file)
@@ -55,6 +55,7 @@ typedef       struct  global_data {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r31")
 
index ecee6dea6af73e4173e10a439095138dd1ecdc41..7cf2a00acb3da1f2f796b6afb6a59e04d8c651f9 100644 (file)
@@ -57,6 +57,7 @@ typedef       struct  global_data {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed     */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted         */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buf has been initialized  */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("k0")
 
index a56f939df38af1992993c27ef02a7fcb58d77908..4929a5b872a65fe24e239d924a599294ddd3f763 100644 (file)
@@ -48,6 +48,7 @@ typedef       struct  global_data {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR     register gd_t *gd asm ("%g7")
 
index cd17e0894fc06a954710a87409641614b9e397d6..db71324d493bbabf210ad99dba040cbb2cdd5ba6 100644 (file)
@@ -47,6 +47,7 @@ typedef       struct  global_data {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR     register gd_t *gd asm ("r15")
 
index a9366c36735e3f90f94c5d2f164124eed07a5067..4331a154ea6f3371ac030ee497100c2336906c17 100644 (file)
@@ -180,6 +180,7 @@ typedef     struct  global_data {
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #if 1
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("r2")
index d61421b68748fe6362dc027c0d7eedf15004c3da..f8ade5ca621d70f3734503efbcf67d36615acc5e 100644 (file)
@@ -47,6 +47,7 @@ typedef       struct global_data
 #define        GD_FLG_POSTFAIL 0x00008         /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010         /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020         /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR        register gd_t *gd asm ("r13")
 
index a8d85f1b5c5920c7d428d1ba87243d7ca889804f..eeb35d08d0014c6cc4ded496365ed0031f13ecfa 100644 (file)
@@ -82,6 +82,7 @@ typedef struct global_data {
 #define        GD_FLG_POSTFAIL 0x00008 /* Critical POST test failed            */
 #define        GD_FLG_POSTSTOP 0x00010 /* POST seqeunce aborted                */
 #define        GD_FLG_LOGINIT  0x00020 /* Log Buffer has been initialized      */
+#define GD_FLG_DISABLE_CONSOLE 0x00040         /* Disable console (in & out)    */
 
 #define DECLARE_GLOBAL_DATA_PTR     register volatile gd_t *gd asm ("%g7")