From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pali =?utf-8?B?Um9ow6Fy?= Subject: Re: [PATCH 1/5] arm: devtree: Set system_rev from DT "/revision" Date: Thu, 24 Dec 2015 20:02:37 +0100 Message-ID: <20151224190237.GA17343@pali> References: <1436214373-12969-1-git-send-email-pali.rohar@gmail.com> <1436214373-12969-2-git-send-email-pali.rohar@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1436214373-12969-2-git-send-email-pali.rohar@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Russell King , Laura Abbott , Grant Likely , Rob Herring , Will Deacon , Ivaylo Dimitrov , Sebastian Reichel , Pavel Machek , Tony Lindgren , Andreas =?utf-8?Q?F=C3=A4rber?= Cc: linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: linux-omap@vger.kernel.org T24gTW9uZGF5IDA2IEp1bHkgMjAxNSAyMjoyNjowOSBQYWxpIFJvaMOhciB3cm90ZToKPiBXaXRo IHRoaXMgcGF0Y2ggIi9yZXZpc2lvbiIgRFQgZW50cnkgaXMgdXNlZCB0byBzZXQgZ2xvYmFsIHN5 c3RlbV9yZXYKPiB2YXJpYWJsZS4gRFQgIi9yZXZpc2lvbiIgaXMgZXhwZWN0ZWQgdG8gYmUgdTMy IG51bWVyaWMgdmFsdWUuCj4gCj4gVE9ETzogYWRkIGRvY3VtZW50YXRpb24KPiAKPiBTaWduZWQt b2ZmLWJ5OiBQYWxpIFJvaMOhciA8cGFsaS5yb2hhckBnbWFpbC5jb20+Cj4gLS0tCj4gIGFyY2gv YXJtL2tlcm5lbC9kZXZ0cmVlLmMgfCAgIDEyICsrKysrKysrKystLQo+ICAxIGZpbGUgY2hhbmdl ZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvYXJj aC9hcm0va2VybmVsL2RldnRyZWUuYyBiL2FyY2gvYXJtL2tlcm5lbC9kZXZ0cmVlLmMKPiBpbmRl eCAxMWM1NGRlLi43ZDgyNzQ5IDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2tlcm5lbC9kZXZ0cmVl LmMKPiArKysgYi9hcmNoL2FybS9rZXJuZWwvZGV2dHJlZS5jCj4gQEAgLTE5LDYgKzE5LDcgQEAK PiAgI2luY2x1ZGUgPGxpbnV4L29mX2lycS5oPgo+ICAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZv cm0uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgo+ICsjaW5jbHVkZSA8bGludXgvbGliZmR0 X2Vudi5oPgo+ICAKPiAgI2luY2x1ZGUgPGFzbS9jcHV0eXBlLmg+Cj4gICNpbmNsdWRlIDxhc20v c2V0dXAuaD4KPiBAQCAtMjYsNiArMjcsNyBAQAo+ICAjaW5jbHVkZSA8YXNtL3NtcF9wbGF0Lmg+ Cj4gICNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+Cj4gICNpbmNsdWRlIDxhc20vbWFjaC10eXBl cy5oPgo+ICsjaW5jbHVkZSA8YXNtL3N5c3RlbV9pbmZvLmg+Cj4gIAo+ICAKPiAgI2lmZGVmIENP TkZJR19TTVAKPiBAQCAtMjA0LDYgKzIwNiw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICogX19pbml0 IGFyY2hfZ2V0X25leHRfbWFjaChjb25zdCBjaGFyICpjb25zdCAqKm1hdGNoKQo+ICBjb25zdCBz dHJ1Y3QgbWFjaGluZV9kZXNjICogX19pbml0IHNldHVwX21hY2hpbmVfZmR0KHVuc2lnbmVkIGlu dCBkdF9waHlzKQo+ICB7Cj4gIAljb25zdCBzdHJ1Y3QgbWFjaGluZV9kZXNjICptZGVzYywgKm1k ZXNjX2Jlc3QgPSBOVUxMOwo+ICsJdW5zaWduZWQgbG9uZyBkdF9yb290Owo+ICsJY29uc3QgdTMy ICpyZXY7Cj4gIAo+ICAjaWZkZWYgQ09ORklHX0FSQ0hfTVVMVElQTEFURk9STQo+ICAJRFRfTUFD SElORV9TVEFSVChHRU5FUklDX0RULCAiR2VuZXJpYyBEVCBiYXNlZCBzeXN0ZW0iKQo+IEBAIC0y MTUsMTcgKzIxOSwxNiBAQCBjb25zdCBzdHJ1Y3QgbWFjaGluZV9kZXNjICogX19pbml0IHNldHVw X21hY2hpbmVfZmR0KHVuc2lnbmVkIGludCBkdF9waHlzKQo+ICAJaWYgKCFkdF9waHlzIHx8ICFl YXJseV9pbml0X2R0X3ZlcmlmeShwaHlzX3RvX3ZpcnQoZHRfcGh5cykpKQo+ICAJCXJldHVybiBO VUxMOwo+ICAKPiArCWR0X3Jvb3QgPSBvZl9nZXRfZmxhdF9kdF9yb290KCk7Cj4gIAltZGVzYyA9 IG9mX2ZsYXRfZHRfbWF0Y2hfbWFjaGluZShtZGVzY19iZXN0LCBhcmNoX2dldF9uZXh0X21hY2gp Owo+ICAKPiAgCWlmICghbWRlc2MpIHsKPiAgCQljb25zdCBjaGFyICpwcm9wOwo+ICAJCWludCBz aXplOwo+IC0JCXVuc2lnbmVkIGxvbmcgZHRfcm9vdDsKPiAgCj4gIAkJZWFybHlfcHJpbnQoIlxu RXJyb3I6IHVucmVjb2duaXplZC91bnN1cHBvcnRlZCAiCj4gIAkJCSAgICAiZGV2aWNlIHRyZWUg Y29tcGF0aWJsZSBsaXN0OlxuWyAiKTsKPiAgCj4gLQkJZHRfcm9vdCA9IG9mX2dldF9mbGF0X2R0 X3Jvb3QoKTsKPiAgCQlwcm9wID0gb2ZfZ2V0X2ZsYXRfZHRfcHJvcChkdF9yb290LCAiY29tcGF0 aWJsZSIsICZzaXplKTsKPiAgCQl3aGlsZSAoc2l6ZSA+IDApIHsKPiAgCQkJZWFybHlfcHJpbnQo IiclcycgIiwgcHJvcCk7Cj4gQEAgLTI0Niw1ICsyNDksMTAgQEAgY29uc3Qgc3RydWN0IG1hY2hp bmVfZGVzYyAqIF9faW5pdCBzZXR1cF9tYWNoaW5lX2ZkdCh1bnNpZ25lZCBpbnQgZHRfcGh5cykK PiAgCS8qIENoYW5nZSBtYWNoaW5lIG51bWJlciB0byBtYXRjaCB0aGUgbWRlc2Mgd2UncmUgdXNp bmcgKi8KPiAgCV9fbWFjaGluZV9hcmNoX3R5cGUgPSBtZGVzYy0+bnI7Cj4gIAo+ICsJLyogU2V0 IHN5c3RlbSByZXZpc2lvbiBmcm9tIERUICovCj4gKwlyZXYgPSBvZl9nZXRfZmxhdF9kdF9wcm9w KGR0X3Jvb3QsICJyZXZpc2lvbiIsIE5VTEwpOwo+ICsJaWYgKHJldikKPiArCQlzeXN0ZW1fcmV2 ID0gZmR0MzJfdG9fY3B1KCpyZXYpOwo+ICsKPiAgCXJldHVybiBtZGVzYzsKPiAgfQoKVGhpcyBw YXRjaCBhbmQgc2Vjb25kIG9uZSAod2l0aCBzdWJqZWN0ICJbUEFUQ0ggMi81XSBhcm06IGJvb3Q6 IGNvbnZlcnQKQVRBR19SRVZJU0lPTiB0byBEVCAiL3JldmlzaW9uIiBlbnRyeSIpIGFyZSBzdGls bCBuZWVkZWQuCgpBcmUgdGhlcmUgYW55IG9iamVjdGlvbnMgZm9yIHRoZW0/IElmIG5vdCwgSSB3 aWxsIGFkZCBtaXNzaW5nIERUCmRvY3VtZW50YXRpb24gYW5kIHdpbGwgcmVzZW5kIHRoZW0uCgot LSAKUGFsaSBSb2jDoXIKcGFsaS5yb2hhckBnbWFpbC5jb20KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: pali.rohar@gmail.com (Pali =?utf-8?B?Um9ow6Fy?=) Date: Thu, 24 Dec 2015 20:02:37 +0100 Subject: [PATCH 1/5] arm: devtree: Set system_rev from DT "/revision" In-Reply-To: <1436214373-12969-2-git-send-email-pali.rohar@gmail.com> References: <1436214373-12969-1-git-send-email-pali.rohar@gmail.com> <1436214373-12969-2-git-send-email-pali.rohar@gmail.com> Message-ID: <20151224190237.GA17343@pali> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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. -- Pali Roh?r pali.rohar at gmail.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932948AbbLXTCt (ORCPT ); Thu, 24 Dec 2015 14:02:49 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:36302 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754761AbbLXTCq (ORCPT ); Thu, 24 Dec 2015 14:02:46 -0500 Date: Thu, 24 Dec 2015 20:02:37 +0100 From: Pali =?utf-8?B?Um9ow6Fy?= To: Russell King , Laura Abbott , Grant Likely , Rob Herring , Will Deacon , Ivaylo Dimitrov , Sebastian Reichel , Pavel Machek , Tony Lindgren , Andreas =?utf-8?Q?F=C3=A4rber?= Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org Subject: Re: [PATCH 1/5] arm: devtree: Set system_rev from DT "/revision" Message-ID: <20151224190237.GA17343@pali> References: <1436214373-12969-1-git-send-email-pali.rohar@gmail.com> <1436214373-12969-2-git-send-email-pali.rohar@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1436214373-12969-2-git-send-email-pali.rohar@gmail.com> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. -- Pali Rohár pali.rohar@gmail.com