Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965148AbaD2Uls (ORCPT ); Tue, 29 Apr 2014 16:41:48 -0400 Received: from mail-ve0-f174.google.com ([209.85.128.174]:51783 "EHLO mail-ve0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933267AbaD2Ulq (ORCPT ); Tue, 29 Apr 2014 16:41:46 -0400 MIME-Version: 1.0 In-Reply-To: References: <1397859600-11507-1-git-send-email-robherring2@gmail.com> <1397859600-11507-4-git-send-email-robherring2@gmail.com> Date: Tue, 29 Apr 2014 15:41:45 -0500 Message-ID: Subject: Re: [PATCH v2 3/7] tty/serial: convert 8250 to generic earlycon From: Rob Herring To: Yinghai Lu Cc: Andrew Morton , "linux-arm-kernel@lists.infradead.org" , Linux Kernel Mailing List , "linux-serial@vger.kernel.org" , Greg Kroah-Hartman , Jiri Slaby , Catalin Marinas , Russell King , Will Deacon , Arnd Bergmann Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 29, 2014 at 1:22 PM, Yinghai Lu wrote: > On Tue, Apr 29, 2014 at 8:16 AM, Rob Herring wrote: >> On Mon, Apr 28, 2014 at 9:56 PM, Yinghai Lu wrote: >>> On Mon, Apr 28, 2014 at 4:24 PM, Rob Herring wrote: >>>> On Sat, Apr 26, 2014 at 1:29 AM, Yinghai Lu 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; >>> +} > > You want to obsolete "console=uart,io,0x3f8,115200n8" ? > > Let's check with Andrew. He suggested to use uart and uart8250 at that time. No, that is not what I'm saying. For the 2 callers of setup_early_serial8250_console which are crafting a console string from firmware data, they can and do use uart8250. I don't expect this mechanism for setting up early console to expand to other users. The whole point of this series is to allow any uart to be supported for earlycon. For anyone using the kernel command line, both uart and uart8250 are still supported. Rob -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/