On Mon, Sep 29, 2014 at 8:36 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Monday 29 September 2014 20:04:52 zhang.lyra@xxxxxxxxx wrote: >> From: "chunyan.zhang" <chunyan.zhang@xxxxxxxxxxxxxx> >> >> Adds earlycon support for the Spreadtrum's serial. >> >> Signed-off-by: chunyan.zhang <chunyan.zhang@xxxxxxxxxxxxxx> >> --- >> drivers/tty/serial/Kconfig | 12 ++++++ >> drivers/tty/serial/Makefile | 1 + >> drivers/tty/serial/serial_sprd_early.c | 64 ++++++++++++++++++++++++++++++++ >> 3 files changed, 77 insertions(+) >> create mode 100644 drivers/tty/serial/serial_sprd_early.c >> >> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig >> index 26cec64..ede16e6 100644 >> --- a/drivers/tty/serial/Kconfig >> +++ b/drivers/tty/serial/Kconfig >> @@ -85,6 +85,18 @@ config SERIAL_EARLYCON_ARM_SEMIHOST >> with "earlycon=smh" on the kernel command line. The console is >> enabled when early_param is processed. >> >> +config SERIAL_EARLYCON_SPRD >> + bool "Early console using SPRD serial" >> + depends on ARM64 >> + select SERIAL_CORE >> + select SERIAL_CORE_CONSOLE >> + select SERIAL_EARLYCON >> + help > > I assume you will later want to have a proper device driver for > this hardware, so it would be better to make the Kconfig symbol > and the file name what you are going to use in the long run, but > for now only have the earlycon support included. > > >> +static int __init serial_sprd_early_console_setup( >> + struct earlycon_device *device, >> + const char *opt) >> +{ >> + if (!device->port.membase) >> + return -ENODEV; >> + >> + device->con->write = serial_sprd_early_write; >> + return 0; >> +} >> +EARLYCON_DECLARE(serial_sprd, serial_sprd_early_console_setup); >> +OF_EARLYCON_DECLARE(serial_sprd, "sprd,serial", >> + serial_sprd_early_console_setup); >> > > I think you should drop the EARLYCON_DECLARE() line, using > OF_EARLYCON_DECLARE should be enough. No, I've been telling people to put both in. The reason is you may have a bootloader or boot files (e.g PXELINUX) that only allows changing changing the command line or you want to override/extend the command line in the kernel. I'm thinking the declaration should be combined into one to do both since I'm getting tired of making this comment. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html