]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/serial/serial_xuartlite.c
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
[karo-tx-uboot.git] / drivers / serial / serial_xuartlite.c
index 2bdb68ba4aaea961538cb0b78f5d925e2ace5ce2..9cc0b7f1d2116af41dc924ba2d787fb2133c71d2 100644 (file)
@@ -96,39 +96,6 @@ static int uartlite_serial_init(const int port)
        return -1;
 }
 
-#if !defined(CONFIG_SERIAL_MULTI)
-int serial_init(void)
-{
-       return uartlite_serial_init(0);
-}
-
-void serial_setbrg(void)
-{
-       /* FIXME: what's this for? */
-}
-
-void serial_putc(const char c)
-{
-       uartlite_serial_putc(c, 0);
-}
-
-void serial_puts(const char *s)
-{
-       uartlite_serial_puts(s, 0);
-}
-
-int serial_getc(void)
-{
-       return uartlite_serial_getc(0);
-}
-
-int serial_tstc(void)
-{
-       return uartlite_serial_tstc(0);
-}
-#endif
-
-#if defined(CONFIG_SERIAL_MULTI)
 /* Multi serial device functions */
 #define DECLARE_ESERIAL_FUNCTIONS(port) \
        int userial##port##_init(void) \
@@ -144,15 +111,16 @@ int serial_tstc(void)
                                { uartlite_serial_puts(s, port); }
 
 /* Serial device descriptor */
-#define INIT_ESERIAL_STRUCTURE(port, name) {\
-       name,\
-       userial##port##_init,\
-       NULL,\
-       userial##port##_setbrg,\
-       userial##port##_getc,\
-       userial##port##_tstc,\
-       userial##port##_putc,\
-       userial##port##_puts, }
+#define INIT_ESERIAL_STRUCTURE(port, __name) { \
+       .name   = __name,                       \
+       .start  = userial##port##_init,         \
+       .stop   = NULL,                         \
+       .setbrg = userial##port##_setbrg,       \
+       .getc   = userial##port##_getc,         \
+       .tstc   = userial##port##_tstc,         \
+       .putc   = userial##port##_putc,         \
+       .puts   = userial##port##_puts,         \
+}
 
 DECLARE_ESERIAL_FUNCTIONS(0);
 struct serial_device uartlite_serial0_device =
@@ -180,4 +148,19 @@ __weak struct serial_device *default_serial_console(void)
 
        return NULL;
 }
-#endif /* CONFIG_SERIAL_MULTI */
+
+void uartlite_serial_initialize(void)
+{
+#ifdef XILINX_UARTLITE_BASEADDR
+       serial_register(&uartlite_serial0_device);
+#endif /* XILINX_UARTLITE_BASEADDR */
+#ifdef XILINX_UARTLITE_BASEADDR1
+       serial_register(&uartlite_serial1_device);
+#endif /* XILINX_UARTLITE_BASEADDR1 */
+#ifdef XILINX_UARTLITE_BASEADDR2
+       serial_register(&uartlite_serial2_device);
+#endif /* XILINX_UARTLITE_BASEADDR2 */
+#ifdef XILINX_UARTLITE_BASEADDR3
+       serial_register(&uartlite_serial3_device);
+#endif /* XILINX_UARTLITE_BASEADDR3 */
+}