From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B7785321E; Thu, 9 Mar 2023 08:56:48 +0000 (UTC) Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 0DF70C000C; Thu, 9 Mar 2023 08:56:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1678352200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OsU9P3Ur2VchpA2JUh4YcUF6jVWgdCHPblwwuyxuAmM=; b=EW5TlrV4CQ9Mmh3SXctNaJ3E6vLQDFLpT6USUszQ40PiT/G/H4kAE2HOo8ELaXuTkQPE/7 PtSBDFGEz5+owBxACqFApT/rEhZ1UxHqNQ0JeqAu7Y49D+uyNiZTkb/3qaS0KlqJ0+rphE qIHERnL/qjJdmjUuJZSbLAMEw5XPfRTXbqn2KpThaanjWeSO5BLuTHqBXNc78c2T3tDPoq gxPCqP0Lav/+NoCIm4vbutUJeL5h6HwWDWnvPFToYQgPMhmyieIQfmBLWAYQ3xf2jWpDDV cBud8//oMxWBO+HUTDJcrxne728LVfY0Y7zyx0qQ98HvdR1wEinFBBmNGtj0Cg== Date: Thu, 9 Mar 2023 09:56:31 +0100 From: Miquel Raynal To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Srinivas Kandagatla , Richard Weinberger , Vignesh Raghavendra , Hector Martin , Sven Peter , Alyssa Rosenzweig , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Claudiu Beznea , Matthias Brugger , AngeloGioacchino Del Regno , Andy Gross , Bjorn Andersson , Konrad Dybcio , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Vincent Shih , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kunihiko Hayashi , Masami Hiramatsu , Michal Simek , Alessandro Zummo , Alexandre Belloni , Evgeniy Polyakov , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-rtc@vger.kernel.org Subject: Re: [PATCH V2] nvmem: add explicit config option to read OF fixed cells Message-ID: <20230309095631.7b4f610e@xps-13> In-Reply-To: References: <20230224072903.20945-1-zajec5@gmail.com> <20230308173256.3837b87b@xps-13> <91ff425b4c901648b1faf34c784f20ad@milecki.pl> <20230308190636.7fabab9c@xps-13> <5974d28426057975e701c4a8454b5a13@milecki.pl> <20230308193121.7f5b3d02@xps-13> <930f3549-440d-adac-ae9d-1aa6ef07c44b@gmail.com> <20230309093415.2b1088c8@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: asahi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Rafa=C5=82, rafal@milecki.pl wrote on Thu, 09 Mar 2023 09:39:54 +0100: > On 2023-03-09 09:34, Miquel Raynal wrote: > > Hi Rafa=C5=82, > >=20 > > zajec5@gmail.com wrote on Thu, 9 Mar 2023 07:56:05 +0100: > > =20 > >> On 8.03.2023 19:31, Miquel Raynal wrote: =20 > >> > Hi Rafa=C5=82, > >> > > >> > rafal@milecki.pl wrote on Wed, 08 Mar 2023 19:12:32 +0100: > >> > =20 > >> >> On 2023-03-08 19:06, Miquel Raynal wrote: =20 > >> >>> Hi Rafa=C5=82, > >> >>> > >> >>> rafal@milecki.pl wrote on Wed, 08 Mar 2023 17:55:46 +0100: =20 > >> >>> >>>> On 2023-03-08 17:34, Miquel Raynal wrote: =20 > >> >>>>> Hi Rafa=C5=82, > >> >>>>> > >> >>>>> zajec5@gmail.com wrote on Fri, 24 Feb 2023 08:29:03 +0100: =20 > >> >>>>> >>>>>> From: Rafa=C5=82 Mi=C5=82ecki =20 > >> >>>>>>>> NVMEM subsystem looks for fixed NVMEM cells (specified in DT)= by =20 > >> >>>>>> default. This behaviour made sense in early days before adding = support > >> >>>>>> for dynamic cells. =20 > >> >>>>>>>> With every new supported NVMEM device with dynamic cells curr= ent =20 > >> >>>>>> behaviour becomes non-optimal. It results in unneeded iterating= over >> DT > >> >>>>>> nodes and may result in false discovery of cells (depending on = used DT > >> >>>>>> properties). =20 > >> >>>>>>>> This behaviour has actually caused a problem already with the= MTD =20 > >> >>>>>> subsystem. MTD subpartitions were incorrectly treated as NVMEM = cells. =20 > >> >>>>> > >> >>>>> That's true, but I expect this to be really MTD specific. > >> >>>>> > >> >>>>> A concrete proposal below. =20 > >> >>>>> >>>>>> Also with upcoming support for NVMEM layouts no new bin= ding or driver =20 > >> >>>>>> should support fixed cells defined in device node. =20 > >> >>>>> > >> >>>>> I'm not sure I agree with this statement. We are not preventing = new > >> >>>>> binding/driver to use fixed cells, or...? We offer a new way to = expose > >> >>>>> nvmem cells with another way than "fixed-offset" and "fixed-size= " OF > >> >>>>> nodes. =20 > >> >>>>>> From what I understood all new NVMEM bindings should have cel= ls >> defined =20 > >> >>>> in the nvmem-layout { } node. That's what I mean by saying they s= hould > >> >>>> not be defined in device node (but its "nvmem-layout" instead). = =20 > >> >>> > >> >>> Layouts are just another possibility, either you user the nvmem-ce= lls > >> >>> compatible and produce nvmem cells with fixed OF nodes, or you use= the > >> >>> nvmem-layout container. I don't think all new bindings should have > >> >>> cells in layouts. It depends if the content is static or not. =20 > >> >>> >>>>>> Solve this by modifying drivers for bindings that suppor= t specifying =20 > >> >>>>>> fixed NVMEM cells in DT. Make them explicitly tell NVMEM subsys= tem to > >> >>>>>> read cells from DT. =20 > >> >>>>>>>> It wasn't clear (to me) if rtc and w1 code actually uses fixe= d cells. >> I =20 > >> >>>>>> enabled them to don't risk any breakage. =20 > >> >>>>>>>> Signed-off-by: Rafa=C5=82 Mi=C5=82ecki =20 > >> >>>>>> [for drivers/nvmem/meson-{efuse,mx-efuse}.c] > >> >>>>>> Acked-by: Martin Blumenstingl > >> >>>>>> --- > >> >>>>>> V2: Fix stm32-romem.c typo breaking its compilation > >> >>>>>> Pick Martin's Acked-by > >> >>>>>> Add paragraph about layouts deprecating use_fixed_of_cells > >> >>>>>> --- > >> >>>>>> drivers/mtd/mtdcore.c | 2 ++ > >> >>>>>> drivers/nvmem/apple-efuses.c | 1 + > >> >>>>>> drivers/nvmem/core.c | 8 +++++--- > >> >>>>>> drivers/nvmem/imx-ocotp-scu.c | 1 + > >> >>>>>> drivers/nvmem/imx-ocotp.c | 1 + > >> >>>>>> drivers/nvmem/meson-efuse.c | 1 + > >> >>>>>> drivers/nvmem/meson-mx-efuse.c | 1 + > >> >>>>>> drivers/nvmem/microchip-otpc.c | 1 + > >> >>>>>> drivers/nvmem/mtk-efuse.c | 1 + > >> >>>>>> drivers/nvmem/qcom-spmi-sdam.c | 1 + > >> >>>>>> drivers/nvmem/qfprom.c | 1 + > >> >>>>>> drivers/nvmem/rave-sp-eeprom.c | 1 + > >> >>>>>> drivers/nvmem/rockchip-efuse.c | 1 + > >> >>>>>> drivers/nvmem/sc27xx-efuse.c | 1 + > >> >>>>>> drivers/nvmem/sprd-efuse.c | 1 + > >> >>>>>> drivers/nvmem/stm32-romem.c | 1 + > >> >>>>>> drivers/nvmem/sunplus-ocotp.c | 1 + > >> >>>>>> drivers/nvmem/sunxi_sid.c | 1 + > >> >>>>>> drivers/nvmem/uniphier-efuse.c | 1 + > >> >>>>>> drivers/nvmem/zynqmp_nvmem.c | 1 + > >> >>>>>> drivers/rtc/nvmem.c | 1 + > >> >>>>>> drivers/w1/slaves/w1_ds250x.c | 1 + > >> >>>>>> include/linux/nvmem-provider.h | 2 ++ > >> >>>>>> 23 files changed, 29 insertions(+), 3 deletions(-) =20 > >> >>>>>>>> diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c =20 > >> >>>>>> index 0feacb9fbdac..1bb479c0f758 100644 > >> >>>>>> --- a/drivers/mtd/mtdcore.c > >> >>>>>> +++ b/drivers/mtd/mtdcore.c > >> >>>>>> @@ -523,6 +523,7 @@ static int mtd_nvmem_add(struct mtd_info *m= td) > >> >>>>>> config.dev =3D &mtd->dev; > >> >>>>>> config.name =3D dev_name(&mtd->dev); > >> >>>>>> config.owner =3D THIS_MODULE; > >> >>>>>> + config.use_fixed_of_cells =3D of_device_is_compatible(node, >= > "nvmem-cells"); =20 > >> >>>>> > >> >>>>> I am wondering how mtd specific this is? For me all OF nodes con= taining > >> >>>>> the nvmem-cells compatible should be treated as cells providers = and > >> >>>>> populate nvmem cells as for each children. > >> >>>>> > >> >>>>> Why don't we just check for this compatible to be present? in > >> >>>>> nvmem_add_cells_from_of() ? And if not we just skip the operatio= n. > >> >>>>> > >> >>>>> This way we still follow the bindings (even though using nvmem-c= ells in > >> >>>>> the compatible property to require cells population was a mistak= e in > >> >>>>> the first place, as discussed in the devlink thread recently) bu= t there > >> >>>>> is no need for a per-driver config option? =20 > >> >>>>>> This isn't mtd specific. Please check this patch for all occurr= ences >> of =20 > >> >>>> the: > >> >>>> use_fixed_of_cells =3D true =20 > >> >>>>>> The very first one: drivers/nvmem/apple-efuses.c driver for the= =20 > >> >>>> "apple,efuses" binding. That binding supports fixed OF cells, see: > >> >>>> Documentation/devicetree/bindings/nvmem/apple,efuses.yaml =20 > >> >>> > >> >>> I'm saying: based on what has been enforced so far, I would expect= all > >> >>> fixed cell providers to come with nvmem-cells as compatible, no? > >> >>> > >> >>> If that's the case we could use that as a common denominator? =20 > >> >> > >> >> Sorry, I don't get it. Have you checked > >> >> Documentation/devicetree/bindings/nvmem/apple,efuses.yaml > >> >> ? > >> >> > >> >> It's a NVMEM provied binding with fixed cells that doesn't use > >> >> nvmem-cells as compatible. There are many more. =20 > >> > > >> > Oh yeah you're right, I'm mixing things. Well I guess you're right > >> > then, it's such a mess, we have to tell the core the parsing method. > >> > > >> > So maybe another question: do we have other situations than mtd which > >> > sometimes expect the nvmem core to parse the OF nodes to populate ce= lls, > >> > and sometimes not? =20 > >> >> I'm not aware of that. Please also check my patch. The only case I = set =20 > >> "use_fixed_of_cells" conditionally is mtd code. In other cases it's > >> hardcoded to "true". =20 > >> >> >> > Also, what about "of_children_are_cells" ? Because actually in= most =20 > >> > cases it's a "fixed of cell", so I don't find the current naming > >> > descriptive enough for something so touchy. =20 > >> >> That would be just incorrect because this new config property =20 > >> ("use_fixed_of_cells") is only about FIXED cells. =20 > >> >> There are cases of OF children being cells but NOT being fixed cell= s. =20 > >> They should NOT be parsed by the nvmem_add_cells_from_of(). =20 > >> >> Example: =20 > >> a607a850ba1f ("dt-bindings: nvmem: u-boot,env: add basic NVMEM cells") > >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/com= mit/?id=3Da607a850ba1fa966cbb035544c1588e24a6307df =20 > >=20 > > This is backwards. That's why layouts have been proposed: having > > a clear framework were the nvmem core should or should not play with > > the OF children nodes. If each binding is different, you end up with > > the mess we have today, where nobody knows how to properly > > populate the cells. > >=20 > > Anyway, it's not a big deal either, if the cells are empty we can > > easily check that and have *yet another* specific case in the core. > > =20 > >> So that would result in U-Boot env: > >> 1. Having OF children nodes being cells > >> 2. Setting "of_children_are_cells" to false (counter-intuitive) to >> = avoid nvmem_add_cells_from_of() =20 > >=20 > > Agreed. So what about config.ignore_of_children? > > - mtd sets this to !is_compatible(nvmem-cells) > > - nobody else touches it (the core don't try to parse the cell if it's > > empty so U-Boot env driver works) =20 >=20 > "ignore_of_children" would have opposite (reversed) meaning to the > "use_fixed_of_cells": > 1. By default it would be 0 / false > 2. By default NVMEM code would NOT ignore OF children nodes >=20 > That is what I actually *don't* want. >=20 > Having NVMEM core look for fixed cells in device node is undesirable. Is it? I think this is the standard case. Most of the time fixed cells are the simplest and most direct approach. I don't get why we would like to prevent it at some point? Only the more advanced stuff that does not fit the purpose of fixed OF cells should go through layouts. > I want that feature to be off by default. I want devices to have to > enable it explicitly only when it's needed. Well, that's exactly the opposite of what nvmem does right now, that's maybe why reviewers don't get the interest of the current implementation: it has many impacts on users which should not be impacted just because we messed with mtd. Thanks, Miqu=C3=A8l 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 38400C64EC4 for ; Thu, 9 Mar 2023 08:57:01 +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:MIME-Version:References:In-Reply-To: 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=hD+ngNlgLkXC1RSQrv+fPrCYlNRGjy4ryydEe7kT6TM=; b=hdkzIhNVXlKIhO 3k9Pg1kz1lRbDfEajytSy6eAWeqnIkAlt+waGMt8ChKBnLjw6yZVinXjE0TyIcoD8TpQh+5QPwgNX 7HH+NJvkRaMFCfWWGCJ6hUJZRjgkBLuUqs/5e4q2dqPHhdr9bBC1zeVUaGxKmjvz/UFO38maxWudP EttPxuGl7PHz/P3klSLviuWtWA7gWLLY+d2htdJxog2KoNy19n5F/GEaa5YQCV03t92wkslStTGFN ta48tuMUx2pL9fsMHlg2r89SrBwCRQ2+ra3ljY5NtjGyx3k/8Krnb+NqRjev1SaeQZVFm5qgl988S Q8AoIwkPuEzIDE11hDHA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4w-008fGv-5k; Thu, 09 Mar 2023 08:56:50 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4r-008fE8-AW; Thu, 09 Mar 2023 08:56:48 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 0DF70C000C; Thu, 9 Mar 2023 08:56:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1678352200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OsU9P3Ur2VchpA2JUh4YcUF6jVWgdCHPblwwuyxuAmM=; b=EW5TlrV4CQ9Mmh3SXctNaJ3E6vLQDFLpT6USUszQ40PiT/G/H4kAE2HOo8ELaXuTkQPE/7 PtSBDFGEz5+owBxACqFApT/rEhZ1UxHqNQ0JeqAu7Y49D+uyNiZTkb/3qaS0KlqJ0+rphE qIHERnL/qjJdmjUuJZSbLAMEw5XPfRTXbqn2KpThaanjWeSO5BLuTHqBXNc78c2T3tDPoq gxPCqP0Lav/+NoCIm4vbutUJeL5h6HwWDWnvPFToYQgPMhmyieIQfmBLWAYQ3xf2jWpDDV cBud8//oMxWBO+HUTDJcrxne728LVfY0Y7zyx0qQ98HvdR1wEinFBBmNGtj0Cg== Date: Thu, 9 Mar 2023 09:56:31 +0100 From: Miquel Raynal To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Srinivas Kandagatla , Richard Weinberger , Vignesh Raghavendra , Hector Martin , Sven Peter , Alyssa Rosenzweig , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Claudiu Beznea , Matthias Brugger , AngeloGioacchino Del Regno , Andy Gross , Bjorn Andersson , Konrad Dybcio , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Vincent Shih , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kunihiko Hayashi , Masami Hiramatsu , Michal Simek , Alessandro Zummo , Alexandre Belloni , Evgeniy Polyakov , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-rtc@vger.kernel.org Subject: Re: [PATCH V2] nvmem: add explicit config option to read OF fixed cells Message-ID: <20230309095631.7b4f610e@xps-13> In-Reply-To: References: <20230224072903.20945-1-zajec5@gmail.com> <20230308173256.3837b87b@xps-13> <91ff425b4c901648b1faf34c784f20ad@milecki.pl> <20230308190636.7fabab9c@xps-13> <5974d28426057975e701c4a8454b5a13@milecki.pl> <20230308193121.7f5b3d02@xps-13> <930f3549-440d-adac-ae9d-1aa6ef07c44b@gmail.com> <20230309093415.2b1088c8@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230309_005645_655607_EB37E43B X-CRM114-Status: GOOD ( 50.28 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org SGkgUmFmYcWCLAoKcmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBUaHUsIDA5IE1hciAyMDIzIDA5 OjM5OjU0ICswMTAwOgoKPiBPbiAyMDIzLTAzLTA5IDA5OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3Rl Ogo+ID4gSGkgUmFmYcWCLAo+ID4gCj4gPiB6YWplYzVAZ21haWwuY29tIHdyb3RlIG9uIFRodSwg OSBNYXIgMjAyMyAwNzo1NjowNSArMDEwMDoKPiA+ICAgCj4gPj4gT24gOC4wMy4yMDIzIDE5OjMx LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4gPiBIaSBSYWZhxYIsCj4gPj4gPgo+ID4+ID4g cmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBXZWQsIDA4IE1hciAyMDIzIDE5OjEyOjMyICswMTAw Ogo+ID4+ID4gIAo+ID4+ID4+IE9uIDIwMjMtMDMtMDggMTk6MDYsIE1pcXVlbCBSYXluYWwgd3Jv dGU6ICAKPiA+PiA+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pgo+ID4+ID4+PiByYWZhbEBtaWxlY2tp LnBsIHdyb3RlIG9uIFdlZCwgMDggTWFyIDIwMjMgMTc6NTU6NDYgKzAxMDA6ICAKPiA+PiA+Pj4g ICAgPj4+PiBPbiAyMDIzLTAzLTA4IDE3OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4g Pj4+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gemFqZWM1QGdtYWlsLmNvbSB3 cm90ZSBvbiBGcmksIDI0IEZlYiAyMDIzIDA4OjI5OjAzICswMTAwOiAgCj4gPj4gPj4+Pj4gICA+ Pj4+Pj4gRnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPiAgCj4gPj4gPj4+ Pj4+Pj4gTlZNRU0gc3Vic3lzdGVtIGxvb2tzIGZvciBmaXhlZCBOVk1FTSBjZWxscyAoc3BlY2lm aWVkIGluIERUKSBieSAgCj4gPj4gPj4+Pj4+IGRlZmF1bHQuIFRoaXMgYmVoYXZpb3VyIG1hZGUg c2Vuc2UgaW4gZWFybHkgZGF5cyBiZWZvcmUgYWRkaW5nIHN1cHBvcnQKPiA+PiA+Pj4+Pj4gZm9y IGR5bmFtaWMgY2VsbHMuICAKPiA+PiA+Pj4+Pj4+PiBXaXRoIGV2ZXJ5IG5ldyBzdXBwb3J0ZWQg TlZNRU0gZGV2aWNlIHdpdGggZHluYW1pYyBjZWxscyBjdXJyZW50ICAKPiA+PiA+Pj4+Pj4gYmVo YXZpb3VyIGJlY29tZXMgbm9uLW9wdGltYWwuIEl0IHJlc3VsdHMgaW4gdW5uZWVkZWQgaXRlcmF0 aW5nIG92ZXIgPj4gRFQKPiA+PiA+Pj4+Pj4gbm9kZXMgYW5kIG1heSByZXN1bHQgaW4gZmFsc2Ug ZGlzY292ZXJ5IG9mIGNlbGxzIChkZXBlbmRpbmcgb24gdXNlZCBEVAo+ID4+ID4+Pj4+PiBwcm9w ZXJ0aWVzKS4gIAo+ID4+ID4+Pj4+Pj4+IFRoaXMgYmVoYXZpb3VyIGhhcyBhY3R1YWxseSBjYXVz ZWQgYSBwcm9ibGVtIGFscmVhZHkgd2l0aCB0aGUgTVREICAKPiA+PiA+Pj4+Pj4gc3Vic3lzdGVt LiBNVEQgc3VicGFydGl0aW9ucyB3ZXJlIGluY29ycmVjdGx5IHRyZWF0ZWQgYXMgTlZNRU0gY2Vs bHMuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IFRoYXQncyB0cnVlLCBidXQgSSBleHBlY3QgdGhp cyB0byBiZSByZWFsbHkgTVREIHNwZWNpZmljLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gQSBjb25j cmV0ZSBwcm9wb3NhbCBiZWxvdy4gIAo+ID4+ID4+Pj4+ICAgPj4+Pj4+IEFsc28gd2l0aCB1cGNv bWluZyBzdXBwb3J0IGZvciBOVk1FTSBsYXlvdXRzIG5vIG5ldyBiaW5kaW5nIG9yIGRyaXZlciAg Cj4gPj4gPj4+Pj4+IHNob3VsZCBzdXBwb3J0IGZpeGVkIGNlbGxzIGRlZmluZWQgaW4gZGV2aWNl IG5vZGUuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEknbSBub3Qgc3VyZSBJIGFncmVlIHdpdGgg dGhpcyBzdGF0ZW1lbnQuIFdlIGFyZSBub3QgcHJldmVudGluZyBuZXcKPiA+PiA+Pj4+PiBiaW5k aW5nL2RyaXZlciB0byB1c2UgZml4ZWQgY2VsbHMsIG9yLi4uPyBXZSBvZmZlciBhIG5ldyB3YXkg dG8gZXhwb3NlCj4gPj4gPj4+Pj4gbnZtZW0gY2VsbHMgd2l0aCBhbm90aGVyIHdheSB0aGFuICJm aXhlZC1vZmZzZXQiIGFuZCAiZml4ZWQtc2l6ZSIgT0YKPiA+PiA+Pj4+PiBub2Rlcy4gIAo+ID4+ ID4+Pj4+PiAgIEZyb20gd2hhdCBJIHVuZGVyc3Rvb2QgYWxsIG5ldyBOVk1FTSBiaW5kaW5ncyBz aG91bGQgaGF2ZSBjZWxscyA+PiBkZWZpbmVkICAKPiA+PiA+Pj4+IGluIHRoZSBudm1lbS1sYXlv dXQgeyB9IG5vZGUuIFRoYXQncyB3aGF0IEkgbWVhbiBieSBzYXlpbmcgdGhleSBzaG91bGQKPiA+ PiA+Pj4+IG5vdCBiZSBkZWZpbmVkIGluIGRldmljZSBub2RlIChidXQgaXRzICJudm1lbS1sYXlv dXQiIGluc3RlYWQpLiAgCj4gPj4gPj4+Cj4gPj4gPj4+IExheW91dHMgYXJlIGp1c3QgYW5vdGhl ciBwb3NzaWJpbGl0eSwgZWl0aGVyIHlvdSB1c2VyIHRoZSBudm1lbS1jZWxscwo+ID4+ID4+PiBj b21wYXRpYmxlIGFuZCBwcm9kdWNlIG52bWVtIGNlbGxzIHdpdGggZml4ZWQgT0Ygbm9kZXMsIG9y IHlvdSB1c2UgdGhlCj4gPj4gPj4+IG52bWVtLWxheW91dCBjb250YWluZXIuIEkgZG9uJ3QgdGhp bmsgYWxsIG5ldyBiaW5kaW5ncyBzaG91bGQgaGF2ZQo+ID4+ID4+PiBjZWxscyBpbiBsYXlvdXRz LiBJdCBkZXBlbmRzIGlmIHRoZSBjb250ZW50IGlzIHN0YXRpYyBvciBub3QuICAKPiA+PiA+Pj4g ICAgPj4+Pj4+IFNvbHZlIHRoaXMgYnkgbW9kaWZ5aW5nIGRyaXZlcnMgZm9yIGJpbmRpbmdzIHRo YXQgc3VwcG9ydCBzcGVjaWZ5aW5nICAKPiA+PiA+Pj4+Pj4gZml4ZWQgTlZNRU0gY2VsbHMgaW4g RFQuIE1ha2UgdGhlbSBleHBsaWNpdGx5IHRlbGwgTlZNRU0gc3Vic3lzdGVtIHRvCj4gPj4gPj4+ Pj4+IHJlYWQgY2VsbHMgZnJvbSBEVC4gIAo+ID4+ID4+Pj4+Pj4+IEl0IHdhc24ndCBjbGVhciAo dG8gbWUpIGlmIHJ0YyBhbmQgdzEgY29kZSBhY3R1YWxseSB1c2VzIGZpeGVkIGNlbGxzLiA+PiBJ ICAKPiA+PiA+Pj4+Pj4gZW5hYmxlZCB0aGVtIHRvIGRvbid0IHJpc2sgYW55IGJyZWFrYWdlLiAg Cj4gPj4gPj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxl Y2tpLnBsPiAgCj4gPj4gPj4+Pj4+IFtmb3IgZHJpdmVycy9udm1lbS9tZXNvbi17ZWZ1c2UsbXgt ZWZ1c2V9LmNdCj4gPj4gPj4+Pj4+IEFja2VkLWJ5OiBNYXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0 aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgo+ID4+ID4+Pj4+PiAtLS0KPiA+PiA+Pj4+ Pj4gVjI6IEZpeCBzdG0zMi1yb21lbS5jIHR5cG8gYnJlYWtpbmcgaXRzIGNvbXBpbGF0aW9uCj4g Pj4gPj4+Pj4+ICAgICAgUGljayBNYXJ0aW4ncyBBY2tlZC1ieQo+ID4+ID4+Pj4+PiAgICAgIEFk ZCBwYXJhZ3JhcGggYWJvdXQgbGF5b3V0cyBkZXByZWNhdGluZyB1c2VfZml4ZWRfb2ZfY2VsbHMK PiA+PiA+Pj4+Pj4gLS0tCj4gPj4gPj4+Pj4+ICAgZHJpdmVycy9tdGQvbXRkY29yZS5jICAgICAg ICAgIHwgMiArKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vYXBwbGUtZWZ1c2VzLmMgICB8 IDEgKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vY29yZS5jICAgICAgICAgICB8IDggKysr KystLS0KPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC1zY3UuYyAgfCAxICsK PiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC5jICAgICAgfCAxICsKPiA+PiA+ Pj4+Pj4gICBkcml2ZXJzL252bWVtL21lc29uLWVmdXNlLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4g ICBkcml2ZXJzL252bWVtL21lc29uLW14LWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2 ZXJzL252bWVtL21pY3JvY2hpcC1vdHBjLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252 bWVtL210ay1lZnVzZS5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3Fj b20tc3BtaS1zZGFtLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3FmcHJvbS5j ICAgICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JhdmUtc3AtZWVwcm9t LmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JvY2tjaGlwLWVmdXNlLmMgfCAx ICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NjMjd4eC1lZnVzZS5jICAgfCAxICsKPiA+ PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NwcmQtZWZ1c2UuYyAgICAgfCAxICsKPiA+PiA+Pj4+ Pj4gICBkcml2ZXJzL252bWVtL3N0bTMyLXJvbWVtLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBk cml2ZXJzL252bWVtL3N1bnBsdXMtb2NvdHAuYyAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJz L252bWVtL3N1bnhpX3NpZC5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVt L3VuaXBoaWVyLWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3p5bnFt cF9udm1lbS5jICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3J0Yy9udm1lbS5jICAgICAg ICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3cxL3NsYXZlcy93MV9kczI1MHguYyAg fCAxICsKPiA+PiA+Pj4+Pj4gICBpbmNsdWRlL2xpbnV4L252bWVtLXByb3ZpZGVyLmggfCAyICsr Cj4gPj4gPj4+Pj4+ICAgMjMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkgIAo+ID4+ID4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tdGRjb3Jl LmMgYi9kcml2ZXJzL210ZC9tdGRjb3JlLmMgIAo+ID4+ID4+Pj4+PiBpbmRleCAwZmVhY2I5ZmJk YWMuLjFiYjQ3OWMwZjc1OCAxMDA2NDQKPiA+PiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9tdGQvbXRk Y29yZS5jCj4gPj4gPj4+Pj4+ICsrKyBiL2RyaXZlcnMvbXRkL210ZGNvcmUuYwo+ID4+ID4+Pj4+ PiBAQCAtNTIzLDYgKzUyMyw3IEBAIHN0YXRpYyBpbnQgbXRkX252bWVtX2FkZChzdHJ1Y3QgbXRk X2luZm8gKm10ZCkKPiA+PiA+Pj4+Pj4gICAJY29uZmlnLmRldiA9ICZtdGQtPmRldjsKPiA+PiA+ Pj4+Pj4gICAJY29uZmlnLm5hbWUgPSBkZXZfbmFtZSgmbXRkLT5kZXYpOwo+ID4+ID4+Pj4+PiAg IAljb25maWcub3duZXIgPSBUSElTX01PRFVMRTsKPiA+PiA+Pj4+Pj4gKwljb25maWcudXNlX2Zp eGVkX29mX2NlbGxzID0gb2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUobm9kZSwgPj4gIm52bWVtLWNl bGxzIik7ICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEkgYW0gd29uZGVyaW5nIGhvdyBtdGQgc3Bl Y2lmaWMgdGhpcyBpcz8gRm9yIG1lIGFsbCBPRiBub2RlcyBjb250YWluaW5nCj4gPj4gPj4+Pj4g dGhlIG52bWVtLWNlbGxzIGNvbXBhdGlibGUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgY2VsbHMgcHJv dmlkZXJzIGFuZAo+ID4+ID4+Pj4+IHBvcHVsYXRlIG52bWVtIGNlbGxzIGFzIGZvciBlYWNoIGNo aWxkcmVuLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gV2h5IGRvbid0IHdlIGp1c3QgY2hlY2sgZm9y IHRoaXMgY29tcGF0aWJsZSB0byBiZSBwcmVzZW50PyBpbgo+ID4+ID4+Pj4+IG52bWVtX2FkZF9j ZWxsc19mcm9tX29mKCkgPyBBbmQgaWYgbm90IHdlIGp1c3Qgc2tpcCB0aGUgb3BlcmF0aW9uLgo+ ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gVGhpcyB3YXkgd2Ugc3RpbGwgZm9sbG93IHRoZSBiaW5kaW5n cyAoZXZlbiB0aG91Z2ggdXNpbmcgbnZtZW0tY2VsbHMgaW4KPiA+PiA+Pj4+PiB0aGUgY29tcGF0 aWJsZSBwcm9wZXJ0eSB0byByZXF1aXJlIGNlbGxzIHBvcHVsYXRpb24gd2FzIGEgbWlzdGFrZSBp bgo+ID4+ID4+Pj4+IHRoZSBmaXJzdCBwbGFjZSwgYXMgZGlzY3Vzc2VkIGluIHRoZSBkZXZsaW5r IHRocmVhZCByZWNlbnRseSkgYnV0IHRoZXJlCj4gPj4gPj4+Pj4gaXMgbm8gbmVlZCBmb3IgYSBw ZXItZHJpdmVyIGNvbmZpZyBvcHRpb24/ICAKPiA+PiA+Pj4+Pj4gVGhpcyBpc24ndCBtdGQgc3Bl Y2lmaWMuIFBsZWFzZSBjaGVjayB0aGlzIHBhdGNoIGZvciBhbGwgb2NjdXJyZW5jZXMgPj4gb2Yg IAo+ID4+ID4+Pj4gdGhlOgo+ID4+ID4+Pj4gdXNlX2ZpeGVkX29mX2NlbGxzID0gdHJ1ZSAgCj4g Pj4gPj4+Pj4+IFRoZSB2ZXJ5IGZpcnN0IG9uZTogZHJpdmVycy9udm1lbS9hcHBsZS1lZnVzZXMu YyBkcml2ZXIgZm9yIHRoZSAgCj4gPj4gPj4+PiAiYXBwbGUsZWZ1c2VzIiBiaW5kaW5nLiBUaGF0 IGJpbmRpbmcgc3VwcG9ydHMgZml4ZWQgT0YgY2VsbHMsIHNlZToKPiA+PiA+Pj4+IERvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9hcHBsZSxlZnVzZXMueWFtbCAgCj4gPj4g Pj4+Cj4gPj4gPj4+IEknbSBzYXlpbmc6IGJhc2VkIG9uIHdoYXQgaGFzIGJlZW4gZW5mb3JjZWQg c28gZmFyLCBJIHdvdWxkIGV4cGVjdCBhbGwKPiA+PiA+Pj4gZml4ZWQgY2VsbCBwcm92aWRlcnMg dG8gY29tZSB3aXRoIG52bWVtLWNlbGxzIGFzIGNvbXBhdGlibGUsIG5vPwo+ID4+ID4+Pgo+ID4+ ID4+PiBJZiB0aGF0J3MgdGhlIGNhc2Ugd2UgY291bGQgdXNlIHRoYXQgYXMgYSBjb21tb24gZGVu b21pbmF0b3I/ICAKPiA+PiA+Pgo+ID4+ID4+IFNvcnJ5LCBJIGRvbid0IGdldCBpdC4gSGF2ZSB5 b3UgY2hlY2tlZAo+ID4+ID4+IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1l bS9hcHBsZSxlZnVzZXMueWFtbAo+ID4+ID4+ID8KPiA+PiA+Pgo+ID4+ID4+IEl0J3MgYSBOVk1F TSBwcm92aWVkIGJpbmRpbmcgd2l0aCBmaXhlZCBjZWxscyB0aGF0IGRvZXNuJ3QgdXNlCj4gPj4g Pj4gbnZtZW0tY2VsbHMgYXMgY29tcGF0aWJsZS4gVGhlcmUgYXJlIG1hbnkgbW9yZS4gIAo+ID4+ ID4KPiA+PiA+IE9oIHllYWggeW91J3JlIHJpZ2h0LCBJJ20gbWl4aW5nIHRoaW5ncy4gV2VsbCBJ IGd1ZXNzIHlvdSdyZSByaWdodAo+ID4+ID4gdGhlbiwgaXQncyBzdWNoIGEgbWVzcywgd2UgaGF2 ZSB0byB0ZWxsIHRoZSBjb3JlIHRoZSBwYXJzaW5nIG1ldGhvZC4KPiA+PiA+Cj4gPj4gPiBTbyBt YXliZSBhbm90aGVyIHF1ZXN0aW9uOiBkbyB3ZSBoYXZlIG90aGVyIHNpdHVhdGlvbnMgdGhhbiBt dGQgd2hpY2gKPiA+PiA+IHNvbWV0aW1lcyBleHBlY3QgdGhlIG52bWVtIGNvcmUgdG8gcGFyc2Ug dGhlIE9GIG5vZGVzIHRvIHBvcHVsYXRlIGNlbGxzLAo+ID4+ID4gYW5kIHNvbWV0aW1lcyBub3Q/ ICAKPiA+PiA+PiBJJ20gbm90IGF3YXJlIG9mIHRoYXQuIFBsZWFzZSBhbHNvIGNoZWNrIG15IHBh dGNoLiBUaGUgb25seSBjYXNlIEkgc2V0ICAKPiA+PiAidXNlX2ZpeGVkX29mX2NlbGxzIiBjb25k aXRpb25hbGx5IGlzIG10ZCBjb2RlLiBJbiBvdGhlciBjYXNlcyBpdCdzCj4gPj4gaGFyZGNvZGVk IHRvICJ0cnVlIi4gIAo+ID4+ID4+ID4+ID4gQWxzbywgd2hhdCBhYm91dCAib2ZfY2hpbGRyZW5f YXJlX2NlbGxzIiA/IEJlY2F1c2UgYWN0dWFsbHkgaW4gbW9zdCAgCj4gPj4gPiBjYXNlcyBpdCdz IGEgImZpeGVkIG9mIGNlbGwiLCBzbyBJIGRvbid0IGZpbmQgdGhlIGN1cnJlbnQgbmFtaW5nCj4g Pj4gPiBkZXNjcmlwdGl2ZSBlbm91Z2ggZm9yIHNvbWV0aGluZyBzbyB0b3VjaHkuICAKPiA+PiA+ PiBUaGF0IHdvdWxkIGJlIGp1c3QgaW5jb3JyZWN0IGJlY2F1c2UgdGhpcyBuZXcgY29uZmlnIHBy b3BlcnR5ICAKPiA+PiAoInVzZV9maXhlZF9vZl9jZWxscyIpIGlzIG9ubHkgYWJvdXQgRklYRUQg Y2VsbHMuICAKPiA+PiA+PiBUaGVyZSBhcmUgY2FzZXMgb2YgT0YgY2hpbGRyZW4gYmVpbmcgY2Vs bHMgYnV0IE5PVCBiZWluZyBmaXhlZCBjZWxscy4gIAo+ID4+IFRoZXkgc2hvdWxkIE5PVCBiZSBw YXJzZWQgYnkgdGhlIG52bWVtX2FkZF9jZWxsc19mcm9tX29mKCkuICAKPiA+PiA+PiBFeGFtcGxl OiAgCj4gPj4gYTYwN2E4NTBiYTFmICgiZHQtYmluZGluZ3M6IG52bWVtOiB1LWJvb3QsZW52OiBh ZGQgYmFzaWMgTlZNRU0gY2VsbHMiKQo+ID4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3Nj bS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC9jb21taXQvP2lkPWE2MDdhODUw YmExZmE5NjZjYmIwMzU1NDRjMTU4OGUyNGE2MzA3ZGYgIAo+ID4gCj4gPiBUaGlzIGlzIGJhY2t3 YXJkcy4gVGhhdCdzIHdoeSBsYXlvdXRzIGhhdmUgYmVlbiBwcm9wb3NlZDogaGF2aW5nCj4gPiBh IGNsZWFyIGZyYW1ld29yayB3ZXJlIHRoZSBudm1lbSBjb3JlIHNob3VsZCBvciBzaG91bGQgbm90 IHBsYXkgd2l0aAo+ID4gdGhlIE9GIGNoaWxkcmVuIG5vZGVzLiBJZiBlYWNoIGJpbmRpbmcgaXMg ZGlmZmVyZW50LCB5b3UgZW5kIHVwIHdpdGgKPiA+IHRoZSBtZXNzIHdlIGhhdmUgdG9kYXksIHdo ZXJlIG5vYm9keSBrbm93cyBob3cgdG8gcHJvcGVybHkKPiA+IHBvcHVsYXRlIHRoZSBjZWxscy4K PiA+IAo+ID4gQW55d2F5LCBpdCdzIG5vdCBhIGJpZyBkZWFsIGVpdGhlciwgaWYgdGhlIGNlbGxz IGFyZSBlbXB0eSB3ZSBjYW4KPiA+IGVhc2lseSBjaGVjayB0aGF0IGFuZCBoYXZlICp5ZXQgYW5v dGhlciogc3BlY2lmaWMgY2FzZSBpbiB0aGUgY29yZS4KPiA+ICAgCj4gPj4gU28gdGhhdCB3b3Vs ZCByZXN1bHQgaW4gVS1Cb290IGVudjoKPiA+PiAxLiBIYXZpbmcgT0YgY2hpbGRyZW4gbm9kZXMg YmVpbmcgY2VsbHMKPiA+PiAyLiBTZXR0aW5nICJvZl9jaGlsZHJlbl9hcmVfY2VsbHMiIHRvIGZh bHNlIChjb3VudGVyLWludHVpdGl2ZSkgdG8gPj4gYXZvaWQgbnZtZW1fYWRkX2NlbGxzX2Zyb21f b2YoKSAgCj4gPiAKPiA+IEFncmVlZC4gU28gd2hhdCBhYm91dCBjb25maWcuaWdub3JlX29mX2No aWxkcmVuPwo+ID4gLSBtdGQgc2V0cyB0aGlzIHRvICFpc19jb21wYXRpYmxlKG52bWVtLWNlbGxz KQo+ID4gLSBub2JvZHkgZWxzZSB0b3VjaGVzIGl0ICh0aGUgY29yZSBkb24ndCB0cnkgdG8gcGFy c2UgdGhlIGNlbGwgaWYgaXQncwo+ID4gICBlbXB0eSBzbyBVLUJvb3QgZW52IGRyaXZlciB3b3Jr cykgIAo+IAo+ICJpZ25vcmVfb2ZfY2hpbGRyZW4iIHdvdWxkIGhhdmUgb3Bwb3NpdGUgKHJldmVy c2VkKSBtZWFuaW5nIHRvIHRoZQo+ICJ1c2VfZml4ZWRfb2ZfY2VsbHMiOgo+IDEuIEJ5IGRlZmF1 bHQgaXQgd291bGQgYmUgMCAvIGZhbHNlCj4gMi4gQnkgZGVmYXVsdCBOVk1FTSBjb2RlIHdvdWxk IE5PVCBpZ25vcmUgT0YgY2hpbGRyZW4gbm9kZXMKPiAKPiBUaGF0IGlzIHdoYXQgSSBhY3R1YWxs eSAqZG9uJ3QqIHdhbnQuCj4gCj4gSGF2aW5nIE5WTUVNIGNvcmUgbG9vayBmb3IgZml4ZWQgY2Vs bHMgaW4gZGV2aWNlIG5vZGUgaXMgdW5kZXNpcmFibGUuCgpJcyBpdD8KCkkgdGhpbmsgdGhpcyBp cyB0aGUgc3RhbmRhcmQgY2FzZS4gTW9zdCBvZiB0aGUgdGltZSBmaXhlZCBjZWxscyBhcmUKdGhl IHNpbXBsZXN0IGFuZCBtb3N0IGRpcmVjdCBhcHByb2FjaC4gSSBkb24ndCBnZXQgd2h5IHdlIHdv dWxkIGxpa2UKdG8gcHJldmVudCBpdCBhdCBzb21lIHBvaW50PyBPbmx5IHRoZSBtb3JlIGFkdmFu Y2VkIHN0dWZmIHRoYXQgZG9lcyBub3QKZml0IHRoZSBwdXJwb3NlIG9mIGZpeGVkIE9GIGNlbGxz IHNob3VsZCBnbyB0aHJvdWdoIGxheW91dHMuCgo+IEkgd2FudCB0aGF0IGZlYXR1cmUgdG8gYmUg b2ZmIGJ5IGRlZmF1bHQuIEkgd2FudCBkZXZpY2VzIHRvIGhhdmUgdG8KPiBlbmFibGUgaXQgZXhw bGljaXRseSBvbmx5IHdoZW4gaXQncyBuZWVkZWQuCgpXZWxsLCB0aGF0J3MgZXhhY3RseSB0aGUg b3Bwb3NpdGUgb2Ygd2hhdCBudm1lbSBkb2VzIHJpZ2h0IG5vdywgdGhhdCdzCm1heWJlIHdoeSBy ZXZpZXdlcnMgZG9uJ3QgZ2V0IHRoZSBpbnRlcmVzdCBvZiB0aGUgY3VycmVudAppbXBsZW1lbnRh dGlvbjogaXQgaGFzIG1hbnkgaW1wYWN0cyBvbiB1c2VycyB3aGljaCBzaG91bGQgbm90IGJlCmlt cGFjdGVkIGp1c3QgYmVjYXVzZSB3ZSBtZXNzZWQgd2l0aCBtdGQuCgpUaGFua3MsCk1pcXXDqGwK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFt bG9naWMgbWFpbGluZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFtbG9naWMK 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 A441AC6FD19 for ; Thu, 9 Mar 2023 08:57:00 +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:MIME-Version:References:In-Reply-To: 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=bdoxTV4ZJkYYa60hkCyO/xzanr+wdZT/0I7ZRyYGQ2U=; b=K5v81990o+m7XE 6dCSVcRmvcIwKrVuVjbU3LU+Ar1SY3LVhcaAzfsv3hsAQhEIfep4wPwIS9BJty2DaWKP4MLMRDmGs N8we2l0gInyBeVkVBLWMVSEKsjovxq9l74Urf4Dktw0wx7EpPDeE49dSotAeyzMuBipEy9mZAVEOD oCG8dM6q5PjOYUGvIJtSLvULNVf5nOA7z49BGkor7kgtyyiw9iHP5AUQeddSystBCiItLFQ34UpTV snXMal/MVnNZy6ZBrjIXATMtRSyhTEzrLc34UWOylwTBboXEk4ok0c/MLuPHqHFvVAdHgN3oj/YbS wHPEgOpSG7vdWmjZdW8A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4x-008fHQ-Cl; Thu, 09 Mar 2023 08:56:51 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4r-008fE8-AW; Thu, 09 Mar 2023 08:56:48 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 0DF70C000C; Thu, 9 Mar 2023 08:56:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1678352200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OsU9P3Ur2VchpA2JUh4YcUF6jVWgdCHPblwwuyxuAmM=; b=EW5TlrV4CQ9Mmh3SXctNaJ3E6vLQDFLpT6USUszQ40PiT/G/H4kAE2HOo8ELaXuTkQPE/7 PtSBDFGEz5+owBxACqFApT/rEhZ1UxHqNQ0JeqAu7Y49D+uyNiZTkb/3qaS0KlqJ0+rphE qIHERnL/qjJdmjUuJZSbLAMEw5XPfRTXbqn2KpThaanjWeSO5BLuTHqBXNc78c2T3tDPoq gxPCqP0Lav/+NoCIm4vbutUJeL5h6HwWDWnvPFToYQgPMhmyieIQfmBLWAYQ3xf2jWpDDV cBud8//oMxWBO+HUTDJcrxne728LVfY0Y7zyx0qQ98HvdR1wEinFBBmNGtj0Cg== Date: Thu, 9 Mar 2023 09:56:31 +0100 From: Miquel Raynal To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Srinivas Kandagatla , Richard Weinberger , Vignesh Raghavendra , Hector Martin , Sven Peter , Alyssa Rosenzweig , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Claudiu Beznea , Matthias Brugger , AngeloGioacchino Del Regno , Andy Gross , Bjorn Andersson , Konrad Dybcio , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Vincent Shih , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kunihiko Hayashi , Masami Hiramatsu , Michal Simek , Alessandro Zummo , Alexandre Belloni , Evgeniy Polyakov , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-rtc@vger.kernel.org Subject: Re: [PATCH V2] nvmem: add explicit config option to read OF fixed cells Message-ID: <20230309095631.7b4f610e@xps-13> In-Reply-To: References: <20230224072903.20945-1-zajec5@gmail.com> <20230308173256.3837b87b@xps-13> <91ff425b4c901648b1faf34c784f20ad@milecki.pl> <20230308190636.7fabab9c@xps-13> <5974d28426057975e701c4a8454b5a13@milecki.pl> <20230308193121.7f5b3d02@xps-13> <930f3549-440d-adac-ae9d-1aa6ef07c44b@gmail.com> <20230309093415.2b1088c8@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230309_005645_655607_EB37E43B X-CRM114-Status: GOOD ( 50.28 ) 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 SGkgUmFmYcWCLAoKcmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBUaHUsIDA5IE1hciAyMDIzIDA5 OjM5OjU0ICswMTAwOgoKPiBPbiAyMDIzLTAzLTA5IDA5OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3Rl Ogo+ID4gSGkgUmFmYcWCLAo+ID4gCj4gPiB6YWplYzVAZ21haWwuY29tIHdyb3RlIG9uIFRodSwg OSBNYXIgMjAyMyAwNzo1NjowNSArMDEwMDoKPiA+ICAgCj4gPj4gT24gOC4wMy4yMDIzIDE5OjMx LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4gPiBIaSBSYWZhxYIsCj4gPj4gPgo+ID4+ID4g cmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBXZWQsIDA4IE1hciAyMDIzIDE5OjEyOjMyICswMTAw Ogo+ID4+ID4gIAo+ID4+ID4+IE9uIDIwMjMtMDMtMDggMTk6MDYsIE1pcXVlbCBSYXluYWwgd3Jv dGU6ICAKPiA+PiA+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pgo+ID4+ID4+PiByYWZhbEBtaWxlY2tp LnBsIHdyb3RlIG9uIFdlZCwgMDggTWFyIDIwMjMgMTc6NTU6NDYgKzAxMDA6ICAKPiA+PiA+Pj4g ICAgPj4+PiBPbiAyMDIzLTAzLTA4IDE3OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4g Pj4+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gemFqZWM1QGdtYWlsLmNvbSB3 cm90ZSBvbiBGcmksIDI0IEZlYiAyMDIzIDA4OjI5OjAzICswMTAwOiAgCj4gPj4gPj4+Pj4gICA+ Pj4+Pj4gRnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPiAgCj4gPj4gPj4+ Pj4+Pj4gTlZNRU0gc3Vic3lzdGVtIGxvb2tzIGZvciBmaXhlZCBOVk1FTSBjZWxscyAoc3BlY2lm aWVkIGluIERUKSBieSAgCj4gPj4gPj4+Pj4+IGRlZmF1bHQuIFRoaXMgYmVoYXZpb3VyIG1hZGUg c2Vuc2UgaW4gZWFybHkgZGF5cyBiZWZvcmUgYWRkaW5nIHN1cHBvcnQKPiA+PiA+Pj4+Pj4gZm9y IGR5bmFtaWMgY2VsbHMuICAKPiA+PiA+Pj4+Pj4+PiBXaXRoIGV2ZXJ5IG5ldyBzdXBwb3J0ZWQg TlZNRU0gZGV2aWNlIHdpdGggZHluYW1pYyBjZWxscyBjdXJyZW50ICAKPiA+PiA+Pj4+Pj4gYmVo YXZpb3VyIGJlY29tZXMgbm9uLW9wdGltYWwuIEl0IHJlc3VsdHMgaW4gdW5uZWVkZWQgaXRlcmF0 aW5nIG92ZXIgPj4gRFQKPiA+PiA+Pj4+Pj4gbm9kZXMgYW5kIG1heSByZXN1bHQgaW4gZmFsc2Ug ZGlzY292ZXJ5IG9mIGNlbGxzIChkZXBlbmRpbmcgb24gdXNlZCBEVAo+ID4+ID4+Pj4+PiBwcm9w ZXJ0aWVzKS4gIAo+ID4+ID4+Pj4+Pj4+IFRoaXMgYmVoYXZpb3VyIGhhcyBhY3R1YWxseSBjYXVz ZWQgYSBwcm9ibGVtIGFscmVhZHkgd2l0aCB0aGUgTVREICAKPiA+PiA+Pj4+Pj4gc3Vic3lzdGVt LiBNVEQgc3VicGFydGl0aW9ucyB3ZXJlIGluY29ycmVjdGx5IHRyZWF0ZWQgYXMgTlZNRU0gY2Vs bHMuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IFRoYXQncyB0cnVlLCBidXQgSSBleHBlY3QgdGhp cyB0byBiZSByZWFsbHkgTVREIHNwZWNpZmljLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gQSBjb25j cmV0ZSBwcm9wb3NhbCBiZWxvdy4gIAo+ID4+ID4+Pj4+ICAgPj4+Pj4+IEFsc28gd2l0aCB1cGNv bWluZyBzdXBwb3J0IGZvciBOVk1FTSBsYXlvdXRzIG5vIG5ldyBiaW5kaW5nIG9yIGRyaXZlciAg Cj4gPj4gPj4+Pj4+IHNob3VsZCBzdXBwb3J0IGZpeGVkIGNlbGxzIGRlZmluZWQgaW4gZGV2aWNl IG5vZGUuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEknbSBub3Qgc3VyZSBJIGFncmVlIHdpdGgg dGhpcyBzdGF0ZW1lbnQuIFdlIGFyZSBub3QgcHJldmVudGluZyBuZXcKPiA+PiA+Pj4+PiBiaW5k aW5nL2RyaXZlciB0byB1c2UgZml4ZWQgY2VsbHMsIG9yLi4uPyBXZSBvZmZlciBhIG5ldyB3YXkg dG8gZXhwb3NlCj4gPj4gPj4+Pj4gbnZtZW0gY2VsbHMgd2l0aCBhbm90aGVyIHdheSB0aGFuICJm aXhlZC1vZmZzZXQiIGFuZCAiZml4ZWQtc2l6ZSIgT0YKPiA+PiA+Pj4+PiBub2Rlcy4gIAo+ID4+ ID4+Pj4+PiAgIEZyb20gd2hhdCBJIHVuZGVyc3Rvb2QgYWxsIG5ldyBOVk1FTSBiaW5kaW5ncyBz aG91bGQgaGF2ZSBjZWxscyA+PiBkZWZpbmVkICAKPiA+PiA+Pj4+IGluIHRoZSBudm1lbS1sYXlv dXQgeyB9IG5vZGUuIFRoYXQncyB3aGF0IEkgbWVhbiBieSBzYXlpbmcgdGhleSBzaG91bGQKPiA+ PiA+Pj4+IG5vdCBiZSBkZWZpbmVkIGluIGRldmljZSBub2RlIChidXQgaXRzICJudm1lbS1sYXlv dXQiIGluc3RlYWQpLiAgCj4gPj4gPj4+Cj4gPj4gPj4+IExheW91dHMgYXJlIGp1c3QgYW5vdGhl ciBwb3NzaWJpbGl0eSwgZWl0aGVyIHlvdSB1c2VyIHRoZSBudm1lbS1jZWxscwo+ID4+ID4+PiBj b21wYXRpYmxlIGFuZCBwcm9kdWNlIG52bWVtIGNlbGxzIHdpdGggZml4ZWQgT0Ygbm9kZXMsIG9y IHlvdSB1c2UgdGhlCj4gPj4gPj4+IG52bWVtLWxheW91dCBjb250YWluZXIuIEkgZG9uJ3QgdGhp bmsgYWxsIG5ldyBiaW5kaW5ncyBzaG91bGQgaGF2ZQo+ID4+ID4+PiBjZWxscyBpbiBsYXlvdXRz LiBJdCBkZXBlbmRzIGlmIHRoZSBjb250ZW50IGlzIHN0YXRpYyBvciBub3QuICAKPiA+PiA+Pj4g ICAgPj4+Pj4+IFNvbHZlIHRoaXMgYnkgbW9kaWZ5aW5nIGRyaXZlcnMgZm9yIGJpbmRpbmdzIHRo YXQgc3VwcG9ydCBzcGVjaWZ5aW5nICAKPiA+PiA+Pj4+Pj4gZml4ZWQgTlZNRU0gY2VsbHMgaW4g RFQuIE1ha2UgdGhlbSBleHBsaWNpdGx5IHRlbGwgTlZNRU0gc3Vic3lzdGVtIHRvCj4gPj4gPj4+ Pj4+IHJlYWQgY2VsbHMgZnJvbSBEVC4gIAo+ID4+ID4+Pj4+Pj4+IEl0IHdhc24ndCBjbGVhciAo dG8gbWUpIGlmIHJ0YyBhbmQgdzEgY29kZSBhY3R1YWxseSB1c2VzIGZpeGVkIGNlbGxzLiA+PiBJ ICAKPiA+PiA+Pj4+Pj4gZW5hYmxlZCB0aGVtIHRvIGRvbid0IHJpc2sgYW55IGJyZWFrYWdlLiAg Cj4gPj4gPj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxl Y2tpLnBsPiAgCj4gPj4gPj4+Pj4+IFtmb3IgZHJpdmVycy9udm1lbS9tZXNvbi17ZWZ1c2UsbXgt ZWZ1c2V9LmNdCj4gPj4gPj4+Pj4+IEFja2VkLWJ5OiBNYXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0 aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgo+ID4+ID4+Pj4+PiAtLS0KPiA+PiA+Pj4+ Pj4gVjI6IEZpeCBzdG0zMi1yb21lbS5jIHR5cG8gYnJlYWtpbmcgaXRzIGNvbXBpbGF0aW9uCj4g Pj4gPj4+Pj4+ICAgICAgUGljayBNYXJ0aW4ncyBBY2tlZC1ieQo+ID4+ID4+Pj4+PiAgICAgIEFk ZCBwYXJhZ3JhcGggYWJvdXQgbGF5b3V0cyBkZXByZWNhdGluZyB1c2VfZml4ZWRfb2ZfY2VsbHMK PiA+PiA+Pj4+Pj4gLS0tCj4gPj4gPj4+Pj4+ICAgZHJpdmVycy9tdGQvbXRkY29yZS5jICAgICAg ICAgIHwgMiArKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vYXBwbGUtZWZ1c2VzLmMgICB8 IDEgKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vY29yZS5jICAgICAgICAgICB8IDggKysr KystLS0KPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC1zY3UuYyAgfCAxICsK PiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC5jICAgICAgfCAxICsKPiA+PiA+ Pj4+Pj4gICBkcml2ZXJzL252bWVtL21lc29uLWVmdXNlLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4g ICBkcml2ZXJzL252bWVtL21lc29uLW14LWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2 ZXJzL252bWVtL21pY3JvY2hpcC1vdHBjLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252 bWVtL210ay1lZnVzZS5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3Fj b20tc3BtaS1zZGFtLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3FmcHJvbS5j ICAgICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JhdmUtc3AtZWVwcm9t LmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JvY2tjaGlwLWVmdXNlLmMgfCAx ICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NjMjd4eC1lZnVzZS5jICAgfCAxICsKPiA+ PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NwcmQtZWZ1c2UuYyAgICAgfCAxICsKPiA+PiA+Pj4+ Pj4gICBkcml2ZXJzL252bWVtL3N0bTMyLXJvbWVtLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBk cml2ZXJzL252bWVtL3N1bnBsdXMtb2NvdHAuYyAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJz L252bWVtL3N1bnhpX3NpZC5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVt L3VuaXBoaWVyLWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3p5bnFt cF9udm1lbS5jICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3J0Yy9udm1lbS5jICAgICAg ICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3cxL3NsYXZlcy93MV9kczI1MHguYyAg fCAxICsKPiA+PiA+Pj4+Pj4gICBpbmNsdWRlL2xpbnV4L252bWVtLXByb3ZpZGVyLmggfCAyICsr Cj4gPj4gPj4+Pj4+ICAgMjMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkgIAo+ID4+ID4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tdGRjb3Jl LmMgYi9kcml2ZXJzL210ZC9tdGRjb3JlLmMgIAo+ID4+ID4+Pj4+PiBpbmRleCAwZmVhY2I5ZmJk YWMuLjFiYjQ3OWMwZjc1OCAxMDA2NDQKPiA+PiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9tdGQvbXRk Y29yZS5jCj4gPj4gPj4+Pj4+ICsrKyBiL2RyaXZlcnMvbXRkL210ZGNvcmUuYwo+ID4+ID4+Pj4+ PiBAQCAtNTIzLDYgKzUyMyw3IEBAIHN0YXRpYyBpbnQgbXRkX252bWVtX2FkZChzdHJ1Y3QgbXRk X2luZm8gKm10ZCkKPiA+PiA+Pj4+Pj4gICAJY29uZmlnLmRldiA9ICZtdGQtPmRldjsKPiA+PiA+ Pj4+Pj4gICAJY29uZmlnLm5hbWUgPSBkZXZfbmFtZSgmbXRkLT5kZXYpOwo+ID4+ID4+Pj4+PiAg IAljb25maWcub3duZXIgPSBUSElTX01PRFVMRTsKPiA+PiA+Pj4+Pj4gKwljb25maWcudXNlX2Zp eGVkX29mX2NlbGxzID0gb2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUobm9kZSwgPj4gIm52bWVtLWNl bGxzIik7ICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEkgYW0gd29uZGVyaW5nIGhvdyBtdGQgc3Bl Y2lmaWMgdGhpcyBpcz8gRm9yIG1lIGFsbCBPRiBub2RlcyBjb250YWluaW5nCj4gPj4gPj4+Pj4g dGhlIG52bWVtLWNlbGxzIGNvbXBhdGlibGUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgY2VsbHMgcHJv dmlkZXJzIGFuZAo+ID4+ID4+Pj4+IHBvcHVsYXRlIG52bWVtIGNlbGxzIGFzIGZvciBlYWNoIGNo aWxkcmVuLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gV2h5IGRvbid0IHdlIGp1c3QgY2hlY2sgZm9y IHRoaXMgY29tcGF0aWJsZSB0byBiZSBwcmVzZW50PyBpbgo+ID4+ID4+Pj4+IG52bWVtX2FkZF9j ZWxsc19mcm9tX29mKCkgPyBBbmQgaWYgbm90IHdlIGp1c3Qgc2tpcCB0aGUgb3BlcmF0aW9uLgo+ ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gVGhpcyB3YXkgd2Ugc3RpbGwgZm9sbG93IHRoZSBiaW5kaW5n cyAoZXZlbiB0aG91Z2ggdXNpbmcgbnZtZW0tY2VsbHMgaW4KPiA+PiA+Pj4+PiB0aGUgY29tcGF0 aWJsZSBwcm9wZXJ0eSB0byByZXF1aXJlIGNlbGxzIHBvcHVsYXRpb24gd2FzIGEgbWlzdGFrZSBp bgo+ID4+ID4+Pj4+IHRoZSBmaXJzdCBwbGFjZSwgYXMgZGlzY3Vzc2VkIGluIHRoZSBkZXZsaW5r IHRocmVhZCByZWNlbnRseSkgYnV0IHRoZXJlCj4gPj4gPj4+Pj4gaXMgbm8gbmVlZCBmb3IgYSBw ZXItZHJpdmVyIGNvbmZpZyBvcHRpb24/ICAKPiA+PiA+Pj4+Pj4gVGhpcyBpc24ndCBtdGQgc3Bl Y2lmaWMuIFBsZWFzZSBjaGVjayB0aGlzIHBhdGNoIGZvciBhbGwgb2NjdXJyZW5jZXMgPj4gb2Yg IAo+ID4+ID4+Pj4gdGhlOgo+ID4+ID4+Pj4gdXNlX2ZpeGVkX29mX2NlbGxzID0gdHJ1ZSAgCj4g Pj4gPj4+Pj4+IFRoZSB2ZXJ5IGZpcnN0IG9uZTogZHJpdmVycy9udm1lbS9hcHBsZS1lZnVzZXMu YyBkcml2ZXIgZm9yIHRoZSAgCj4gPj4gPj4+PiAiYXBwbGUsZWZ1c2VzIiBiaW5kaW5nLiBUaGF0 IGJpbmRpbmcgc3VwcG9ydHMgZml4ZWQgT0YgY2VsbHMsIHNlZToKPiA+PiA+Pj4+IERvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9hcHBsZSxlZnVzZXMueWFtbCAgCj4gPj4g Pj4+Cj4gPj4gPj4+IEknbSBzYXlpbmc6IGJhc2VkIG9uIHdoYXQgaGFzIGJlZW4gZW5mb3JjZWQg c28gZmFyLCBJIHdvdWxkIGV4cGVjdCBhbGwKPiA+PiA+Pj4gZml4ZWQgY2VsbCBwcm92aWRlcnMg dG8gY29tZSB3aXRoIG52bWVtLWNlbGxzIGFzIGNvbXBhdGlibGUsIG5vPwo+ID4+ID4+Pgo+ID4+ ID4+PiBJZiB0aGF0J3MgdGhlIGNhc2Ugd2UgY291bGQgdXNlIHRoYXQgYXMgYSBjb21tb24gZGVu b21pbmF0b3I/ICAKPiA+PiA+Pgo+ID4+ID4+IFNvcnJ5LCBJIGRvbid0IGdldCBpdC4gSGF2ZSB5 b3UgY2hlY2tlZAo+ID4+ID4+IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1l bS9hcHBsZSxlZnVzZXMueWFtbAo+ID4+ID4+ID8KPiA+PiA+Pgo+ID4+ID4+IEl0J3MgYSBOVk1F TSBwcm92aWVkIGJpbmRpbmcgd2l0aCBmaXhlZCBjZWxscyB0aGF0IGRvZXNuJ3QgdXNlCj4gPj4g Pj4gbnZtZW0tY2VsbHMgYXMgY29tcGF0aWJsZS4gVGhlcmUgYXJlIG1hbnkgbW9yZS4gIAo+ID4+ ID4KPiA+PiA+IE9oIHllYWggeW91J3JlIHJpZ2h0LCBJJ20gbWl4aW5nIHRoaW5ncy4gV2VsbCBJ IGd1ZXNzIHlvdSdyZSByaWdodAo+ID4+ID4gdGhlbiwgaXQncyBzdWNoIGEgbWVzcywgd2UgaGF2 ZSB0byB0ZWxsIHRoZSBjb3JlIHRoZSBwYXJzaW5nIG1ldGhvZC4KPiA+PiA+Cj4gPj4gPiBTbyBt YXliZSBhbm90aGVyIHF1ZXN0aW9uOiBkbyB3ZSBoYXZlIG90aGVyIHNpdHVhdGlvbnMgdGhhbiBt dGQgd2hpY2gKPiA+PiA+IHNvbWV0aW1lcyBleHBlY3QgdGhlIG52bWVtIGNvcmUgdG8gcGFyc2Ug dGhlIE9GIG5vZGVzIHRvIHBvcHVsYXRlIGNlbGxzLAo+ID4+ID4gYW5kIHNvbWV0aW1lcyBub3Q/ ICAKPiA+PiA+PiBJJ20gbm90IGF3YXJlIG9mIHRoYXQuIFBsZWFzZSBhbHNvIGNoZWNrIG15IHBh dGNoLiBUaGUgb25seSBjYXNlIEkgc2V0ICAKPiA+PiAidXNlX2ZpeGVkX29mX2NlbGxzIiBjb25k aXRpb25hbGx5IGlzIG10ZCBjb2RlLiBJbiBvdGhlciBjYXNlcyBpdCdzCj4gPj4gaGFyZGNvZGVk IHRvICJ0cnVlIi4gIAo+ID4+ID4+ID4+ID4gQWxzbywgd2hhdCBhYm91dCAib2ZfY2hpbGRyZW5f YXJlX2NlbGxzIiA/IEJlY2F1c2UgYWN0dWFsbHkgaW4gbW9zdCAgCj4gPj4gPiBjYXNlcyBpdCdz IGEgImZpeGVkIG9mIGNlbGwiLCBzbyBJIGRvbid0IGZpbmQgdGhlIGN1cnJlbnQgbmFtaW5nCj4g Pj4gPiBkZXNjcmlwdGl2ZSBlbm91Z2ggZm9yIHNvbWV0aGluZyBzbyB0b3VjaHkuICAKPiA+PiA+ PiBUaGF0IHdvdWxkIGJlIGp1c3QgaW5jb3JyZWN0IGJlY2F1c2UgdGhpcyBuZXcgY29uZmlnIHBy b3BlcnR5ICAKPiA+PiAoInVzZV9maXhlZF9vZl9jZWxscyIpIGlzIG9ubHkgYWJvdXQgRklYRUQg Y2VsbHMuICAKPiA+PiA+PiBUaGVyZSBhcmUgY2FzZXMgb2YgT0YgY2hpbGRyZW4gYmVpbmcgY2Vs bHMgYnV0IE5PVCBiZWluZyBmaXhlZCBjZWxscy4gIAo+ID4+IFRoZXkgc2hvdWxkIE5PVCBiZSBw YXJzZWQgYnkgdGhlIG52bWVtX2FkZF9jZWxsc19mcm9tX29mKCkuICAKPiA+PiA+PiBFeGFtcGxl OiAgCj4gPj4gYTYwN2E4NTBiYTFmICgiZHQtYmluZGluZ3M6IG52bWVtOiB1LWJvb3QsZW52OiBh ZGQgYmFzaWMgTlZNRU0gY2VsbHMiKQo+ID4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3Nj bS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC9jb21taXQvP2lkPWE2MDdhODUw YmExZmE5NjZjYmIwMzU1NDRjMTU4OGUyNGE2MzA3ZGYgIAo+ID4gCj4gPiBUaGlzIGlzIGJhY2t3 YXJkcy4gVGhhdCdzIHdoeSBsYXlvdXRzIGhhdmUgYmVlbiBwcm9wb3NlZDogaGF2aW5nCj4gPiBh IGNsZWFyIGZyYW1ld29yayB3ZXJlIHRoZSBudm1lbSBjb3JlIHNob3VsZCBvciBzaG91bGQgbm90 IHBsYXkgd2l0aAo+ID4gdGhlIE9GIGNoaWxkcmVuIG5vZGVzLiBJZiBlYWNoIGJpbmRpbmcgaXMg ZGlmZmVyZW50LCB5b3UgZW5kIHVwIHdpdGgKPiA+IHRoZSBtZXNzIHdlIGhhdmUgdG9kYXksIHdo ZXJlIG5vYm9keSBrbm93cyBob3cgdG8gcHJvcGVybHkKPiA+IHBvcHVsYXRlIHRoZSBjZWxscy4K PiA+IAo+ID4gQW55d2F5LCBpdCdzIG5vdCBhIGJpZyBkZWFsIGVpdGhlciwgaWYgdGhlIGNlbGxz IGFyZSBlbXB0eSB3ZSBjYW4KPiA+IGVhc2lseSBjaGVjayB0aGF0IGFuZCBoYXZlICp5ZXQgYW5v dGhlciogc3BlY2lmaWMgY2FzZSBpbiB0aGUgY29yZS4KPiA+ICAgCj4gPj4gU28gdGhhdCB3b3Vs ZCByZXN1bHQgaW4gVS1Cb290IGVudjoKPiA+PiAxLiBIYXZpbmcgT0YgY2hpbGRyZW4gbm9kZXMg YmVpbmcgY2VsbHMKPiA+PiAyLiBTZXR0aW5nICJvZl9jaGlsZHJlbl9hcmVfY2VsbHMiIHRvIGZh bHNlIChjb3VudGVyLWludHVpdGl2ZSkgdG8gPj4gYXZvaWQgbnZtZW1fYWRkX2NlbGxzX2Zyb21f b2YoKSAgCj4gPiAKPiA+IEFncmVlZC4gU28gd2hhdCBhYm91dCBjb25maWcuaWdub3JlX29mX2No aWxkcmVuPwo+ID4gLSBtdGQgc2V0cyB0aGlzIHRvICFpc19jb21wYXRpYmxlKG52bWVtLWNlbGxz KQo+ID4gLSBub2JvZHkgZWxzZSB0b3VjaGVzIGl0ICh0aGUgY29yZSBkb24ndCB0cnkgdG8gcGFy c2UgdGhlIGNlbGwgaWYgaXQncwo+ID4gICBlbXB0eSBzbyBVLUJvb3QgZW52IGRyaXZlciB3b3Jr cykgIAo+IAo+ICJpZ25vcmVfb2ZfY2hpbGRyZW4iIHdvdWxkIGhhdmUgb3Bwb3NpdGUgKHJldmVy c2VkKSBtZWFuaW5nIHRvIHRoZQo+ICJ1c2VfZml4ZWRfb2ZfY2VsbHMiOgo+IDEuIEJ5IGRlZmF1 bHQgaXQgd291bGQgYmUgMCAvIGZhbHNlCj4gMi4gQnkgZGVmYXVsdCBOVk1FTSBjb2RlIHdvdWxk IE5PVCBpZ25vcmUgT0YgY2hpbGRyZW4gbm9kZXMKPiAKPiBUaGF0IGlzIHdoYXQgSSBhY3R1YWxs eSAqZG9uJ3QqIHdhbnQuCj4gCj4gSGF2aW5nIE5WTUVNIGNvcmUgbG9vayBmb3IgZml4ZWQgY2Vs bHMgaW4gZGV2aWNlIG5vZGUgaXMgdW5kZXNpcmFibGUuCgpJcyBpdD8KCkkgdGhpbmsgdGhpcyBp cyB0aGUgc3RhbmRhcmQgY2FzZS4gTW9zdCBvZiB0aGUgdGltZSBmaXhlZCBjZWxscyBhcmUKdGhl IHNpbXBsZXN0IGFuZCBtb3N0IGRpcmVjdCBhcHByb2FjaC4gSSBkb24ndCBnZXQgd2h5IHdlIHdv dWxkIGxpa2UKdG8gcHJldmVudCBpdCBhdCBzb21lIHBvaW50PyBPbmx5IHRoZSBtb3JlIGFkdmFu Y2VkIHN0dWZmIHRoYXQgZG9lcyBub3QKZml0IHRoZSBwdXJwb3NlIG9mIGZpeGVkIE9GIGNlbGxz IHNob3VsZCBnbyB0aHJvdWdoIGxheW91dHMuCgo+IEkgd2FudCB0aGF0IGZlYXR1cmUgdG8gYmUg b2ZmIGJ5IGRlZmF1bHQuIEkgd2FudCBkZXZpY2VzIHRvIGhhdmUgdG8KPiBlbmFibGUgaXQgZXhw bGljaXRseSBvbmx5IHdoZW4gaXQncyBuZWVkZWQuCgpXZWxsLCB0aGF0J3MgZXhhY3RseSB0aGUg b3Bwb3NpdGUgb2Ygd2hhdCBudm1lbSBkb2VzIHJpZ2h0IG5vdywgdGhhdCdzCm1heWJlIHdoeSBy ZXZpZXdlcnMgZG9uJ3QgZ2V0IHRoZSBpbnRlcmVzdCBvZiB0aGUgY3VycmVudAppbXBsZW1lbnRh dGlvbjogaXQgaGFzIG1hbnkgaW1wYWN0cyBvbiB1c2VycyB3aGljaCBzaG91bGQgbm90IGJlCmlt cGFjdGVkIGp1c3QgYmVjYXVzZSB3ZSBtZXNzZWQgd2l0aCBtdGQuCgpUaGFua3MsCk1pcXXDqGwK 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 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 DAA25C6FD1F for ; Thu, 9 Mar 2023 08:57:06 +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:MIME-Version:References:In-Reply-To: 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=MYgxPOXM6NGXvpffPyYbL8GutkXpFLyFbn1LZyIZqEQ=; b=g6fDFvBSu5C4TJ D2wLxraOUlTDFGBPW4rCH5zLBt1CJ40891FHJ7b/fsYGRp+5gulaRZ81mSjo5s8jJP56eKam3Iacn dLcd3m45fva96X/3/0Zyic8vDZDG+0Xer0q2Snv5+/m1/SB4co1RFjBXxr9F//FRqYmhdpwfeNXw3 sznQQE8AEMVhKZXxpLF5xHYjw2+DY9+cY5a4YzcyswqyhydbiboPj+7EQ8C/LlKERfQpSntX4AVV7 t1E6GoIJVEJzHA8klncojQYthDs4MOsIW8UaJnC8D6FE1adT5Id0jIGXVZqoYIo893Q1Iqjdz3oI1 hxaJV1yDWPuh4u0jSujw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4z-008fIA-2C; Thu, 09 Mar 2023 08:56:53 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1paC4r-008fE8-AW; Thu, 09 Mar 2023 08:56:48 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 0DF70C000C; Thu, 9 Mar 2023 08:56:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1678352200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OsU9P3Ur2VchpA2JUh4YcUF6jVWgdCHPblwwuyxuAmM=; b=EW5TlrV4CQ9Mmh3SXctNaJ3E6vLQDFLpT6USUszQ40PiT/G/H4kAE2HOo8ELaXuTkQPE/7 PtSBDFGEz5+owBxACqFApT/rEhZ1UxHqNQ0JeqAu7Y49D+uyNiZTkb/3qaS0KlqJ0+rphE qIHERnL/qjJdmjUuJZSbLAMEw5XPfRTXbqn2KpThaanjWeSO5BLuTHqBXNc78c2T3tDPoq gxPCqP0Lav/+NoCIm4vbutUJeL5h6HwWDWnvPFToYQgPMhmyieIQfmBLWAYQ3xf2jWpDDV cBud8//oMxWBO+HUTDJcrxne728LVfY0Y7zyx0qQ98HvdR1wEinFBBmNGtj0Cg== Date: Thu, 9 Mar 2023 09:56:31 +0100 From: Miquel Raynal To: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Srinivas Kandagatla , Richard Weinberger , Vignesh Raghavendra , Hector Martin , Sven Peter , Alyssa Rosenzweig , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Claudiu Beznea , Matthias Brugger , AngeloGioacchino Del Regno , Andy Gross , Bjorn Andersson , Konrad Dybcio , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Maxime Coquelin , Alexandre Torgue , Vincent Shih , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Kunihiko Hayashi , Masami Hiramatsu , Michal Simek , Alessandro Zummo , Alexandre Belloni , Evgeniy Polyakov , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, linux-rtc@vger.kernel.org Subject: Re: [PATCH V2] nvmem: add explicit config option to read OF fixed cells Message-ID: <20230309095631.7b4f610e@xps-13> In-Reply-To: References: <20230224072903.20945-1-zajec5@gmail.com> <20230308173256.3837b87b@xps-13> <91ff425b4c901648b1faf34c784f20ad@milecki.pl> <20230308190636.7fabab9c@xps-13> <5974d28426057975e701c4a8454b5a13@milecki.pl> <20230308193121.7f5b3d02@xps-13> <930f3549-440d-adac-ae9d-1aa6ef07c44b@gmail.com> <20230309093415.2b1088c8@xps-13> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230309_005645_655607_EB37E43B X-CRM114-Status: GOOD ( 50.28 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgUmFmYcWCLAoKcmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBUaHUsIDA5IE1hciAyMDIzIDA5 OjM5OjU0ICswMTAwOgoKPiBPbiAyMDIzLTAzLTA5IDA5OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3Rl Ogo+ID4gSGkgUmFmYcWCLAo+ID4gCj4gPiB6YWplYzVAZ21haWwuY29tIHdyb3RlIG9uIFRodSwg OSBNYXIgMjAyMyAwNzo1NjowNSArMDEwMDoKPiA+ICAgCj4gPj4gT24gOC4wMy4yMDIzIDE5OjMx LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4gPiBIaSBSYWZhxYIsCj4gPj4gPgo+ID4+ID4g cmFmYWxAbWlsZWNraS5wbCB3cm90ZSBvbiBXZWQsIDA4IE1hciAyMDIzIDE5OjEyOjMyICswMTAw Ogo+ID4+ID4gIAo+ID4+ID4+IE9uIDIwMjMtMDMtMDggMTk6MDYsIE1pcXVlbCBSYXluYWwgd3Jv dGU6ICAKPiA+PiA+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pgo+ID4+ID4+PiByYWZhbEBtaWxlY2tp LnBsIHdyb3RlIG9uIFdlZCwgMDggTWFyIDIwMjMgMTc6NTU6NDYgKzAxMDA6ICAKPiA+PiA+Pj4g ICAgPj4+PiBPbiAyMDIzLTAzLTA4IDE3OjM0LCBNaXF1ZWwgUmF5bmFsIHdyb3RlOiAgCj4gPj4g Pj4+Pj4gSGkgUmFmYcWCLAo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gemFqZWM1QGdtYWlsLmNvbSB3 cm90ZSBvbiBGcmksIDI0IEZlYiAyMDIzIDA4OjI5OjAzICswMTAwOiAgCj4gPj4gPj4+Pj4gICA+ Pj4+Pj4gRnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPiAgCj4gPj4gPj4+ Pj4+Pj4gTlZNRU0gc3Vic3lzdGVtIGxvb2tzIGZvciBmaXhlZCBOVk1FTSBjZWxscyAoc3BlY2lm aWVkIGluIERUKSBieSAgCj4gPj4gPj4+Pj4+IGRlZmF1bHQuIFRoaXMgYmVoYXZpb3VyIG1hZGUg c2Vuc2UgaW4gZWFybHkgZGF5cyBiZWZvcmUgYWRkaW5nIHN1cHBvcnQKPiA+PiA+Pj4+Pj4gZm9y IGR5bmFtaWMgY2VsbHMuICAKPiA+PiA+Pj4+Pj4+PiBXaXRoIGV2ZXJ5IG5ldyBzdXBwb3J0ZWQg TlZNRU0gZGV2aWNlIHdpdGggZHluYW1pYyBjZWxscyBjdXJyZW50ICAKPiA+PiA+Pj4+Pj4gYmVo YXZpb3VyIGJlY29tZXMgbm9uLW9wdGltYWwuIEl0IHJlc3VsdHMgaW4gdW5uZWVkZWQgaXRlcmF0 aW5nIG92ZXIgPj4gRFQKPiA+PiA+Pj4+Pj4gbm9kZXMgYW5kIG1heSByZXN1bHQgaW4gZmFsc2Ug ZGlzY292ZXJ5IG9mIGNlbGxzIChkZXBlbmRpbmcgb24gdXNlZCBEVAo+ID4+ID4+Pj4+PiBwcm9w ZXJ0aWVzKS4gIAo+ID4+ID4+Pj4+Pj4+IFRoaXMgYmVoYXZpb3VyIGhhcyBhY3R1YWxseSBjYXVz ZWQgYSBwcm9ibGVtIGFscmVhZHkgd2l0aCB0aGUgTVREICAKPiA+PiA+Pj4+Pj4gc3Vic3lzdGVt LiBNVEQgc3VicGFydGl0aW9ucyB3ZXJlIGluY29ycmVjdGx5IHRyZWF0ZWQgYXMgTlZNRU0gY2Vs bHMuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IFRoYXQncyB0cnVlLCBidXQgSSBleHBlY3QgdGhp cyB0byBiZSByZWFsbHkgTVREIHNwZWNpZmljLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gQSBjb25j cmV0ZSBwcm9wb3NhbCBiZWxvdy4gIAo+ID4+ID4+Pj4+ICAgPj4+Pj4+IEFsc28gd2l0aCB1cGNv bWluZyBzdXBwb3J0IGZvciBOVk1FTSBsYXlvdXRzIG5vIG5ldyBiaW5kaW5nIG9yIGRyaXZlciAg Cj4gPj4gPj4+Pj4+IHNob3VsZCBzdXBwb3J0IGZpeGVkIGNlbGxzIGRlZmluZWQgaW4gZGV2aWNl IG5vZGUuICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEknbSBub3Qgc3VyZSBJIGFncmVlIHdpdGgg dGhpcyBzdGF0ZW1lbnQuIFdlIGFyZSBub3QgcHJldmVudGluZyBuZXcKPiA+PiA+Pj4+PiBiaW5k aW5nL2RyaXZlciB0byB1c2UgZml4ZWQgY2VsbHMsIG9yLi4uPyBXZSBvZmZlciBhIG5ldyB3YXkg dG8gZXhwb3NlCj4gPj4gPj4+Pj4gbnZtZW0gY2VsbHMgd2l0aCBhbm90aGVyIHdheSB0aGFuICJm aXhlZC1vZmZzZXQiIGFuZCAiZml4ZWQtc2l6ZSIgT0YKPiA+PiA+Pj4+PiBub2Rlcy4gIAo+ID4+ ID4+Pj4+PiAgIEZyb20gd2hhdCBJIHVuZGVyc3Rvb2QgYWxsIG5ldyBOVk1FTSBiaW5kaW5ncyBz aG91bGQgaGF2ZSBjZWxscyA+PiBkZWZpbmVkICAKPiA+PiA+Pj4+IGluIHRoZSBudm1lbS1sYXlv dXQgeyB9IG5vZGUuIFRoYXQncyB3aGF0IEkgbWVhbiBieSBzYXlpbmcgdGhleSBzaG91bGQKPiA+ PiA+Pj4+IG5vdCBiZSBkZWZpbmVkIGluIGRldmljZSBub2RlIChidXQgaXRzICJudm1lbS1sYXlv dXQiIGluc3RlYWQpLiAgCj4gPj4gPj4+Cj4gPj4gPj4+IExheW91dHMgYXJlIGp1c3QgYW5vdGhl ciBwb3NzaWJpbGl0eSwgZWl0aGVyIHlvdSB1c2VyIHRoZSBudm1lbS1jZWxscwo+ID4+ID4+PiBj b21wYXRpYmxlIGFuZCBwcm9kdWNlIG52bWVtIGNlbGxzIHdpdGggZml4ZWQgT0Ygbm9kZXMsIG9y IHlvdSB1c2UgdGhlCj4gPj4gPj4+IG52bWVtLWxheW91dCBjb250YWluZXIuIEkgZG9uJ3QgdGhp bmsgYWxsIG5ldyBiaW5kaW5ncyBzaG91bGQgaGF2ZQo+ID4+ID4+PiBjZWxscyBpbiBsYXlvdXRz LiBJdCBkZXBlbmRzIGlmIHRoZSBjb250ZW50IGlzIHN0YXRpYyBvciBub3QuICAKPiA+PiA+Pj4g ICAgPj4+Pj4+IFNvbHZlIHRoaXMgYnkgbW9kaWZ5aW5nIGRyaXZlcnMgZm9yIGJpbmRpbmdzIHRo YXQgc3VwcG9ydCBzcGVjaWZ5aW5nICAKPiA+PiA+Pj4+Pj4gZml4ZWQgTlZNRU0gY2VsbHMgaW4g RFQuIE1ha2UgdGhlbSBleHBsaWNpdGx5IHRlbGwgTlZNRU0gc3Vic3lzdGVtIHRvCj4gPj4gPj4+ Pj4+IHJlYWQgY2VsbHMgZnJvbSBEVC4gIAo+ID4+ID4+Pj4+Pj4+IEl0IHdhc24ndCBjbGVhciAo dG8gbWUpIGlmIHJ0YyBhbmQgdzEgY29kZSBhY3R1YWxseSB1c2VzIGZpeGVkIGNlbGxzLiA+PiBJ ICAKPiA+PiA+Pj4+Pj4gZW5hYmxlZCB0aGVtIHRvIGRvbid0IHJpc2sgYW55IGJyZWFrYWdlLiAg Cj4gPj4gPj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxl Y2tpLnBsPiAgCj4gPj4gPj4+Pj4+IFtmb3IgZHJpdmVycy9udm1lbS9tZXNvbi17ZWZ1c2UsbXgt ZWZ1c2V9LmNdCj4gPj4gPj4+Pj4+IEFja2VkLWJ5OiBNYXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0 aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgo+ID4+ID4+Pj4+PiAtLS0KPiA+PiA+Pj4+ Pj4gVjI6IEZpeCBzdG0zMi1yb21lbS5jIHR5cG8gYnJlYWtpbmcgaXRzIGNvbXBpbGF0aW9uCj4g Pj4gPj4+Pj4+ICAgICAgUGljayBNYXJ0aW4ncyBBY2tlZC1ieQo+ID4+ID4+Pj4+PiAgICAgIEFk ZCBwYXJhZ3JhcGggYWJvdXQgbGF5b3V0cyBkZXByZWNhdGluZyB1c2VfZml4ZWRfb2ZfY2VsbHMK PiA+PiA+Pj4+Pj4gLS0tCj4gPj4gPj4+Pj4+ICAgZHJpdmVycy9tdGQvbXRkY29yZS5jICAgICAg ICAgIHwgMiArKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vYXBwbGUtZWZ1c2VzLmMgICB8 IDEgKwo+ID4+ID4+Pj4+PiAgIGRyaXZlcnMvbnZtZW0vY29yZS5jICAgICAgICAgICB8IDggKysr KystLS0KPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC1zY3UuYyAgfCAxICsK PiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL2lteC1vY290cC5jICAgICAgfCAxICsKPiA+PiA+ Pj4+Pj4gICBkcml2ZXJzL252bWVtL21lc29uLWVmdXNlLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4g ICBkcml2ZXJzL252bWVtL21lc29uLW14LWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2 ZXJzL252bWVtL21pY3JvY2hpcC1vdHBjLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252 bWVtL210ay1lZnVzZS5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3Fj b20tc3BtaS1zZGFtLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3FmcHJvbS5j ICAgICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JhdmUtc3AtZWVwcm9t LmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3JvY2tjaGlwLWVmdXNlLmMgfCAx ICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NjMjd4eC1lZnVzZS5jICAgfCAxICsKPiA+ PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3NwcmQtZWZ1c2UuYyAgICAgfCAxICsKPiA+PiA+Pj4+ Pj4gICBkcml2ZXJzL252bWVtL3N0bTMyLXJvbWVtLmMgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBk cml2ZXJzL252bWVtL3N1bnBsdXMtb2NvdHAuYyAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJz L252bWVtL3N1bnhpX3NpZC5jICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVt L3VuaXBoaWVyLWVmdXNlLmMgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL252bWVtL3p5bnFt cF9udm1lbS5jICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3J0Yy9udm1lbS5jICAgICAg ICAgICAgfCAxICsKPiA+PiA+Pj4+Pj4gICBkcml2ZXJzL3cxL3NsYXZlcy93MV9kczI1MHguYyAg fCAxICsKPiA+PiA+Pj4+Pj4gICBpbmNsdWRlL2xpbnV4L252bWVtLXByb3ZpZGVyLmggfCAyICsr Cj4gPj4gPj4+Pj4+ICAgMjMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkgIAo+ID4+ID4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tdGRjb3Jl LmMgYi9kcml2ZXJzL210ZC9tdGRjb3JlLmMgIAo+ID4+ID4+Pj4+PiBpbmRleCAwZmVhY2I5ZmJk YWMuLjFiYjQ3OWMwZjc1OCAxMDA2NDQKPiA+PiA+Pj4+Pj4gLS0tIGEvZHJpdmVycy9tdGQvbXRk Y29yZS5jCj4gPj4gPj4+Pj4+ICsrKyBiL2RyaXZlcnMvbXRkL210ZGNvcmUuYwo+ID4+ID4+Pj4+ PiBAQCAtNTIzLDYgKzUyMyw3IEBAIHN0YXRpYyBpbnQgbXRkX252bWVtX2FkZChzdHJ1Y3QgbXRk X2luZm8gKm10ZCkKPiA+PiA+Pj4+Pj4gICAJY29uZmlnLmRldiA9ICZtdGQtPmRldjsKPiA+PiA+ Pj4+Pj4gICAJY29uZmlnLm5hbWUgPSBkZXZfbmFtZSgmbXRkLT5kZXYpOwo+ID4+ID4+Pj4+PiAg IAljb25maWcub3duZXIgPSBUSElTX01PRFVMRTsKPiA+PiA+Pj4+Pj4gKwljb25maWcudXNlX2Zp eGVkX29mX2NlbGxzID0gb2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUobm9kZSwgPj4gIm52bWVtLWNl bGxzIik7ICAKPiA+PiA+Pj4+Pgo+ID4+ID4+Pj4+IEkgYW0gd29uZGVyaW5nIGhvdyBtdGQgc3Bl Y2lmaWMgdGhpcyBpcz8gRm9yIG1lIGFsbCBPRiBub2RlcyBjb250YWluaW5nCj4gPj4gPj4+Pj4g dGhlIG52bWVtLWNlbGxzIGNvbXBhdGlibGUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgY2VsbHMgcHJv dmlkZXJzIGFuZAo+ID4+ID4+Pj4+IHBvcHVsYXRlIG52bWVtIGNlbGxzIGFzIGZvciBlYWNoIGNo aWxkcmVuLgo+ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gV2h5IGRvbid0IHdlIGp1c3QgY2hlY2sgZm9y IHRoaXMgY29tcGF0aWJsZSB0byBiZSBwcmVzZW50PyBpbgo+ID4+ID4+Pj4+IG52bWVtX2FkZF9j ZWxsc19mcm9tX29mKCkgPyBBbmQgaWYgbm90IHdlIGp1c3Qgc2tpcCB0aGUgb3BlcmF0aW9uLgo+ ID4+ID4+Pj4+Cj4gPj4gPj4+Pj4gVGhpcyB3YXkgd2Ugc3RpbGwgZm9sbG93IHRoZSBiaW5kaW5n cyAoZXZlbiB0aG91Z2ggdXNpbmcgbnZtZW0tY2VsbHMgaW4KPiA+PiA+Pj4+PiB0aGUgY29tcGF0 aWJsZSBwcm9wZXJ0eSB0byByZXF1aXJlIGNlbGxzIHBvcHVsYXRpb24gd2FzIGEgbWlzdGFrZSBp bgo+ID4+ID4+Pj4+IHRoZSBmaXJzdCBwbGFjZSwgYXMgZGlzY3Vzc2VkIGluIHRoZSBkZXZsaW5r IHRocmVhZCByZWNlbnRseSkgYnV0IHRoZXJlCj4gPj4gPj4+Pj4gaXMgbm8gbmVlZCBmb3IgYSBw ZXItZHJpdmVyIGNvbmZpZyBvcHRpb24/ICAKPiA+PiA+Pj4+Pj4gVGhpcyBpc24ndCBtdGQgc3Bl Y2lmaWMuIFBsZWFzZSBjaGVjayB0aGlzIHBhdGNoIGZvciBhbGwgb2NjdXJyZW5jZXMgPj4gb2Yg IAo+ID4+ID4+Pj4gdGhlOgo+ID4+ID4+Pj4gdXNlX2ZpeGVkX29mX2NlbGxzID0gdHJ1ZSAgCj4g Pj4gPj4+Pj4+IFRoZSB2ZXJ5IGZpcnN0IG9uZTogZHJpdmVycy9udm1lbS9hcHBsZS1lZnVzZXMu YyBkcml2ZXIgZm9yIHRoZSAgCj4gPj4gPj4+PiAiYXBwbGUsZWZ1c2VzIiBiaW5kaW5nLiBUaGF0 IGJpbmRpbmcgc3VwcG9ydHMgZml4ZWQgT0YgY2VsbHMsIHNlZToKPiA+PiA+Pj4+IERvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1lbS9hcHBsZSxlZnVzZXMueWFtbCAgCj4gPj4g Pj4+Cj4gPj4gPj4+IEknbSBzYXlpbmc6IGJhc2VkIG9uIHdoYXQgaGFzIGJlZW4gZW5mb3JjZWQg c28gZmFyLCBJIHdvdWxkIGV4cGVjdCBhbGwKPiA+PiA+Pj4gZml4ZWQgY2VsbCBwcm92aWRlcnMg dG8gY29tZSB3aXRoIG52bWVtLWNlbGxzIGFzIGNvbXBhdGlibGUsIG5vPwo+ID4+ID4+Pgo+ID4+ ID4+PiBJZiB0aGF0J3MgdGhlIGNhc2Ugd2UgY291bGQgdXNlIHRoYXQgYXMgYSBjb21tb24gZGVu b21pbmF0b3I/ICAKPiA+PiA+Pgo+ID4+ID4+IFNvcnJ5LCBJIGRvbid0IGdldCBpdC4gSGF2ZSB5 b3UgY2hlY2tlZAo+ID4+ID4+IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udm1l bS9hcHBsZSxlZnVzZXMueWFtbAo+ID4+ID4+ID8KPiA+PiA+Pgo+ID4+ID4+IEl0J3MgYSBOVk1F TSBwcm92aWVkIGJpbmRpbmcgd2l0aCBmaXhlZCBjZWxscyB0aGF0IGRvZXNuJ3QgdXNlCj4gPj4g Pj4gbnZtZW0tY2VsbHMgYXMgY29tcGF0aWJsZS4gVGhlcmUgYXJlIG1hbnkgbW9yZS4gIAo+ID4+ ID4KPiA+PiA+IE9oIHllYWggeW91J3JlIHJpZ2h0LCBJJ20gbWl4aW5nIHRoaW5ncy4gV2VsbCBJ IGd1ZXNzIHlvdSdyZSByaWdodAo+ID4+ID4gdGhlbiwgaXQncyBzdWNoIGEgbWVzcywgd2UgaGF2 ZSB0byB0ZWxsIHRoZSBjb3JlIHRoZSBwYXJzaW5nIG1ldGhvZC4KPiA+PiA+Cj4gPj4gPiBTbyBt YXliZSBhbm90aGVyIHF1ZXN0aW9uOiBkbyB3ZSBoYXZlIG90aGVyIHNpdHVhdGlvbnMgdGhhbiBt dGQgd2hpY2gKPiA+PiA+IHNvbWV0aW1lcyBleHBlY3QgdGhlIG52bWVtIGNvcmUgdG8gcGFyc2Ug dGhlIE9GIG5vZGVzIHRvIHBvcHVsYXRlIGNlbGxzLAo+ID4+ID4gYW5kIHNvbWV0aW1lcyBub3Q/ ICAKPiA+PiA+PiBJJ20gbm90IGF3YXJlIG9mIHRoYXQuIFBsZWFzZSBhbHNvIGNoZWNrIG15IHBh dGNoLiBUaGUgb25seSBjYXNlIEkgc2V0ICAKPiA+PiAidXNlX2ZpeGVkX29mX2NlbGxzIiBjb25k aXRpb25hbGx5IGlzIG10ZCBjb2RlLiBJbiBvdGhlciBjYXNlcyBpdCdzCj4gPj4gaGFyZGNvZGVk IHRvICJ0cnVlIi4gIAo+ID4+ID4+ID4+ID4gQWxzbywgd2hhdCBhYm91dCAib2ZfY2hpbGRyZW5f YXJlX2NlbGxzIiA/IEJlY2F1c2UgYWN0dWFsbHkgaW4gbW9zdCAgCj4gPj4gPiBjYXNlcyBpdCdz IGEgImZpeGVkIG9mIGNlbGwiLCBzbyBJIGRvbid0IGZpbmQgdGhlIGN1cnJlbnQgbmFtaW5nCj4g Pj4gPiBkZXNjcmlwdGl2ZSBlbm91Z2ggZm9yIHNvbWV0aGluZyBzbyB0b3VjaHkuICAKPiA+PiA+ PiBUaGF0IHdvdWxkIGJlIGp1c3QgaW5jb3JyZWN0IGJlY2F1c2UgdGhpcyBuZXcgY29uZmlnIHBy b3BlcnR5ICAKPiA+PiAoInVzZV9maXhlZF9vZl9jZWxscyIpIGlzIG9ubHkgYWJvdXQgRklYRUQg Y2VsbHMuICAKPiA+PiA+PiBUaGVyZSBhcmUgY2FzZXMgb2YgT0YgY2hpbGRyZW4gYmVpbmcgY2Vs bHMgYnV0IE5PVCBiZWluZyBmaXhlZCBjZWxscy4gIAo+ID4+IFRoZXkgc2hvdWxkIE5PVCBiZSBw YXJzZWQgYnkgdGhlIG52bWVtX2FkZF9jZWxsc19mcm9tX29mKCkuICAKPiA+PiA+PiBFeGFtcGxl OiAgCj4gPj4gYTYwN2E4NTBiYTFmICgiZHQtYmluZGluZ3M6IG52bWVtOiB1LWJvb3QsZW52OiBh ZGQgYmFzaWMgTlZNRU0gY2VsbHMiKQo+ID4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3Nj bS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4LmdpdC9jb21taXQvP2lkPWE2MDdhODUw YmExZmE5NjZjYmIwMzU1NDRjMTU4OGUyNGE2MzA3ZGYgIAo+ID4gCj4gPiBUaGlzIGlzIGJhY2t3 YXJkcy4gVGhhdCdzIHdoeSBsYXlvdXRzIGhhdmUgYmVlbiBwcm9wb3NlZDogaGF2aW5nCj4gPiBh IGNsZWFyIGZyYW1ld29yayB3ZXJlIHRoZSBudm1lbSBjb3JlIHNob3VsZCBvciBzaG91bGQgbm90 IHBsYXkgd2l0aAo+ID4gdGhlIE9GIGNoaWxkcmVuIG5vZGVzLiBJZiBlYWNoIGJpbmRpbmcgaXMg ZGlmZmVyZW50LCB5b3UgZW5kIHVwIHdpdGgKPiA+IHRoZSBtZXNzIHdlIGhhdmUgdG9kYXksIHdo ZXJlIG5vYm9keSBrbm93cyBob3cgdG8gcHJvcGVybHkKPiA+IHBvcHVsYXRlIHRoZSBjZWxscy4K PiA+IAo+ID4gQW55d2F5LCBpdCdzIG5vdCBhIGJpZyBkZWFsIGVpdGhlciwgaWYgdGhlIGNlbGxz IGFyZSBlbXB0eSB3ZSBjYW4KPiA+IGVhc2lseSBjaGVjayB0aGF0IGFuZCBoYXZlICp5ZXQgYW5v dGhlciogc3BlY2lmaWMgY2FzZSBpbiB0aGUgY29yZS4KPiA+ICAgCj4gPj4gU28gdGhhdCB3b3Vs ZCByZXN1bHQgaW4gVS1Cb290IGVudjoKPiA+PiAxLiBIYXZpbmcgT0YgY2hpbGRyZW4gbm9kZXMg YmVpbmcgY2VsbHMKPiA+PiAyLiBTZXR0aW5nICJvZl9jaGlsZHJlbl9hcmVfY2VsbHMiIHRvIGZh bHNlIChjb3VudGVyLWludHVpdGl2ZSkgdG8gPj4gYXZvaWQgbnZtZW1fYWRkX2NlbGxzX2Zyb21f b2YoKSAgCj4gPiAKPiA+IEFncmVlZC4gU28gd2hhdCBhYm91dCBjb25maWcuaWdub3JlX29mX2No aWxkcmVuPwo+ID4gLSBtdGQgc2V0cyB0aGlzIHRvICFpc19jb21wYXRpYmxlKG52bWVtLWNlbGxz KQo+ID4gLSBub2JvZHkgZWxzZSB0b3VjaGVzIGl0ICh0aGUgY29yZSBkb24ndCB0cnkgdG8gcGFy c2UgdGhlIGNlbGwgaWYgaXQncwo+ID4gICBlbXB0eSBzbyBVLUJvb3QgZW52IGRyaXZlciB3b3Jr cykgIAo+IAo+ICJpZ25vcmVfb2ZfY2hpbGRyZW4iIHdvdWxkIGhhdmUgb3Bwb3NpdGUgKHJldmVy c2VkKSBtZWFuaW5nIHRvIHRoZQo+ICJ1c2VfZml4ZWRfb2ZfY2VsbHMiOgo+IDEuIEJ5IGRlZmF1 bHQgaXQgd291bGQgYmUgMCAvIGZhbHNlCj4gMi4gQnkgZGVmYXVsdCBOVk1FTSBjb2RlIHdvdWxk IE5PVCBpZ25vcmUgT0YgY2hpbGRyZW4gbm9kZXMKPiAKPiBUaGF0IGlzIHdoYXQgSSBhY3R1YWxs eSAqZG9uJ3QqIHdhbnQuCj4gCj4gSGF2aW5nIE5WTUVNIGNvcmUgbG9vayBmb3IgZml4ZWQgY2Vs bHMgaW4gZGV2aWNlIG5vZGUgaXMgdW5kZXNpcmFibGUuCgpJcyBpdD8KCkkgdGhpbmsgdGhpcyBp cyB0aGUgc3RhbmRhcmQgY2FzZS4gTW9zdCBvZiB0aGUgdGltZSBmaXhlZCBjZWxscyBhcmUKdGhl IHNpbXBsZXN0IGFuZCBtb3N0IGRpcmVjdCBhcHByb2FjaC4gSSBkb24ndCBnZXQgd2h5IHdlIHdv dWxkIGxpa2UKdG8gcHJldmVudCBpdCBhdCBzb21lIHBvaW50PyBPbmx5IHRoZSBtb3JlIGFkdmFu Y2VkIHN0dWZmIHRoYXQgZG9lcyBub3QKZml0IHRoZSBwdXJwb3NlIG9mIGZpeGVkIE9GIGNlbGxz IHNob3VsZCBnbyB0aHJvdWdoIGxheW91dHMuCgo+IEkgd2FudCB0aGF0IGZlYXR1cmUgdG8gYmUg b2ZmIGJ5IGRlZmF1bHQuIEkgd2FudCBkZXZpY2VzIHRvIGhhdmUgdG8KPiBlbmFibGUgaXQgZXhw bGljaXRseSBvbmx5IHdoZW4gaXQncyBuZWVkZWQuCgpXZWxsLCB0aGF0J3MgZXhhY3RseSB0aGUg b3Bwb3NpdGUgb2Ygd2hhdCBudm1lbSBkb2VzIHJpZ2h0IG5vdywgdGhhdCdzCm1heWJlIHdoeSBy ZXZpZXdlcnMgZG9uJ3QgZ2V0IHRoZSBpbnRlcmVzdCBvZiB0aGUgY3VycmVudAppbXBsZW1lbnRh dGlvbjogaXQgaGFzIG1hbnkgaW1wYWN0cyBvbiB1c2VycyB3aGljaCBzaG91bGQgbm90IGJlCmlt cGFjdGVkIGp1c3QgYmVjYXVzZSB3ZSBtZXNzZWQgd2l0aCBtdGQuCgpUaGFua3MsCk1pcXXDqGwK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJv Y2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK