[PATCH v2 3/7] tty/serial: convert 8250 to generic earlycon

Rob Herring robherring2 at gmail.com
Tue Apr 29 08:16:27 PDT 2014


On Mon, Apr 28, 2014 at 9:56 PM, Yinghai Lu <yinghai at kernel.org> wrote:
> On Mon, Apr 28, 2014 at 4:24 PM, Rob Herring <robherring2 at gmail.com> wrote:
>> On Sat, Apr 26, 2014 at 1:29 AM, Yinghai Lu <yinghai at kernel.org> wrote:
>>
>> Thanks for finding these. I missed them in my build tests. This should fix them:
>>
>> diff --git a/drivers/tty/serial/8250/8250_early.c
>> b/drivers/tty/serial/8250/8250_early.c
>> index e83c9db..2094c3b 100644
>> --- a/drivers/tty/serial/8250/8250_early.c
>> +++ b/drivers/tty/serial/8250/8250_early.c
>> @@ -156,6 +156,11 @@ static int __init early_serial8250_setup(struct
>> earlycon_device *device,
>>  EARLYCON_DECLARE(uart8250, early_serial8250_setup);
>>  EARLYCON_DECLARE(uart, early_serial8250_setup);
>>
>> +int __init setup_early_serial8250_console(char *cmdline)
>> +{
>> +       return setup_earlycon(cmdline, "uart8250", early_serial8250_setup);
>> +}
>> +
>>  int serial8250_find_port_for_earlycon(void)
>>  {
>>         struct earlycon_device *device = early_device;
>
> that only handle "uart8250,", may need to add more lines to handle "uart,"


That is on purpose because the only 2 users use uart8250. I consider
this a legacy interface and use of "uart" is horrible because there
are lots of uarts which are not 8250.

Rob

>
> +int __init setup_early_serial8250_console(char *cmdline)
> +{
> +       char *options;
> +       options = strstr(cmdline, "uart8250,");
> +       if (options)
> +               return setup_earlycon(cmdline, "uart8250",
> early_serial8250_setup);
> +
> +       options = strstr(cmdline, "uart,");
> +       if (options)
> +              return setup_earlycon(cmdline, "uart", early_serial8250_setup);
> +
> +      return 0;
> +}
> +
>
> Thanks
>
> Yinghai



More information about the linux-arm-kernel mailing list