X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Farch-sa1100%2Funcompress.h;fp=include%2Fasm-arm%2Farch-sa1100%2Funcompress.h;h=43453501ee6688b56c47b7859b0079d671940485;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=2601a77a6ddaede178a1222e6d18252b3aac22f1;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/include/asm-arm/arch-sa1100/uncompress.h b/include/asm-arm/arch-sa1100/uncompress.h index 2601a77a6..43453501e 100644 --- a/include/asm-arm/arch-sa1100/uncompress.h +++ b/include/asm-arm/arch-sa1100/uncompress.h @@ -17,7 +17,7 @@ #define UART(x) (*(volatile unsigned long *)(serial_port + (x))) -static void putc(int c) +static void putstr( const char *s ) { unsigned long serial_port; @@ -31,16 +31,19 @@ static void putc(int c) return; } while (0); - /* wait for space in the UART's transmitter */ - while (!(UART(UTSR1) & UTSR1_TNF)) - barrier(); + for (; *s; s++) { + /* wait for space in the UART's transmitter */ + while (!(UART(UTSR1) & UTSR1_TNF)); - /* send the character out. */ - UART(UTDR) = c; -} + /* send the character out. */ + UART(UTDR) = *s; -static inline void flush(void) -{ + /* if a LF, also do CR... */ + if (*s == 10) { + while (!(UART(UTSR1) & UTSR1_TNF)); + UART(UTDR) = 13; + } + } } /*