Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752794AbbL1VB3 (ORCPT ); Mon, 28 Dec 2015 16:01:29 -0500 Received: from mail-pf0-f180.google.com ([209.85.192.180]:34799 "EHLO mail-pf0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752500AbbL1VBZ (ORCPT ); Mon, 28 Dec 2015 16:01:25 -0500 Message-ID: <5681A322.2090204@gmail.com> Date: Mon, 28 Dec 2015 13:01:22 -0800 From: Frank Rowand Reply-To: frowand.list@gmail.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: =?UTF-8?B?UGFsaSBSb2jDoXI=?= CC: Russell King , Laura Abbott , Grant Likely , Rob Herring , Will Deacon , Ivaylo Dimitrov , Sebastian Reichel , Pavel Machek , Tony Lindgren , =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= , linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Devicetree Spec List Subject: Re: [PATCH 1/5] arm: devtree: Set system_rev from DT "/revision" References: <1436214373-12969-1-git-send-email-pali.rohar@gmail.com> <1436214373-12969-2-git-send-email-pali.rohar@gmail.com> <20151224190237.GA17343@pali> In-Reply-To: <20151224190237.GA17343@pali> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3329 Lines: 95 Adding devicetree-spec, and commenting below. On 12/24/2015 11:02 AM, Pali Rohár wrote: > On Monday 06 July 2015 22:26:09 Pali Rohár wrote: >> With this patch "/revision" DT entry is used to set global system_rev >> variable. DT "/revision" is expected to be u32 numeric value. >> >> TODO: add documentation >> >> Signed-off-by: Pali Rohár >> --- >> arch/arm/kernel/devtree.c | 12 ++++++++++-- >> 1 file changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c >> index 11c54de..7d82749 100644 >> --- a/arch/arm/kernel/devtree.c >> +++ b/arch/arm/kernel/devtree.c >> @@ -19,6 +19,7 @@ >> #include >> #include >> #include >> +#include >> >> #include >> #include >> @@ -26,6 +27,7 @@ >> #include >> #include >> #include >> +#include >> >> >> #ifdef CONFIG_SMP >> @@ -204,6 +206,8 @@ static const void * __init arch_get_next_mach(const char *const **match) >> const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys) >> { >> const struct machine_desc *mdesc, *mdesc_best = NULL; >> + unsigned long dt_root; >> + const u32 *rev; >> >> #ifdef CONFIG_ARCH_MULTIPLATFORM >> DT_MACHINE_START(GENERIC_DT, "Generic DT based system") >> @@ -215,17 +219,16 @@ const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys) >> if (!dt_phys || !early_init_dt_verify(phys_to_virt(dt_phys))) >> return NULL; >> >> + dt_root = of_get_flat_dt_root(); >> mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach); >> >> if (!mdesc) { >> const char *prop; >> int size; >> - unsigned long dt_root; >> >> early_print("\nError: unrecognized/unsupported " >> "device tree compatible list:\n[ "); >> >> - dt_root = of_get_flat_dt_root(); >> prop = of_get_flat_dt_prop(dt_root, "compatible", &size); >> while (size > 0) { >> early_print("'%s' ", prop); >> @@ -246,5 +249,10 @@ const struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys) >> /* Change machine number to match the mdesc we're using */ >> __machine_arch_type = mdesc->nr; >> >> + /* Set system revision from DT */ >> + rev = of_get_flat_dt_prop(dt_root, "revision", NULL); >> + if (rev) >> + system_rev = fdt32_to_cpu(*rev); >> + >> return mdesc; >> } > > This patch and second one (with subject "[PATCH 2/5] arm: boot: convert > ATAG_REVISION to DT "/revision" entry") are still needed. > > Are there any objections for them? If not, I will add missing DT > documentation and will resend them. Patch 2/5 copies the value from ATAG_REVISION into the fdt "/revision" property. If the use of /revision is limited to being a location to hold an ATAG value to pass to the global variable system_rev, then it would make sense to just copy directly from the ATAG value into system_rev in the same board file where you are copying the ATAGs. -Frank -- 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/