* waiting for tx to happen...
*/
-static void putc(int ch)
+static void
+putc(char ch)
{
int cpuid = S3C2410_GSTATUS1_2410;
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;
} 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)