From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CD807C3DA79 for ; Mon, 15 Jan 2024 17:09:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=FasplySPJA2iTPqpM+wfQ5ggUxSPK4stF82WlLbqqko=; b=YENq12KCZ6JaT7 Nb3zb5an/K2xIZUIaOKiwlMCqObsXQQG/RVrZ0gL8IkFRpxTXudCbi48KpgzOcqWSWfRKxwVC0b6s l/7H6/bbS/d3D2FNmRMmNxY22Q6ZbyMV0NtlveAEgHY6H2TXcBUxSjQQJttdYfjfmNwYIvgvs0I2c Ok0P6Vi2Wb1Ac0apeVit3gdW4bUW9kXXjKP3RcGPADsT3NddnjiyUTOhDMIP06wLy9CooErbCnd+M fBEpcKLALOEOwnYdWXVOj55Fq6m7WWsI+hJNLp5AakoMXdIigKhfLb58cdn3Ns5unKHWlD7fMzbMp F+KvPlYjrO0qwkwc7aMA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPQSW-009m8F-1c; Mon, 15 Jan 2024 17:09:12 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rPQSS-009m7R-0O; Mon, 15 Jan 2024 17:09:09 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 8385EB80C94; Mon, 15 Jan 2024 17:09:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9DCA7C433F1; Mon, 15 Jan 2024 17:09:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1705338545; bh=EqOMEzkyzNYto3UmIip9XB66HC1aMCqtxgSe2FiBi4I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mjvCtXilB+F7tlBXPufpFIoL+uZ5s6bm559DwsOVDAOKL0F+CaraYCpFlmLbfF6/Q EjC5Fy6G41QsIgoRkD35EDwWOrihkeebauqiWVXBfQrZa1+0Y/RASisVtVmiLTuRk6 eGhdOYUpbvtNChB0w/5pkNrmpzNgRHEB7wcdyCpqqI1qtqrYlQLBHHIRt9MqY0ofYh msitEc9VYqPft14r9x/yRjnosv7EZAa3ZkgZZaOK1FsLWl6iC8RmSJqovIlL/18jk/ F+22h92t37oDYAe8zT+YeBvv+/CNODIP/dYDYB9N1ce1xsApQ1v7J/gnxDe6pxWzoO fhYcgGy3ZzBnA== Date: Mon, 15 Jan 2024 11:09:03 -0600 From: Rob Herring To: =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Miquel Raynal , Srinivas Kandagatla , Krzysztof Kozlowski , Conor Dooley , Greg Kroah-Hartman , Michael Walle , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u-boot@lists.denx.de, =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Subject: Re: [PATCH V3 1/6] dt-bindings: nvmem: layouts: add U-Boot environment variables layout Message-ID: <20240115170903.GA911971-robh@kernel.org> References: <20231221173421.13737-1-zajec5@gmail.com> <20240104001129.GA2045237-robh@kernel.org> <20240104085839.5624c354@xps-13> <8c8d2d38-faf2-47f2-bfbf-2e4842dded47@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <8c8d2d38-faf2-47f2-bfbf-2e4842dded47@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240115_090908_447117_F87ABD6D X-CRM114-Status: GOOD ( 42.56 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKYW4gMDQsIDIwMjQgYXQgMTA6MTA6MTNBTSArMDEwMCwgUmFmYcWCIE1pxYJlY2tp IHdyb3RlOgo+IE9uIDQuMDEuMjAyNCAwODo1OCwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiA+IHJv YmhAa2VybmVsLm9yZyB3cm90ZSBvbiBXZWQsIDMgSmFuIDIwMjQgMTc6MTE6MjkgLTA3MDA6Cj4g PiA+IE9uIFRodSwgRGVjIDIxLCAyMDIzIGF0IDA2OjM0OjE2UE0gKzAxMDAsIFJhZmHFgiBNacWC ZWNraSB3cm90ZToKPiA+ID4gPiBGcm9tOiBSYWZhxYIgTWnFgmVja2kgPHJhZmFsQG1pbGVja2ku cGw+Cj4gPiA+ID4gCj4gPiA+ID4gVS1Cb290IGVudiBkYXRhIGlzIGEgd2F5IG9mIHN0b3Jpbmcg ZmlybXdhcmUgdmFyaWFibGVzLiBJdCdzIGEgZm9ybWF0Cj4gPiA+ID4gdGhhdCBjYW4gYmUgdXNl ZCBvZiB0b3Agb2YgdmFyaW91cyBzdG9yYWdlIGRldmljZXMuIEl0cyBiaW5kaW5nIHNob3VsZAo+ ID4gPiA+IGJlIGFuIE5WTUVNIGxheW91dCBpbnN0ZWFkIG9mIGEgc3RhbmRhbG9uZSBkZXZpY2Uu Cj4gPiA+ID4gCj4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIGxheW91dCBiaW5kaW5nIHdoaWNoIGFs bG93cyB1c2luZyBpdCBvbiB0b3Agb2YgTVREIE5WTUVNCj4gPiA+ID4gZGV2aWNlIGFzIHdlbGwg YXMgYW55IG90aGVyLiBBdCB0aGUgc2FtZSB0aW1lIGl0IGRlcHJlY2F0ZXMgdGhlIG9sZAo+ID4g PiA+IGNvbWJpbmVkIGJpbmRpbmcuCj4gPiA+IAo+ID4gPiBJIGRvbid0IHVuZGVyc3RhbmQgdGhl IGlzc3VlLiBGcm9tIGEgRFQgcGVyc3BlY3RpdmUsIHRoZXJlIGlzbid0LiBBCj4gPiA+IHBhcnRp dGlvbiBpcyBub3QgYSBkZXZpY2UsIGJ1dCBpcyBkZXNjcmliaW5nIHRoZSBsYXlvdXQgb2Ygc3Rv cmFnZQo+ID4gPiBhbHJlYWR5Lgo+ID4gCj4gPiBBY3R1YWxseSBJIHRoaW5rIHdoYXQgUmFmYcWC IHdhbnRzIHRvIGRvIGdvZXMgaW4gdGhlIHJpZ2h0IGRpcmVjdGlvbiBidXQKPiA+IEkgYWxzbyB1 bmRlcnN0YW5kIGZyb20gYSBiaW5kaW5nIHBlcnNwZWN0aXZlIGl0IG1heSBiZSBhIGxpdHRsZQo+ ID4gY29uZnVzaW5nLCBldmVuIG1vcmUgaWYgd2UgY29uc2lkZXIgIk5WTUVNIiBhIExpbnV4IHNw ZWNpZmljIGNvbmNlcHQuCj4gPiAKPiA+IFRoZXJlIGlzIHRvZGF5IGEgInUtYm9vdCBlbnYiIE5W TUVNICpkZXZpY2UqIGRlc2NyaXB0aW9uIHdoaWNoCj4gPiBhbG1vc3Qgc2l0cyBhdCB0aGUgc2Ft ZSBsZXZlbCBhcyBlZy4gYW4gZWVwcm9tIGRldmljZS4gV2UgY2Fubm90Cj4gPiBjb21wYXJlICJh biBlZXByb20gZGV2aWNlIiBhbmQgImEgdS1ib290IGVudmlyb25tZW50IiBvZiBjb3Vyc2UuIEJ1 dAo+ID4gdGhhdCdzIHRydWx5IHdoYXQgaXMgY3VycmVudGx5IGRlc2NyaWJlZC4KPiA+IAo+ID4g KiBDdXJyZW50IHNpdHVhdGlvbgo+ID4gCj4gPiAJRmxhc2ggZGV2aWNlIC0+IFUtQm9vdCBlbnYg bGF5b3V0IC0+IE5WTUVNIGNlbGxzCgpJc24ndCBpdD86CgpGbGFzaCBkZXZpY2UgLT4gZml4ZWQt cGFydGl0aW9ucyAtPiBVLUJvb3QgZW52IGxheW91dCAtPiBOVk1FTSBjZWxscwoKPiA+IAo+ID4g KiBJbXByb3ZlZCBzaXR1YXRpb24KPiA+IAo+ID4gCUFueSBzdG9yYWdlIGRldmljZSAtPiBOVk1F TSAtPiBVLUJvb3QgZW52IGxheW91dCAtPiBOVk1FTSBjZWxscwoKV2h5IGlzIHRoaXMgYmV0dGVy PyBXZSBkb24ndCBuZWVkIGEgY29udGFpbmVyIHRvIHNheSAndGhpcyBpcyBOVk1FTSAKc3R1ZmYn IG9yICd0aGlzIGlzIE1URCBzdHVmZicuICdVLUJvb3QgZW52IGxheW91dCcgY2FuIHRlbGwgdXMg J3RoaXMgaXMgCk5WTUVNIHN0dWZmJyBvciB3aGF0ZXZlciB0aGUga2VybmVsIGRlY2lkZXMgaW4g dGhlIGZ1dHVyZS4KCj4gPiAKPiA+IFRoZSBsYXR0ZXIgaXMgb2YgY291cnNlIHRoZSBtb3N0IHJl bGV2YW50IGRlc2NyaXB0aW9uIGFzIHdlIGV4cGVjdAo+ID4gc3RvcmFnZSBkZXZpY2VzIHRvIGV4 cG9zZSBhIHN0b3JhZ2UtYWdub3N0aWMgaW50ZXJmYWNlIChOVk1FTSBpbgo+ID4gdGhpcyBjYXNl KSB3aGljaCBjYW4gdGhlbiBiZSBwYXJzZWQgKGJ5IE5WTUVNIGxheW91dHMpIGluIGEgc3RvcmFn ZQo+ID4gYWdub3N0aWMgd2F5Lgo+ID4gCj4gPiBJbiB0aGUgY3VycmVudCBjYXNlLCB0aGUgY3Vy cmVudCBVLUJvb3QgZW52IGJpbmRpbmcgdGVsbHMgcGVvcGxlIHRvCj4gPiBkZWNsYXJlIHRoZSBl bnYgbGF5b3V0IG9uIHRvcCBvZiBhIGZsYXNoIGRldmljZSAob25seSkuIFRoZSBjdXJyZW50Cj4g PiBkZXNjcmlwdGlvbiBhbHNvIGV4cGVjdHMgYSBwYXJ0aXRpb24gbm9kZSB3aGljaCBpcyB0eXBp Y2FsIHRvIGZsYXNoCj4gPiBkZXZpY2VzLiBXaGVyZWFzIHdoYXQgd2Ugc2hvdWxkIGhhdmUgZGVz Y3JpYmVkIGluIHRoZSBmaXJzdCBwbGFjZSBpcyBhCj4gPiBsYXlvdXQgdGhhdCBhcHBsaWVzIG9u IGFueSBraW5kIG9mIE5WTUVNIGRldmljZS4KPiA+IAo+ID4gQm9udXMgcG9pbnQ6IFdlJ3ZlIGJl ZW4gd29ya2luZyB0aGUgbGFzdCBjb3VwbGUgeWVhcnMgb24gY2xhcmlmeWluZwo+ID4gYmluZGlu Z3MsIGVzcGVjaWFsbHkgd2l0aCBtdGQgcGFydGl0aW9ucyAod2l0aCB0aGUgcGFydGl0aW9uc3t9 Cj4gPiBjb250YWluZXIpIGFuZCBOVk1FTSBsYXlvdXRzICh3aXRoIHRoZSBudm1lbS1sYXlvdXR7 fSBjb250YWluZXIpLgo+ID4gVGhlIHN3aXRjaCBwcm9wb3NlZCBpbiB0aGlzIHBhdGNoIG1ha2Vz IHVzZSBvZiB0aGUgbGF0dGVyLCBvZiBjb3Vyc2UuCj4gCj4gVGhhbmtzIE1pcXXDqGwgZm9yIGZp bGxpbmcgYml0cyBJIG1pc3NlZCBpbiBjb21taXQgZGVzY3JpcHRpb24uIERlc3BpdGUKPiB5ZWFy cyBpbiBMaW51eC9EVCBJIHN0aWxsIHN0cnVnZ2xlIHdpdGggbW9yZSBjb21wbGV4IGRlc2lnbnMK PiBkb2N1bWVudGF0aW9uLgo+IAo+IAo+IEFzIHBlciBSb2IncyBjb21tZW50IEkgdGhpbmsgSSBz ZWUgaGlzIHBvaW50IGFuZCBhIHBvc3NpYmxlIGRlc2lnbgo+IGNvbmZ1c2lvbi4gSWYgeW91IGxv b2sgZnJvbSBhIHB1cmUgRFQgcGVyc3BlY3RpdmUgdGhlbiAicGFydGl0aW9ucyIgYW5kCj4gIm52 bWVtLWxheW91dCIgc2VydmUgYSB2ZXJ5IHNpbWlsYXIgcHVycG9zZS4gVGhleSBkZXNjcmliZSBk ZXZpY2UncyBkYXRhCj4gY29udGVudCBzdHJ1Y3R1cmUuIEZvciBmaXhlZCBzdHJ1Y3R1cmVzIHdl IGhhdmUgdmVyeSBzaW1pbGFyCj4gImZpeGVkLXBhcnRpdGlvbnMiIGFuZCAiZml4ZWQtY2VsbHMi Lgo+IAo+IElmIHdlIHdlcmUgdG8gZGVzaWduIHRob3NlIGJpbmRpbmdzIHRvZGF5IEknbSB3b25k ZXJpbmcgaWYgd2UgY291bGRuJ3QKPiBoYXZlIHMvcGFydGl0aW9ucy9sYXlvdXQvIGFuZCBzL252 bWVtLWxheW91dC9sYXlvdXQvLgoKV2h5IT8gSXQgaXMganVzdCBhIG5hbWUsIGFuZCB3ZSBjYW4n dCBnZXQgcmlkIG9mIHRoZSBvbGQgbmFtZXMuIFdlIGRvbid0IApuZWVkIDIgbmFtZXMuCgo+IFJv Yjogb3RoZXIgdGhhbiBoYXZpbmcgZGlmZmVyZW50IGJpbmRpbmdzIGZvciBNVEQgdnMuIE5WTUVN IGxheW91dHMgSQo+IHRoaW5rIHRoZXkgb3ZlcmFsbCBkZXNpZ24gbWFrZXMgc2Vuc2UuIEEgc2lu Z2xlIGRldmljZSBtYXkgaGF2ZSBjb250ZW50Cj4gc3RydWN0dXJpemVkIG9uIG1vcmUgdGhhbiAx IGxldmVsOgo+IDEuIFlvdSBtYXkgaGF2ZSBmaXhlZCBsYXlvdXQgYXQgdG9wIGxldmVsIChtdWx0 aXBsZSBwYXJ0aXRpb25zKQo+IDIuIFNpbmdsZSBwYXJ0aXRpb25zIG1heSBoYXZlIHRoZWlyIG93 biBsYXlvdXRzIChsaWtlIFUtQm9vdCBlbnYgZGF0YSkKClN1cmUuIFBhcnRpdGlvbnMgaXMgZm9y IDEgYW5kIExheW91dHMgaXMgZm9yIDIuCgo+IE1heWJlIGlkZWFsbHkgYWJvdmUgc2hvdWxkIGxv b2sgbW9yZSBsaWtlOgo+IAo+IGZsYXNoQDAgewo+IAljb21wYXRpYmxlID0gIjxmbGFzaC1jb21w YXRpYmxlPiI7Cj4gCj4gCWxheW91dCB7Cj4gCQljb21wYXRpYmxlID0gImZpeGVkLWxheW91dCI7 CgpXaHkgZG9lcyAncGFydGl0aW9ucycgYW5kICdmaXhlZC1wYXJ0aXRpb25zJyBub3Qgd29yayBo ZXJlPwoKPiAJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+IAkJI3NpemUtY2VsbHMgPSA8MT47Cj4g Cj4gCQlwYXJ0aXRpb25AMCB7Cj4gCQkJcmVnID0gPDB4MCAweDQwMDAwPjsKPiAJCQlsYWJlbCA9 ICJ1LWJvb3QiOwo+IAkJfTsKPiAKPiAJCXBhcnRpdGlvbkA0MDAwMCB7Cj4gCQkJcmVnID0gPDB4 NDAwMDAgMHgxMDAwMD47Cj4gCQkJbGFiZWwgPSAidS1ib290LWVudiI7Cj4gCj4gCQkJbGF5b3V0 IHsKPiAJCQkJY29tcGF0aWJsZSA9ICJ1LWJvb3QsZW52LWxheW91dCI7Cj4gCQkJfTsKPiAJCX07 Cj4gCj4gCQlwYXJ0aXRpb25ANTAwMDAgewo+IAkJCXJlZyA9IDwweDUwMDAwIDB4MTAwMDAwPjsK PiAJCQlsYWJlbCA9ICJ1LWJvb3QiOwo+IAkJfTsKPiAJfTsKPiB9Owo+IAo+IGJ1dCBJIGNhbiBj bGVhcmx5IHNlZSBhIHVzZSBmb3IgbmVzdGVkICJsYXlvdXQicy4gQXMgSSBzYWlkIG1heWJlIHdl Cj4ganVzdCBzaG91bGRuJ3QgYmUgc28gb3BlbiBpbiBjYWxsaW5nIHRob3NlIE1URCBvciBOVk1F TSBkZXZpY2VzIGFzIHRoYXQKPiBpcyBraW5kIG9mIExpbnV4IHNwZWNpZmljLgoKVGhlIG92ZXJh bGwgc3RydWN0dXJlIHNob3VsZCBiZSBhZ25vc3RpYyB0byB0aGUgc3Vic3lzdGVtLiBTcGVjaWZp YyAKY29tcGF0aWJsZXMgbGlrZSAndS1ib290LGVudicgY2FuIGJlIHRpZWQgdG8gYSBzdWJzeXN0 ZW0uCgpNYXliZSBzb21lIHRoaW5ncyBuZWVkIHRvIGJlIGJvdGggTVREIGFuZCBOVk1FTS4gTVRE IHRvIG9wZXJhdGUgb24gdGhlIApvcGFndWUgcmVnaW9uIGFuZCBOVk1FTSB0byBhY2Nlc3MgdGhl IGNvbnRlbnRzLgoKCj4gSSdtIG5vdCBzdXJlIGlmIHdlIHNob3VsZCB0cnkgcmVuYW1pbmcgIm52 bWVtLWxheW91dCIgdG8gImxheW91dCIgb3IKPiAicGFydGl0aW9ucyIgaW4gc2ltaWxhciB3YXkg YXQgdGhpcyBwb2ludC4KCllvdSBjYW4ndCByZW5hbWUuIEl0J3MgYW4gQUJJIHRob3VnaCBtYXli ZSB0aGUgd2hvbGUgIm52bWVtLWxheW91dCIgaXMgCm5ldyBlbm91Z2ggd2UgY2FuLiBJdCdzIGxv b2tpbmcgbGlrZSBpdCB3YXMgYSBtaXN0YWtlIHRvIGFjY2VwdCBhbnkgb2YgCnRoaXMuCgpSb2IK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpM aW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 53EAAC3DA79 for ; Mon, 15 Jan 2024 17:09:12 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BCDFC8785C; Mon, 15 Jan 2024 18:09:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="mjvCtXil"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5D94886EF1; Mon, 15 Jan 2024 18:09:09 +0100 (CET) Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 2AA278785F for ; Mon, 15 Jan 2024 18:09:06 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=kernel.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=robh@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 8385EB80C94; Mon, 15 Jan 2024 17:09:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9DCA7C433F1; Mon, 15 Jan 2024 17:09:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1705338545; bh=EqOMEzkyzNYto3UmIip9XB66HC1aMCqtxgSe2FiBi4I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mjvCtXilB+F7tlBXPufpFIoL+uZ5s6bm559DwsOVDAOKL0F+CaraYCpFlmLbfF6/Q EjC5Fy6G41QsIgoRkD35EDwWOrihkeebauqiWVXBfQrZa1+0Y/RASisVtVmiLTuRk6 eGhdOYUpbvtNChB0w/5pkNrmpzNgRHEB7wcdyCpqqI1qtqrYlQLBHHIRt9MqY0ofYh msitEc9VYqPft14r9x/yRjnosv7EZAa3ZkgZZaOK1FsLWl6iC8RmSJqovIlL/18jk/ F+22h92t37oDYAe8zT+YeBvv+/CNODIP/dYDYB9N1ce1xsApQ1v7J/gnxDe6pxWzoO fhYcgGy3ZzBnA== Date: Mon, 15 Jan 2024 11:09:03 -0600 From: Rob Herring To: =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Miquel Raynal , Srinivas Kandagatla , Krzysztof Kozlowski , Conor Dooley , Greg Kroah-Hartman , Michael Walle , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u-boot@lists.denx.de, =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Subject: Re: [PATCH V3 1/6] dt-bindings: nvmem: layouts: add U-Boot environment variables layout Message-ID: <20240115170903.GA911971-robh@kernel.org> References: <20231221173421.13737-1-zajec5@gmail.com> <20240104001129.GA2045237-robh@kernel.org> <20240104085839.5624c354@xps-13> <8c8d2d38-faf2-47f2-bfbf-2e4842dded47@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8c8d2d38-faf2-47f2-bfbf-2e4842dded47@gmail.com> X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean On Thu, Jan 04, 2024 at 10:10:13AM +0100, Rafał Miłecki wrote: > On 4.01.2024 08:58, Miquel Raynal wrote: > > robh@kernel.org wrote on Wed, 3 Jan 2024 17:11:29 -0700: > > > On Thu, Dec 21, 2023 at 06:34:16PM +0100, Rafał Miłecki wrote: > > > > From: Rafał Miłecki > > > > > > > > U-Boot env data is a way of storing firmware variables. It's a format > > > > that can be used of top of various storage devices. Its binding should > > > > be an NVMEM layout instead of a standalone device. > > > > > > > > This patch adds layout binding which allows using it on top of MTD NVMEM > > > > device as well as any other. At the same time it deprecates the old > > > > combined binding. > > > > > > I don't understand the issue. From a DT perspective, there isn't. A > > > partition is not a device, but is describing the layout of storage > > > already. > > > > Actually I think what Rafał wants to do goes in the right direction but > > I also understand from a binding perspective it may be a little > > confusing, even more if we consider "NVMEM" a Linux specific concept. > > > > There is today a "u-boot env" NVMEM *device* description which > > almost sits at the same level as eg. an eeprom device. We cannot > > compare "an eeprom device" and "a u-boot environment" of course. But > > that's truly what is currently described. > > > > * Current situation > > > > Flash device -> U-Boot env layout -> NVMEM cells Isn't it?: Flash device -> fixed-partitions -> U-Boot env layout -> NVMEM cells > > > > * Improved situation > > > > Any storage device -> NVMEM -> U-Boot env layout -> NVMEM cells Why is this better? We don't need a container to say 'this is NVMEM stuff' or 'this is MTD stuff'. 'U-Boot env layout' can tell us 'this is NVMEM stuff' or whatever the kernel decides in the future. > > > > The latter is of course the most relevant description as we expect > > storage devices to expose a storage-agnostic interface (NVMEM in > > this case) which can then be parsed (by NVMEM layouts) in a storage > > agnostic way. > > > > In the current case, the current U-Boot env binding tells people to > > declare the env layout on top of a flash device (only). The current > > description also expects a partition node which is typical to flash > > devices. Whereas what we should have described in the first place is a > > layout that applies on any kind of NVMEM device. > > > > Bonus point: We've been working the last couple years on clarifying > > bindings, especially with mtd partitions (with the partitions{} > > container) and NVMEM layouts (with the nvmem-layout{} container). > > The switch proposed in this patch makes use of the latter, of course. > > Thanks Miquèl for filling bits I missed in commit description. Despite > years in Linux/DT I still struggle with more complex designs > documentation. > > > As per Rob's comment I think I see his point and a possible design > confusion. If you look from a pure DT perspective then "partitions" and > "nvmem-layout" serve a very similar purpose. They describe device's data > content structure. For fixed structures we have very similar > "fixed-partitions" and "fixed-cells". > > If we were to design those bindings today I'm wondering if we couldn't > have s/partitions/layout/ and s/nvmem-layout/layout/. Why!? It is just a name, and we can't get rid of the old names. We don't need 2 names. > Rob: other than having different bindings for MTD vs. NVMEM layouts I > think they overall design makes sense. A single device may have content > structurized on more than 1 level: > 1. You may have fixed layout at top level (multiple partitions) > 2. Single partitions may have their own layouts (like U-Boot env data) Sure. Partitions is for 1 and Layouts is for 2. > Maybe ideally above should look more like: > > flash@0 { > compatible = ""; > > layout { > compatible = "fixed-layout"; Why does 'partitions' and 'fixed-partitions' not work here? > #address-cells = <1>; > #size-cells = <1>; > > partition@0 { > reg = <0x0 0x40000>; > label = "u-boot"; > }; > > partition@40000 { > reg = <0x40000 0x10000>; > label = "u-boot-env"; > > layout { > compatible = "u-boot,env-layout"; > }; > }; > > partition@50000 { > reg = <0x50000 0x100000>; > label = "u-boot"; > }; > }; > }; > > but I can clearly see a use for nested "layout"s. As I said maybe we > just shouldn't be so open in calling those MTD or NVMEM devices as that > is kind of Linux specific. The overall structure should be agnostic to the subsystem. Specific compatibles like 'u-boot,env' can be tied to a subsystem. Maybe some things need to be both MTD and NVMEM. MTD to operate on the opague region and NVMEM to access the contents. > I'm not sure if we should try renaming "nvmem-layout" to "layout" or > "partitions" in similar way at this point. You can't rename. It's an ABI though maybe the whole "nvmem-layout" is new enough we can. It's looking like it was a mistake to accept any of this. Rob From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 02BEFC3DA79 for ; Mon, 15 Jan 2024 17:09:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=H4ukPDojanva4q9ysbd2+wsG4p5DvDIiTT3fqi2+/24=; b=PX2hkX17ppie7N n6sGAqNfJY1KTaOPJGhCLEbJAfNrhrzI8DIk1PYHUYjVRePsbb2HaueA+FfPMrKhkDWJlLEmaH9q/ Slit4cgRK20mRsNXbuGqQdZmwc4qEMKf5TNl7yfaH+K0jwt8WaLOm1t2MQm/UlWR1kRlaFXWBfzfK 9stzKsgQqS2fHf0Zeixm+IUPYI7jsQxs61bC+bg90lRNduFZVBxLxV3Ba/f7w0izAXyZresePFMe2 mtGRuNpXaZLx31MpMyHc7ms4Y3VUOyWGgvc2GqkG8aRolfAn6CXw3TpUgpDr3MBRAhkwLpovWiZGM H3lLfqXxLYgCgI/WTxpA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rPQSV-009m89-37; Mon, 15 Jan 2024 17:09:11 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rPQSS-009m7R-0O; Mon, 15 Jan 2024 17:09:09 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by ams.source.kernel.org (Postfix) with ESMTP id 8385EB80C94; Mon, 15 Jan 2024 17:09:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9DCA7C433F1; Mon, 15 Jan 2024 17:09:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1705338545; bh=EqOMEzkyzNYto3UmIip9XB66HC1aMCqtxgSe2FiBi4I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=mjvCtXilB+F7tlBXPufpFIoL+uZ5s6bm559DwsOVDAOKL0F+CaraYCpFlmLbfF6/Q EjC5Fy6G41QsIgoRkD35EDwWOrihkeebauqiWVXBfQrZa1+0Y/RASisVtVmiLTuRk6 eGhdOYUpbvtNChB0w/5pkNrmpzNgRHEB7wcdyCpqqI1qtqrYlQLBHHIRt9MqY0ofYh msitEc9VYqPft14r9x/yRjnosv7EZAa3ZkgZZaOK1FsLWl6iC8RmSJqovIlL/18jk/ F+22h92t37oDYAe8zT+YeBvv+/CNODIP/dYDYB9N1ce1xsApQ1v7J/gnxDe6pxWzoO fhYcgGy3ZzBnA== Date: Mon, 15 Jan 2024 11:09:03 -0600 From: Rob Herring To: =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Miquel Raynal , Srinivas Kandagatla , Krzysztof Kozlowski , Conor Dooley , Greg Kroah-Hartman , Michael Walle , linux-mtd@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u-boot@lists.denx.de, =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Subject: Re: [PATCH V3 1/6] dt-bindings: nvmem: layouts: add U-Boot environment variables layout Message-ID: <20240115170903.GA911971-robh@kernel.org> References: <20231221173421.13737-1-zajec5@gmail.com> <20240104001129.GA2045237-robh@kernel.org> <20240104085839.5624c354@xps-13> <8c8d2d38-faf2-47f2-bfbf-2e4842dded47@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <8c8d2d38-faf2-47f2-bfbf-2e4842dded47@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240115_090908_447117_F87ABD6D X-CRM114-Status: GOOD ( 42.56 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKYW4gMDQsIDIwMjQgYXQgMTA6MTA6MTNBTSArMDEwMCwgUmFmYcWCIE1pxYJlY2tp IHdyb3RlOgo+IE9uIDQuMDEuMjAyNCAwODo1OCwgTWlxdWVsIFJheW5hbCB3cm90ZToKPiA+IHJv YmhAa2VybmVsLm9yZyB3cm90ZSBvbiBXZWQsIDMgSmFuIDIwMjQgMTc6MTE6MjkgLTA3MDA6Cj4g PiA+IE9uIFRodSwgRGVjIDIxLCAyMDIzIGF0IDA2OjM0OjE2UE0gKzAxMDAsIFJhZmHFgiBNacWC ZWNraSB3cm90ZToKPiA+ID4gPiBGcm9tOiBSYWZhxYIgTWnFgmVja2kgPHJhZmFsQG1pbGVja2ku cGw+Cj4gPiA+ID4gCj4gPiA+ID4gVS1Cb290IGVudiBkYXRhIGlzIGEgd2F5IG9mIHN0b3Jpbmcg ZmlybXdhcmUgdmFyaWFibGVzLiBJdCdzIGEgZm9ybWF0Cj4gPiA+ID4gdGhhdCBjYW4gYmUgdXNl ZCBvZiB0b3Agb2YgdmFyaW91cyBzdG9yYWdlIGRldmljZXMuIEl0cyBiaW5kaW5nIHNob3VsZAo+ ID4gPiA+IGJlIGFuIE5WTUVNIGxheW91dCBpbnN0ZWFkIG9mIGEgc3RhbmRhbG9uZSBkZXZpY2Uu Cj4gPiA+ID4gCj4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIGxheW91dCBiaW5kaW5nIHdoaWNoIGFs bG93cyB1c2luZyBpdCBvbiB0b3Agb2YgTVREIE5WTUVNCj4gPiA+ID4gZGV2aWNlIGFzIHdlbGwg YXMgYW55IG90aGVyLiBBdCB0aGUgc2FtZSB0aW1lIGl0IGRlcHJlY2F0ZXMgdGhlIG9sZAo+ID4g PiA+IGNvbWJpbmVkIGJpbmRpbmcuCj4gPiA+IAo+ID4gPiBJIGRvbid0IHVuZGVyc3RhbmQgdGhl IGlzc3VlLiBGcm9tIGEgRFQgcGVyc3BlY3RpdmUsIHRoZXJlIGlzbid0LiBBCj4gPiA+IHBhcnRp dGlvbiBpcyBub3QgYSBkZXZpY2UsIGJ1dCBpcyBkZXNjcmliaW5nIHRoZSBsYXlvdXQgb2Ygc3Rv cmFnZQo+ID4gPiBhbHJlYWR5Lgo+ID4gCj4gPiBBY3R1YWxseSBJIHRoaW5rIHdoYXQgUmFmYcWC IHdhbnRzIHRvIGRvIGdvZXMgaW4gdGhlIHJpZ2h0IGRpcmVjdGlvbiBidXQKPiA+IEkgYWxzbyB1 bmRlcnN0YW5kIGZyb20gYSBiaW5kaW5nIHBlcnNwZWN0aXZlIGl0IG1heSBiZSBhIGxpdHRsZQo+ ID4gY29uZnVzaW5nLCBldmVuIG1vcmUgaWYgd2UgY29uc2lkZXIgIk5WTUVNIiBhIExpbnV4IHNw ZWNpZmljIGNvbmNlcHQuCj4gPiAKPiA+IFRoZXJlIGlzIHRvZGF5IGEgInUtYm9vdCBlbnYiIE5W TUVNICpkZXZpY2UqIGRlc2NyaXB0aW9uIHdoaWNoCj4gPiBhbG1vc3Qgc2l0cyBhdCB0aGUgc2Ft ZSBsZXZlbCBhcyBlZy4gYW4gZWVwcm9tIGRldmljZS4gV2UgY2Fubm90Cj4gPiBjb21wYXJlICJh biBlZXByb20gZGV2aWNlIiBhbmQgImEgdS1ib290IGVudmlyb25tZW50IiBvZiBjb3Vyc2UuIEJ1 dAo+ID4gdGhhdCdzIHRydWx5IHdoYXQgaXMgY3VycmVudGx5IGRlc2NyaWJlZC4KPiA+IAo+ID4g KiBDdXJyZW50IHNpdHVhdGlvbgo+ID4gCj4gPiAJRmxhc2ggZGV2aWNlIC0+IFUtQm9vdCBlbnYg bGF5b3V0IC0+IE5WTUVNIGNlbGxzCgpJc24ndCBpdD86CgpGbGFzaCBkZXZpY2UgLT4gZml4ZWQt cGFydGl0aW9ucyAtPiBVLUJvb3QgZW52IGxheW91dCAtPiBOVk1FTSBjZWxscwoKPiA+IAo+ID4g KiBJbXByb3ZlZCBzaXR1YXRpb24KPiA+IAo+ID4gCUFueSBzdG9yYWdlIGRldmljZSAtPiBOVk1F TSAtPiBVLUJvb3QgZW52IGxheW91dCAtPiBOVk1FTSBjZWxscwoKV2h5IGlzIHRoaXMgYmV0dGVy PyBXZSBkb24ndCBuZWVkIGEgY29udGFpbmVyIHRvIHNheSAndGhpcyBpcyBOVk1FTSAKc3R1ZmYn IG9yICd0aGlzIGlzIE1URCBzdHVmZicuICdVLUJvb3QgZW52IGxheW91dCcgY2FuIHRlbGwgdXMg J3RoaXMgaXMgCk5WTUVNIHN0dWZmJyBvciB3aGF0ZXZlciB0aGUga2VybmVsIGRlY2lkZXMgaW4g dGhlIGZ1dHVyZS4KCj4gPiAKPiA+IFRoZSBsYXR0ZXIgaXMgb2YgY291cnNlIHRoZSBtb3N0IHJl bGV2YW50IGRlc2NyaXB0aW9uIGFzIHdlIGV4cGVjdAo+ID4gc3RvcmFnZSBkZXZpY2VzIHRvIGV4 cG9zZSBhIHN0b3JhZ2UtYWdub3N0aWMgaW50ZXJmYWNlIChOVk1FTSBpbgo+ID4gdGhpcyBjYXNl KSB3aGljaCBjYW4gdGhlbiBiZSBwYXJzZWQgKGJ5IE5WTUVNIGxheW91dHMpIGluIGEgc3RvcmFn ZQo+ID4gYWdub3N0aWMgd2F5Lgo+ID4gCj4gPiBJbiB0aGUgY3VycmVudCBjYXNlLCB0aGUgY3Vy cmVudCBVLUJvb3QgZW52IGJpbmRpbmcgdGVsbHMgcGVvcGxlIHRvCj4gPiBkZWNsYXJlIHRoZSBl bnYgbGF5b3V0IG9uIHRvcCBvZiBhIGZsYXNoIGRldmljZSAob25seSkuIFRoZSBjdXJyZW50Cj4g PiBkZXNjcmlwdGlvbiBhbHNvIGV4cGVjdHMgYSBwYXJ0aXRpb24gbm9kZSB3aGljaCBpcyB0eXBp Y2FsIHRvIGZsYXNoCj4gPiBkZXZpY2VzLiBXaGVyZWFzIHdoYXQgd2Ugc2hvdWxkIGhhdmUgZGVz Y3JpYmVkIGluIHRoZSBmaXJzdCBwbGFjZSBpcyBhCj4gPiBsYXlvdXQgdGhhdCBhcHBsaWVzIG9u IGFueSBraW5kIG9mIE5WTUVNIGRldmljZS4KPiA+IAo+ID4gQm9udXMgcG9pbnQ6IFdlJ3ZlIGJl ZW4gd29ya2luZyB0aGUgbGFzdCBjb3VwbGUgeWVhcnMgb24gY2xhcmlmeWluZwo+ID4gYmluZGlu Z3MsIGVzcGVjaWFsbHkgd2l0aCBtdGQgcGFydGl0aW9ucyAod2l0aCB0aGUgcGFydGl0aW9uc3t9 Cj4gPiBjb250YWluZXIpIGFuZCBOVk1FTSBsYXlvdXRzICh3aXRoIHRoZSBudm1lbS1sYXlvdXR7 fSBjb250YWluZXIpLgo+ID4gVGhlIHN3aXRjaCBwcm9wb3NlZCBpbiB0aGlzIHBhdGNoIG1ha2Vz IHVzZSBvZiB0aGUgbGF0dGVyLCBvZiBjb3Vyc2UuCj4gCj4gVGhhbmtzIE1pcXXDqGwgZm9yIGZp bGxpbmcgYml0cyBJIG1pc3NlZCBpbiBjb21taXQgZGVzY3JpcHRpb24uIERlc3BpdGUKPiB5ZWFy cyBpbiBMaW51eC9EVCBJIHN0aWxsIHN0cnVnZ2xlIHdpdGggbW9yZSBjb21wbGV4IGRlc2lnbnMK PiBkb2N1bWVudGF0aW9uLgo+IAo+IAo+IEFzIHBlciBSb2IncyBjb21tZW50IEkgdGhpbmsgSSBz ZWUgaGlzIHBvaW50IGFuZCBhIHBvc3NpYmxlIGRlc2lnbgo+IGNvbmZ1c2lvbi4gSWYgeW91IGxv b2sgZnJvbSBhIHB1cmUgRFQgcGVyc3BlY3RpdmUgdGhlbiAicGFydGl0aW9ucyIgYW5kCj4gIm52 bWVtLWxheW91dCIgc2VydmUgYSB2ZXJ5IHNpbWlsYXIgcHVycG9zZS4gVGhleSBkZXNjcmliZSBk ZXZpY2UncyBkYXRhCj4gY29udGVudCBzdHJ1Y3R1cmUuIEZvciBmaXhlZCBzdHJ1Y3R1cmVzIHdl IGhhdmUgdmVyeSBzaW1pbGFyCj4gImZpeGVkLXBhcnRpdGlvbnMiIGFuZCAiZml4ZWQtY2VsbHMi Lgo+IAo+IElmIHdlIHdlcmUgdG8gZGVzaWduIHRob3NlIGJpbmRpbmdzIHRvZGF5IEknbSB3b25k ZXJpbmcgaWYgd2UgY291bGRuJ3QKPiBoYXZlIHMvcGFydGl0aW9ucy9sYXlvdXQvIGFuZCBzL252 bWVtLWxheW91dC9sYXlvdXQvLgoKV2h5IT8gSXQgaXMganVzdCBhIG5hbWUsIGFuZCB3ZSBjYW4n dCBnZXQgcmlkIG9mIHRoZSBvbGQgbmFtZXMuIFdlIGRvbid0IApuZWVkIDIgbmFtZXMuCgo+IFJv Yjogb3RoZXIgdGhhbiBoYXZpbmcgZGlmZmVyZW50IGJpbmRpbmdzIGZvciBNVEQgdnMuIE5WTUVN IGxheW91dHMgSQo+IHRoaW5rIHRoZXkgb3ZlcmFsbCBkZXNpZ24gbWFrZXMgc2Vuc2UuIEEgc2lu Z2xlIGRldmljZSBtYXkgaGF2ZSBjb250ZW50Cj4gc3RydWN0dXJpemVkIG9uIG1vcmUgdGhhbiAx IGxldmVsOgo+IDEuIFlvdSBtYXkgaGF2ZSBmaXhlZCBsYXlvdXQgYXQgdG9wIGxldmVsIChtdWx0 aXBsZSBwYXJ0aXRpb25zKQo+IDIuIFNpbmdsZSBwYXJ0aXRpb25zIG1heSBoYXZlIHRoZWlyIG93 biBsYXlvdXRzIChsaWtlIFUtQm9vdCBlbnYgZGF0YSkKClN1cmUuIFBhcnRpdGlvbnMgaXMgZm9y IDEgYW5kIExheW91dHMgaXMgZm9yIDIuCgo+IE1heWJlIGlkZWFsbHkgYWJvdmUgc2hvdWxkIGxv b2sgbW9yZSBsaWtlOgo+IAo+IGZsYXNoQDAgewo+IAljb21wYXRpYmxlID0gIjxmbGFzaC1jb21w YXRpYmxlPiI7Cj4gCj4gCWxheW91dCB7Cj4gCQljb21wYXRpYmxlID0gImZpeGVkLWxheW91dCI7 CgpXaHkgZG9lcyAncGFydGl0aW9ucycgYW5kICdmaXhlZC1wYXJ0aXRpb25zJyBub3Qgd29yayBo ZXJlPwoKPiAJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+IAkJI3NpemUtY2VsbHMgPSA8MT47Cj4g Cj4gCQlwYXJ0aXRpb25AMCB7Cj4gCQkJcmVnID0gPDB4MCAweDQwMDAwPjsKPiAJCQlsYWJlbCA9 ICJ1LWJvb3QiOwo+IAkJfTsKPiAKPiAJCXBhcnRpdGlvbkA0MDAwMCB7Cj4gCQkJcmVnID0gPDB4 NDAwMDAgMHgxMDAwMD47Cj4gCQkJbGFiZWwgPSAidS1ib290LWVudiI7Cj4gCj4gCQkJbGF5b3V0 IHsKPiAJCQkJY29tcGF0aWJsZSA9ICJ1LWJvb3QsZW52LWxheW91dCI7Cj4gCQkJfTsKPiAJCX07 Cj4gCj4gCQlwYXJ0aXRpb25ANTAwMDAgewo+IAkJCXJlZyA9IDwweDUwMDAwIDB4MTAwMDAwPjsK PiAJCQlsYWJlbCA9ICJ1LWJvb3QiOwo+IAkJfTsKPiAJfTsKPiB9Owo+IAo+IGJ1dCBJIGNhbiBj bGVhcmx5IHNlZSBhIHVzZSBmb3IgbmVzdGVkICJsYXlvdXQicy4gQXMgSSBzYWlkIG1heWJlIHdl Cj4ganVzdCBzaG91bGRuJ3QgYmUgc28gb3BlbiBpbiBjYWxsaW5nIHRob3NlIE1URCBvciBOVk1F TSBkZXZpY2VzIGFzIHRoYXQKPiBpcyBraW5kIG9mIExpbnV4IHNwZWNpZmljLgoKVGhlIG92ZXJh bGwgc3RydWN0dXJlIHNob3VsZCBiZSBhZ25vc3RpYyB0byB0aGUgc3Vic3lzdGVtLiBTcGVjaWZp YyAKY29tcGF0aWJsZXMgbGlrZSAndS1ib290LGVudicgY2FuIGJlIHRpZWQgdG8gYSBzdWJzeXN0 ZW0uCgpNYXliZSBzb21lIHRoaW5ncyBuZWVkIHRvIGJlIGJvdGggTVREIGFuZCBOVk1FTS4gTVRE IHRvIG9wZXJhdGUgb24gdGhlIApvcGFndWUgcmVnaW9uIGFuZCBOVk1FTSB0byBhY2Nlc3MgdGhl IGNvbnRlbnRzLgoKCj4gSSdtIG5vdCBzdXJlIGlmIHdlIHNob3VsZCB0cnkgcmVuYW1pbmcgIm52 bWVtLWxheW91dCIgdG8gImxheW91dCIgb3IKPiAicGFydGl0aW9ucyIgaW4gc2ltaWxhciB3YXkg YXQgdGhpcyBwb2ludC4KCllvdSBjYW4ndCByZW5hbWUuIEl0J3MgYW4gQUJJIHRob3VnaCBtYXli ZSB0aGUgd2hvbGUgIm52bWVtLWxheW91dCIgaXMgCm5ldyBlbm91Z2ggd2UgY2FuLiBJdCdzIGxv b2tpbmcgbGlrZSBpdCB3YXMgYSBtaXN0YWtlIHRvIGFjY2VwdCBhbnkgb2YgCnRoaXMuCgpSb2IK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK