From patchwork Tue Mar 19 23:24:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Daniel Walker (danielwa)" X-Patchwork-Id: 1058765 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=cisco.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cisco.com header.i=@cisco.com header.b="cpO0SE1Z"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44P8Tq2Jvfz9sNd for ; Wed, 20 Mar 2019 10:32:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727157AbfCSXcE (ORCPT ); Tue, 19 Mar 2019 19:32:04 -0400 Received: from alln-iport-5.cisco.com ([173.37.142.92]:58542 "EHLO alln-iport-5.cisco.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726884AbfCSXcD (ORCPT ); Tue, 19 Mar 2019 19:32:03 -0400 X-Greylist: delayed 426 seconds by postgrey-1.27 at vger.kernel.org; Tue, 19 Mar 2019 19:32:02 EDT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2052; q=dns/txt; s=iport; t=1553038322; x=1554247922; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=SN5H8dG2ZC+GgC+3IIQa/5DRYtqOkD5Ef/guLY/vlX0=; b=cpO0SE1ZGffIklLo6tCUHhnlIp0LFctUjCjUQn6dH2y8aAp9KZhpBzcA 09/8B2frh0zd3oe6Pm1+r42lvfWoBm1P4dQi7PCThmDDjo/7o5fxIx4X2 ZdGS0tgLYwUdpJ3IeOC1uoJKEAz1nIRUPeS+gEDVsON7FVkPZ9BVs+U8y 0=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AEAAA8eZFc/4cNJK1jGgEBAQEBAgEBAQEHAgEBAQGBUQUBAQEBCwGCEIFrJ4wnpWuBew2EbIRtIjQJDQEBAwEBCQEDAm0ohgMBRimBFQESgyKBdQGsD4o1FIEbAYZphEgXgUA/gRGNdAOSHJF8UQmCS5BVDBmTXosMkyuBRziBVjMaCBsVgyeQax8zj2sBAQ X-IronPort-AV: E=Sophos;i="5.60,246,1549929600"; d="scan'208";a="247406448" Received: from alln-core-2.cisco.com ([173.36.13.135]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 19 Mar 2019 23:24:55 +0000 Received: from sjc-ads-2388.cisco.com (sjc-ads-2388.cisco.com [171.70.63.76]) by alln-core-2.cisco.com (8.15.2/8.15.2) with ESMTP id x2JNOrtW019667; Tue, 19 Mar 2019 23:24:55 GMT From: Daniel Walker To: Andrew Morton , Christophe Leroy , Michael Ellerman , Rob Herring , xe-linux-external@cisco.com, linuxppc-dev@lists.ozlabs.org, Frank Rowand Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] drivers: of: generic command line support Date: Tue, 19 Mar 2019 16:24:46 -0700 Message-Id: <20190319232448.45964-3-danielwa@cisco.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 X-Auto-Response-Suppress: DR, OOF, AutoReply X-Outbound-SMTP-Client: 171.70.63.76, sjc-ads-2388.cisco.com X-Outbound-Node: alln-core-2.cisco.com Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This adds support for the generic command line implementation into the device tree code. This allows some platforms to use the original CONFIG_CMDLINE implementation, but powerpc platforms can used the newer generic command line code. As platforms support the generic command line code they can simply add "select GENERIC_CMDLINE" and delete their Kconfig options for the current CMDLINE. Change-Id: Ief473a5ffac01a999b0aba7619f5b63bc4b36ac4 Cc: Andrew Morton Cc: Christophe Leroy Cc: Michael Ellerman Signed-off-by: Daniel Walker --- drivers/of/fdt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index 7099c652c6a5..9dc5550697c2 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -24,6 +24,7 @@ #include #include #include +#include #include /* for COMMAND_LINE_SIZE */ #include @@ -1102,7 +1103,7 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, * managed to set the command line, unless CONFIG_CMDLINE_FORCE * is set in which case we override whatever was found earlier. */ -#ifdef CONFIG_CMDLINE +#if defined(CONFIG_CMDLINE) && !defined(CONFIG_GENERIC_CMDLINE) #if defined(CONFIG_CMDLINE_EXTEND) strlcat(data, " ", COMMAND_LINE_SIZE); strlcat(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); @@ -1113,7 +1114,12 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, if (!((char *)data)[0]) strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); #endif -#endif /* CONFIG_CMDLINE */ +#endif /* CONFIG_CMDLINE && !CONFIG_GENERIC_CMDLINE */ + + /* append and prepend any arguments built into the kernel via + * generic cmdline. + */ + cmdline_add_builtin(data, NULL, COMMAND_LINE_SIZE); pr_debug("Command line is: %s\n", (char*)data);