earlycon: support aml-uart as the name for earlycon [1/1]
authorJiamin Ma <jiamin.ma@amlogic.com>
Mon, 22 Apr 2019 07:29:53 +0000 (15:29 +0800)
committerNick Xie <nick@khadas.com>
Mon, 5 Aug 2019 05:55:18 +0000 (13:55 +0800)
PD#SWPL-6969

Problem:
For some historical reason, aml-uart is configured as the earlycon
name in uboot, which is not recognized by 4.9 kernel

Solution:
support aml-uart as the name for earlycon

Verify:
Ampere

Change-Id: I01427f2d512c0bf1972dd545dc71570919c5bc07
Signed-off-by: Jiamin Ma <jiamin.ma@amlogic.com>
drivers/amlogic/uart/meson_uart.c
include/linux/serial_core.h

index 811e362..0043e16 100644 (file)
@@ -956,6 +956,7 @@ static int __init meson_early_console_setup(struct earlycon_device *device,
        return 0;
 }
 EARLYCON_DECLARE(aml_uart, meson_early_console_setup);
+EARLYCON_DECLARE_COMP(aml-uart, meson_early_console_setup);
 
 static struct console meson_serial_console = {
        .name = AML_UART_DEV_NAME,
index c7dff69..3890f0b 100644 (file)
@@ -376,6 +376,11 @@ extern const struct earlycon_id *__earlycon_table_end[];
 
 #define EARLYCON_DECLARE(_name, fn)    OF_EARLYCON_DECLARE(_name, "", fn)
 
+#ifdef CONFIG_AMLOGIC_MODIFY
+#define EARLYCON_DECLARE_COMP(_name, fn) \
+       _OF_EARLYCON_DECLARE(_name, "", fn, __LINE__ ## __COUNTER__)
+#endif
+
 extern int of_setup_earlycon(const struct earlycon_id *match,
                             unsigned long node,
                             const char *options);