Re: [PATCH 5/6] tty/serial: Add Spreadtrum's serial earlycon

From: Rob Herring
Date: Wed Oct 01 2014 - 09:56:08 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/