Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752663AbdHPNsC (ORCPT ); Wed, 16 Aug 2017 09:48:02 -0400 Received: from mail-qk0-f194.google.com ([209.85.220.194]:36620 "EHLO mail-qk0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751580AbdHPNqn (ORCPT ); Wed, 16 Aug 2017 09:46:43 -0400 MIME-Version: 1.0 In-Reply-To: <1502884362.2586.32.camel@synopsys.com> References: <20170815172141.29115-1-Eugeniy.Paltsev@synopsys.com> <1502884362.2586.32.camel@synopsys.com> From: Rob Herring Date: Wed, 16 Aug 2017 08:46:21 -0500 Message-ID: Subject: Re: [PATCH] earlycon: initialise baud field of earlycon device structure To: Eugeniy Paltsev Cc: "linux-serial@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "jslaby@suse.com" , "gregkh@linuxfoundation.org" , "linux-snps-arc@lists.infradead.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1896 Lines: 63 On Wed, Aug 16, 2017 at 6:52 AM, Eugeniy Paltsev wrote: > Hi Rob, > > On Tue, 2017-08-15 at 14:26 -0500, Rob Herring wrote: >> On Tue, Aug 15, 2017 at 12:21 PM, Eugeniy Paltsev >> wrote: >> > [snip] >> > @@ -282,7 +283,15 @@ int __init of_setup_earlycon(const struct >> > earlycon_id *match, >> > } >> > } >> > >> > + val = of_get_flat_dt_prop(node, "baud", NULL); >> >> No, we already have a defined way to set the baud, we don't need a >> property in addition. Plus you didn't document it. > > I guess by defined way to set the baud you mean setting baud after > device alias > in stdout-path property (like stdout-path = "serial:115200n8"), right? > > The idea was to reuse "baud" property from serial node to set the > earlycon baud: > > chosen { > ... > stdout-path = &serial; > }; > > serial: uart@... { > ... > baud = <115200>; /* Get baud from here */ "current-speed" is already defined for this purpose. If you want to add that, that's fine. > }; > >> > + if (val) >> > + early_console_dev.baud = be32_to_cpu(*val); >> > + >> > if (options) { >> > + err = kstrtoul(options, 10, &baud); >> > + if (!err) >> > + early_console_dev.baud = baud; >> >> This seems fine to do here, but then we should also parse the other >> standard options here too. And we should make sure we're not doing it >> twice. > I added only baud parsing here because we parse only baud from standard > options > when register_earlycon is used. (see parse_options function which is > called > from register_earlycon) > > But I can add other standard options parsing here (probably using > uart_parse_options + uart_set_options). > What do you think? That seems fine as long as consoles can still have their own options. Rob