Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-spi
[oweals/u-boot.git] / drivers / serial / serial.c
index f2bd0e404c730f3e79be2e1afd6e4cdf7b5c3f32..baeaeaac8ea2fa236503358f2162776c6c96b55a 100644 (file)
@@ -1,12 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * (C) Copyright 2004
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
-#include <environment.h>
+#include <env_internal.h>
+#include <hang.h>
 #include <serial.h>
 #include <stdio_dev.h>
 #include <post.h>
@@ -37,7 +37,15 @@ static void serial_null(void)
 /**
  * on_baudrate() - Update the actual baudrate when the env var changes
  *
+ * @name:      changed environment variable
+ * @value:     new value of the environment variable
+ * @op:                operation (create, overwrite, or delete)
+ * @flags:     attributes of environment variable change,
+ *             see flags H_* in include/search.h
+ *
  * This will check for a valid baudrate and only apply it if valid.
+ *
+ * Return:     0 on success, 1 on error
  */
 static int on_baudrate(const char *name, const char *value, enum env_op op,
        int flags)
@@ -109,51 +117,15 @@ U_BOOT_ENV_CALLBACK(baudrate, on_baudrate);
        void name(void)                                         \
                __attribute__((weak, alias("serial_null")));
 
-serial_initfunc(amirix_serial_initialize);
-serial_initfunc(arc_serial_initialize);
-serial_initfunc(arm_dcc_initialize);
-serial_initfunc(asc_serial_initialize);
 serial_initfunc(atmel_serial_initialize);
-serial_initfunc(au1x00_serial_initialize);
-serial_initfunc(bfin_jtag_initialize);
-serial_initfunc(bfin_serial_initialize);
-serial_initfunc(bmw_serial_initialize);
-serial_initfunc(clps7111_serial_initialize);
-serial_initfunc(cogent_serial_initialize);
-serial_initfunc(cpci750_serial_initialize);
-serial_initfunc(evb64260_serial_initialize);
-serial_initfunc(imx_serial_initialize);
-serial_initfunc(iop480_serial_initialize);
-serial_initfunc(jz_serial_initialize);
-serial_initfunc(leon2_serial_initialize);
-serial_initfunc(leon3_serial_initialize);
-serial_initfunc(lh7a40x_serial_initialize);
-serial_initfunc(lpc32xx_serial_initialize);
-serial_initfunc(marvell_serial_initialize);
-serial_initfunc(max3100_serial_initialize);
 serial_initfunc(mcf_serial_initialize);
-serial_initfunc(ml2_serial_initialize);
-serial_initfunc(mpc5xx_serial_initialize);
-serial_initfunc(mpc8260_scc_serial_initialize);
-serial_initfunc(mpc8260_smc_serial_initialize);
 serial_initfunc(mpc85xx_serial_initialize);
-serial_initfunc(mpc8xx_serial_initialize);
 serial_initfunc(mxc_serial_initialize);
-serial_initfunc(mxs_auart_initialize);
 serial_initfunc(ns16550_serial_initialize);
-serial_initfunc(oc_serial_initialize);
-serial_initfunc(p3mx_serial_initialize);
 serial_initfunc(pl01x_serial_initialize);
 serial_initfunc(pxa_serial_initialize);
-serial_initfunc(s3c24xx_serial_initialize);
-serial_initfunc(s5p_serial_initialize);
-serial_initfunc(sa1100_serial_initialize);
-serial_initfunc(sandbox_serial_initialize);
-serial_initfunc(sconsole_serial_initialize);
 serial_initfunc(sh_serial_initialize);
-serial_initfunc(stm32_serial_initialize);
-serial_initfunc(uartlite_serial_initialize);
-serial_initfunc(zynq_serial_initialize);
+serial_initfunc(mtk_serial_initialize);
 
 /**
  * serial_register() - Register serial driver with serial driver core
@@ -199,48 +171,15 @@ void serial_register(struct serial_device *dev)
  */
 void serial_initialize(void)
 {
-       amirix_serial_initialize();
-       arc_serial_initialize();
-       arm_dcc_initialize();
-       asc_serial_initialize();
        atmel_serial_initialize();
-       au1x00_serial_initialize();
-       bfin_jtag_initialize();
-       bfin_serial_initialize();
-       bmw_serial_initialize();
-       clps7111_serial_initialize();
-       cogent_serial_initialize();
-       cpci750_serial_initialize();
-       evb64260_serial_initialize();
-       imx_serial_initialize();
-       iop480_serial_initialize();
-       jz_serial_initialize();
-       leon2_serial_initialize();
-       leon3_serial_initialize();
-       lh7a40x_serial_initialize();
-       lpc32xx_serial_initialize();
-       marvell_serial_initialize();
-       max3100_serial_initialize();
        mcf_serial_initialize();
-       ml2_serial_initialize();
        mpc85xx_serial_initialize();
-       mpc8xx_serial_initialize();
        mxc_serial_initialize();
-       mxs_auart_initialize();
        ns16550_serial_initialize();
-       oc_serial_initialize();
-       p3mx_serial_initialize();
        pl01x_serial_initialize();
        pxa_serial_initialize();
-       s3c24xx_serial_initialize();
-       s5p_serial_initialize();
-       sa1100_serial_initialize();
-       sandbox_serial_initialize();
-       sconsole_serial_initialize();
        sh_serial_initialize();
-       stm32_serial_initialize();
-       uartlite_serial_initialize();
-       zynq_serial_initialize();
+       mtk_serial_initialize();
 
        serial_assign(default_serial_console()->name);
 }
@@ -273,14 +212,14 @@ static void serial_stub_puts(struct stdio_dev *sdev, const char *str)
        dev->puts(str);
 }
 
-int serial_stub_getc(struct stdio_dev *sdev)
+static int serial_stub_getc(struct stdio_dev *sdev)
 {
        struct serial_device *dev = sdev->priv;
 
        return dev->getc();
 }
 
-int serial_stub_tstc(struct stdio_dev *sdev)
+static int serial_stub_tstc(struct stdio_dev *sdev)
 {
        struct serial_device *dev = sdev->priv;