Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp3243491imm; Tue, 4 Sep 2018 18:51:09 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYPe/HHpqlk2iYQEgRhaBBXSWRsSLWZKF4+iOC0U0O6k4s8LsbR9UpbMhXhm6w5WkrOuskB X-Received: by 2002:a17:902:bb08:: with SMTP id l8-v6mr35956281pls.71.1536112269402; Tue, 04 Sep 2018 18:51:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536112269; cv=none; d=google.com; s=arc-20160816; b=BJyPbBRaupsMeUlRTNcWYOxWZs4RX56qTYHwclNS+DQtexg4cIJelTOWMDmJekjbid b6z/V0tHUUEZUjC8cibpIC9eT1lrBNc4lq4x5vieEqHgOjBFCadT7wNmOQcpcK8KuN+i S2PuBk0VPYNvaRf3JC2gMgf76bofJVYAhuwlZwI8GzCR/d9/sEtXUeBYo9VdEgSzMJXG MfLWmU8XZU7pE0fvG9giYNFsQeWsewXW3ZLCGU61SPXcv34z23x9Yk2ypEvliezTtKjZ z9biPW22OfaGElCd2SCcvX/Ed1tnyxRyG5BO2yJ3hD3N0tFWSfBq+w6h+YQm3XLDyGqq TzxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=MUqfIhgvbv/pmYClS49jq5IiiHFV+VYPr5DzS7QTlEQ=; b=ZQnfhC9mJa934rZSo8fjttYCxOCg81T/sJ3l2ZEdJ68YAYDQSUKOjj0H3+vlXOen3n WQorxWOI6QbcdnteOM63ncGn2mGbdlVqn3gNXRboR7GAZtc3czs3SZSI0W+I3ZM4O8iy T2JmsND6xExiUt/n/qLP2j+IqeKILHQH3lWbTeVXWvQeCEbU0dM+Upbc/8mEwCgUzWGu 9ldlTFl66GP4cbsQ7bDQ9/Ue8vTbrPa1HlznWAKoDk3oIMbjSDaYJ6lDgH/RqOdcf7v1 erzmMX0uy71KpGpWRQAR8sXInh8uxpNGNuHw5ldiMS5d+W1Ttg/BBPm5ArIQUOLrc4Vf T7Vg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=spHR4cs4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t9-v6si515925pfi.221.2018.09.04.18.50.53; Tue, 04 Sep 2018 18:51:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=spHR4cs4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726340AbeIEGRg (ORCPT + 99 others); Wed, 5 Sep 2018 02:17:36 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:36222 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725825AbeIEGRf (ORCPT ); Wed, 5 Sep 2018 02:17:35 -0400 Received: by mail-pg1-f196.google.com with SMTP id d1-v6so2575177pgo.3; Tue, 04 Sep 2018 18:49:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=MUqfIhgvbv/pmYClS49jq5IiiHFV+VYPr5DzS7QTlEQ=; b=spHR4cs4WzvnP7BPfVhaJlnY+LiSwXQZDRZP3D4qoYtdVzOfo6pd+4ZpqugB8n1QO7 cNvxfaV7V2ahiLHeAouYr1LU7pzzRPJ5ktgzADYgpA6kONwoETXglCmBTg6maX1/5rhK ul8GsTF9XK7+JoQExwmGY8wWeTB3hPYZyP6bjoEKSJ0O02TeDAsqtzVMDFF6UVqSxiyw bQuXHoLZPnzVEr5NXXhYjCWUE8s+QTZUfWUar3XzqaykGa9eIFMauwh3KtPeu7A2QsMD hDtMXS7scgHVlS0Hs+r18tON2TWxBfwyB9KZSov1qi9BbzpxSh7oOd7kEzA+o5uGQZ9v 9FoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=MUqfIhgvbv/pmYClS49jq5IiiHFV+VYPr5DzS7QTlEQ=; b=jdTx3xbmPa2uXelAf3BEC9oVoORnNhn3Fwjtk7NX742acXsH6mUd8GCxMyB3dqZE0d jNIASUW4hG22nqjVov2Een3TRTEZSsfsjwpMDWYKXV5DFy94g//9SFe21dkwuJgCC2rl oJxhXiNXfNeQZ+3O8EJwDJd8zFF/MeC0wjRczmKe1aOr+RlzUq8HRfRao7ejhSHUXg0c RNhVjtAIV34Vp6n4oA/TRzN8btHuDhLD+UiKcHQvOAnlD4eWrS6I3MgEIWAc9ICmfwmw HX/JZcGx949p4mP51p/pMt7X9oPowmAvuwl0VERifb0orerxT7DLjrBtVG+MJTioJ/xx P5qw== X-Gm-Message-State: APzg51DZfURcYwPKBeZBUJO/ylWycYY1YlZZRSXxexlrfvpM/RXXyeTX Gnr1j6Y9bQfNJPJKe7RHaBkhaIWZ X-Received: by 2002:a63:a54f:: with SMTP id r15-v6mr33834237pgu.336.1536112189075; Tue, 04 Sep 2018 18:49:49 -0700 (PDT) Received: from [192.168.1.70] (c-24-6-192-50.hsd1.ca.comcast.net. [24.6.192.50]) by smtp.gmail.com with ESMTPSA id x2-v6sm376407pfi.166.2018.09.04.18.49.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Sep 2018 18:49:48 -0700 (PDT) Subject: Re: [PATCH 1/3] of/fdt: Scan the root node properties earlier To: Rob Herring , devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org References: <20180830190523.31474-1-robh@kernel.org> <20180830190523.31474-2-robh@kernel.org> From: Frank Rowand Message-ID: Date: Tue, 4 Sep 2018 18:49:47 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180830190523.31474-2-robh@kernel.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/30/18 12:05, Rob Herring wrote: > Scan the root node properties (#{size,address}-cells) earlier, ^^^^^^^ before mdesc->dt_fixup() is called > so that > the dt_root_addr_cells and dt_root_size_cells variables are initialized > and can be used. by mdesc->dt_fixup() > > Cc: Frank Rowand > Signed-off-by: Rob Herring > --- > drivers/of/fdt.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > Moving early_init_dt_scan_root() to inside early_init_dt_verify() puts something that has nothing to do with verifying the fdt into a function whose purpose is the verify. It hides the side effect of initializing the dt_root_addr_cells and dt_root_size_cells variables. I suggest creating a new function early_init_dt_scan_init_pre_dt_fixup(), move the chunk of code there instead of to early_init_dt_scan_nodes(), and call the new function from setup_machine_fdt(), just before calling mdesc->dt_fixup(). This would be a little bit more code, but more clearly showing the intent. -Frank > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > index 800ad252cf9c..49abe18f1bde 100644 > --- a/drivers/of/fdt.c > +++ b/drivers/of/fdt.c > @@ -1215,6 +1215,10 @@ bool __init early_init_dt_verify(void *params) > initial_boot_params = params; > of_fdt_crc32 = crc32_be(~0, initial_boot_params, > fdt_totalsize(initial_boot_params)); > + > + /* Initialize {size,address}-cells info */ > + of_scan_flat_dt(early_init_dt_scan_root, NULL); > + > return true; > } > > @@ -1224,9 +1228,6 @@ void __init early_init_dt_scan_nodes(void) > /* Retrieve various information from the /chosen node */ > of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line); > > - /* Initialize {size,address}-cells info */ > - of_scan_flat_dt(early_init_dt_scan_root, NULL); > - > /* Setup memory, calling early_init_dt_add_memory_arch */ > of_scan_flat_dt(early_init_dt_scan_memory, NULL); > } >