X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm%2Farch-s3c2410%2Funcompress.h;h=4367ec054b51aeb277040bbee9c5f47bb99b5762;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=a6f6a0e44afaf2e818a716288fc7ba34e1316ffc;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/include/asm-arm/arch-s3c2410/uncompress.h b/include/asm-arm/arch-s3c2410/uncompress.h index a6f6a0e44..4367ec054 100644 --- a/include/asm-arm/arch-s3c2410/uncompress.h +++ b/include/asm-arm/arch-s3c2410/uncompress.h @@ -67,7 +67,8 @@ uart_rd(unsigned int reg) * waiting for tx to happen... */ -static void putc(int ch) +static void +putc(char ch) { int cpuid = S3C2410_GSTATUS1_2410; @@ -76,6 +77,9 @@ static void putc(int ch) cpuid &= S3C2410_GSTATUS1_IDMASK; #endif + if (ch == '\n') + putc('\r'); /* expand newline to \r\n */ + if (uart_rd(S3C2410_UFCON) & S3C2410_UFCON_FIFOMODE) { int level; @@ -97,16 +101,19 @@ static void putc(int ch) } else { /* not using fifos */ - while ((uart_rd(S3C2410_UTRSTAT) & S3C2410_UTRSTAT_TXE) != S3C2410_UTRSTAT_TXE) - barrier(); + while ((uart_rd(S3C2410_UTRSTAT) & S3C2410_UTRSTAT_TXE) != S3C2410_UTRSTAT_TXE); } /* write byte to transmission register */ uart_wr(S3C2410_UTXH, ch); } -static inline void flush(void) +static void +putstr(const char *ptr) { + for (; *ptr != '\0'; ptr++) { + putc(*ptr); + } } #define __raw_writel(d,ad) do { *((volatile unsigned int *)(ad)) = (d); } while(0)