console: Improve putchar(), add puts()
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 14 May 2020 00:09:36 +0000 (10:09 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 14 May 2020 13:12:22 +0000 (23:12 +1000)
Make putchar() match a standard prototype and add puts()

Also make puts() add carriage returns before linefeeds so the
users don't have to do it all over the place.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
hello_world/console.c

index 6c1c31198c52a0220c0e2c138da45086b95f6bd9..66a7d3a17d11619a1106bcdbe862f68025d68d59 100644 (file)
@@ -98,12 +98,13 @@ int getchar(void)
        return potato_uart_read();
 }
 
-void putchar(unsigned char c)
+int putchar(int c)
 {
        while (potato_uart_tx_full())
                /* Do Nothing */;
 
        potato_uart_write(c);
+       return c;
 }
 
 void putstr(const char *str, unsigned long len)
@@ -113,6 +114,19 @@ void putstr(const char *str, unsigned long len)
        }
 }
 
+int puts(const char *str)
+{
+       unsigned int i;
+
+       for (i = 0; *str; i++) {
+               char c = *(str++);
+               if (c == 10)
+                       putchar(13);
+               putchar(c);
+       }
+       return 0;
+}
+
 size_t strlen(const char *s)
 {
        size_t len = 0;