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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D020DC636CD for ; Mon, 6 Feb 2023 02:17:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229458AbjBFCRm (ORCPT ); Sun, 5 Feb 2023 21:17:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49916 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229448AbjBFCRl (ORCPT ); Sun, 5 Feb 2023 21:17:41 -0500 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 436901449A for ; Sun, 5 Feb 2023 18:17:40 -0800 (PST) Received: by mail-pj1-x1034.google.com with SMTP id j1so4411082pjd.0 for ; Sun, 05 Feb 2023 18:17:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=RSCcBfpFx27k5jo73WqKC+GBby05AcR0pwPtUdl1A78=; b=IDldv4T93/suoqaYrQKEpYs3Shk6Y7pMmWyNV6gbNcmg0H5/Z7ncZDkATuEQvIFJ5U SzI6R53ESC2ljqT203Fhg3cnDSSBeHmPkjKwQ1L5TYD3I2F83ME8IGnrA6uBH1i7ugQT mVvvm/BiJtTGjPq6pb5o/7jf1xGH6MZH0NJ6IqSlmFyKjc/s/0P4W6iIrDMk9Y11wskY +Vl/+OOZl2J+nZ39NLtCs8VQg80O+CQo/slgUdjqd5VJ0U458HpJQJn44I0jqgfR/ScC uJOTDzd9ug2k8rMSShxLOcW9hHfgPCnHpwNcd1sTELat7+nfNpEFUP+BLOj482fRY+B+ dxCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RSCcBfpFx27k5jo73WqKC+GBby05AcR0pwPtUdl1A78=; b=IsvChK76hAws3XVSE4Q7Xritj+OvrGqVy915X2bbA5M7v6zfJpcWz2Naj4M6tc5hKc /ahBIanOHCbqmXTuF7Ejb+5rxwHmwhzpLmeWzrfRpL5NWWJylhsriXq43B1v3FL5o7GN D2Subqj2/ksFHmtZ/EgJfs6BCjrlNkIuxR6vlElL4UARVIgfgF3qiomDNyzCi2IMJp0m V2T7rlNCVcOBOyeGwU3BAezQ+AMSIkWdpIUMEbk8xtVGsQjDuOXE6cbaR0CXarViD1Qd YkMlDQg6tSk8dIqzETJdLICeTR6fEQf0RG9Aq/95WSlK0ZZ1WCXiMbPRpDBrnTH4CoBl Nq9g== X-Gm-Message-State: AO0yUKUIpVHjDwpbkuGFB9V8bisvz1YOLGxClXij4k59xKubvpU0v+oP cx4IrVzRnUugkx6r66XXYkcpp6siCaR6KkTkzEv2YA== X-Google-Smtp-Source: AK7set+tOTHApHonHnBpeI6ZdKUgknUlBl3MOGuRo05rSkn/czViDIZrFElGEtlIrThIyT6ZaWv3ixomXgyAd71eq1g= X-Received: by 2002:a17:90a:187:b0:22c:ad5e:e1e3 with SMTP id 7-20020a17090a018700b0022cad5ee1e3mr2933993pjc.141.1675649858903; Sun, 05 Feb 2023 18:17:38 -0800 (PST) MIME-Version: 1.0 References: <20230127001141.407071-1-saravanak@google.com> <20230130085542.38546-1-naresh.kamboju@linaro.org> <20230131101813.goaoy32qvrowvyyb@bogus> In-Reply-To: From: Saravana Kannan Date: Sun, 5 Feb 2023 18:17:01 -0800 Message-ID: Subject: Re: [PATCH v2 00/11] fw_devlink improvements To: Maxim Kiselev Cc: Sudeep Holla , Naresh Kamboju , abel.vesa@linaro.org, alexander.stein@ew.tq-group.com, andriy.shevchenko@linux.intel.com, brgl@bgdev.pl, colin.foster@in-advantage.com, cristian.marussi@arm.com, devicetree@vger.kernel.org, dianders@chromium.org, djrscally@gmail.com, dmitry.baryshkov@linaro.org, festevam@gmail.com, fido_max@inbox.ru, frowand.list@gmail.com, geert+renesas@glider.be, geert@linux-m68k.org, gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, jpb@kernel.org, jstultz@google.com, kernel-team@android.com, kernel@pengutronix.de, lenb@kernel.org, linus.walleij@linaro.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux@roeck-us.net, lkft@linaro.org, luca.weiss@fairphone.com, magnus.damm@gmail.com, martin.kepplinger@puri.sm, maz@kernel.org, miquel.raynal@bootlin.com, rafael@kernel.org, robh+dt@kernel.org, s.hauer@pengutronix.de, sakari.ailus@linux.intel.com, shawnguo@kernel.org, tglx@linutronix.de, tony@atomide.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org On Sun, Feb 5, 2023 at 5:32 PM Saravana Kannan wrote= : > > On Fri, Feb 3, 2023 at 1:39 AM Maxim Kiselev wrot= e: > > > > =D0=BF=D1=82, 3 =D1=84=D0=B5=D0=B2=D1=80. 2023 =D0=B3. =D0=B2 09:07, Sa= ravana Kannan : > > > > > > On Thu, Feb 2, 2023 at 9:36 AM Maxim Kiselev = wrote: > > > > > > > > Hi Saravana, > > > > > > > > > Can you try the patch at the end of this email under these > > > > > configurations and tell me which ones fail vs pass? I don't need = logs > > > > > > > > I did these tests and here is the results: > > > > > > Did you hand edit the In-Reply-To: in the header? Because in the > > > thread you are reply to the wrong email, but the context in your emai= l > > > seems to be from the right email. > > > > > > For example, see how your reply isn't under the email you are replyin= g > > > to in this thread overview: > > > https://lore.kernel.org/lkml/20230127001141.407071-1-saravanak@google= .com/#r > > > > > > > 1. On top of this series - Not works > > > > 2. Without this series - Works > > > > 3. On top of the series with the fwnode_dev_initialized() deleted -= Not works > > > > 4. Without this series, with the fwnode_dev_initialized() deleted = - Works > > > > > > > > So your nvmem/core.c patch helps only when it is applied without th= e series. > > > > But despite the fact that this helps to avoid getting stuck at prob= ing > > > > my ethernet device, there is still regression. > > > > > > > > When the ethernet module is loaded it takes a lot of time to drop d= ependency > > > > from the nvmem-cell with mac address. > > > > > > > > Please look at the kernel logs below. > > > > > > The kernel logs below really aren't that useful for me in their > > > current state. See more below. > > > > > > ---8<---- --->8---- > > > > > > > P.S. Your nvmem patch definitely helps to avoid a device probe stuc= k > > > > but look like it is not best way to solve a problem which we discus= sed > > > > in the MTD thread. > > > > > > > > P.P.S. Also I don't know why your nvmem-cell patch doesn't help whe= n it was > > > > applied on top of this series. Maybe I missed something. > > > > > > Yeah, I'm not too sure if the test was done correctly. You also didn'= t > > > answer my question about the dts from my earlier email. > > > https://lore.kernel.org/lkml/CAGETcx8FpmbaRm2CCwqt3BRBpgbogwP5gNB+iA5= OEtuxWVTNLA@mail.gmail.com/#t > > > > > > So, can you please retest config 1 with all pr_debug and dev_dbg in > > > drivers/core/base.c changed to the _info variants? And then share the > > > kernel log from the beginning of boot? Maybe attach it to the email s= o > > > it doesn't get word wrapped by your email client. And please point me > > > to the .dts that corresponds to your board. Without that, I can't > > > debug much. > > > > > > Thanks, > > > Saravana > > > > > Did you hand edit the In-Reply-To: in the header? Because in the > > > thread you are reply to the wrong email, but the context in your emai= l > > > seems to be from the right email. > > > > Sorry for that, it seems like I accidently deleted it. > > > > > So, can you please retest config 1 with all pr_debug and dev_dbg in > > > drivers/core/base.c changed to the _info variants? And then share the > > > kernel log from the beginning of boot? Maybe attach it to the email s= o > > > it doesn't get word wrapped by your email client. And please point me > > > to the .dts that corresponds to your board. Without that, I can't > > > debug much. > > > > Ok, I retested config 1 with all _debug logs changed to the _info. I > > added the kernel log and the dts file to the attachment of this email. > > Ah, so your device is not supported/present upstream? Even though it's > not upstream, I'll help fix this because it should fix what I believe > are unreported issues in upstream. > > Ok I know why configs 1 - 4 behaved the way they did and why my test > patch didn't help. > > After staring at mtd/nvmem code for a few hours I think mtd/nvmem > interaction is kind of a mess. mtd core creates "partition" platform > devices (including for nvmem-cells) that are probed by drivers in > drivers/nvmem. However, there's no driver for "nvmem-cells" partition > platform device. However, the nvmem core creates nvmem_device when > nvmem_register() is called by MTD or these partition platform devices > created by MTD. But these nvmem_devices are added to a nvmem_bus but > the bus has no means to even register a driver (it should really be a > nvmem_class and not nvmem_bus). And the nvmem_device sometimes points > to the DT node of the MTD device or sometimes the partition platform > devices or maybe no DT node at all. > > So it's a mess of multiple devices pointing to the same DT node with > no clear way to identify which ones will point to a DT node and which > ones will probe and which ones won't. In the future, we shouldn't > allow adding new compatible strings for partitions for which we don't > plan on adding nvmem drivers. > > Can you give the patch at the end of the email a shot? It should fix > the issue with this series and without this series. It just avoids > this whole mess by not creating useless platform device for > nvmem-cells compatible DT nodes. Actually, without this series, the patch below will need an additional line of code inside the if block: fwnode_dev_initialized(of_fwnode_handle(child), true); -Saravana > > Thanks, > Saravana > > diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c > index d442fa94c872..88a213f4d651 100644 > --- a/drivers/mtd/mtdpart.c > +++ b/drivers/mtd/mtdpart.c > @@ -577,6 +577,7 @@ static int mtd_part_of_parse(struct mtd_info *master, > { > struct mtd_part_parser *parser; > struct device_node *np; > + struct device_node *child; > struct property *prop; > struct device *dev; > const char *compat; > @@ -594,6 +595,10 @@ static int mtd_part_of_parse(struct mtd_info *master= , > else > np =3D of_get_child_by_name(np, "partitions"); > > + for_each_child_of_node(np, child) > + if (of_device_is_compatible(child, "nvmem-cells")) > + of_node_set_flag(child, OF_POPULATED); > + > of_property_for_each_string(np, "compatible", prop, compat) { > parser =3D mtd_part_get_compatible_parser(compat); > if (!parser) 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 E16CAC636CD for ; Mon, 6 Feb 2023 02:18:53 +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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=5xvK+2VSVQvAtqDpiGaCvp9vDwVLuCTef97bTutz+i4=; b=bT+QLWDLt75JBI Qr9Uy72yR9SjR1N7pE+XOPiazrSXM9FcnkaA/OUfotMADWJjieiZeVtTrs/7fdiryDPgTVta3Ph7d 9FpLccDBgX6/WeJgynF+HsytPkIt117X/admja0dqKcFNitm1j+Tal0tJ1jwlXR1HINVlnACEIjYu uCUJpbsjvojrhjQTvj2yQSvz4NR9zYFyQKKWIOQcEIV2UCcudandqTqaSWopm0d9bqdZJKkOaqtoz FpuBOb/qwq8QGDKt5dPgD5KltL6HF73fI2UChT+J+P+HvaGRu3l20A8hN0U9Zbxs4pGMgzrPtTJFU 2Hs0cMIiij68dG2KF4QA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pOr4l-007B2H-7B; Mon, 06 Feb 2023 02:17:47 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pOr4h-007B1m-Oy for linux-arm-kernel@lists.infradead.org; Mon, 06 Feb 2023 02:17:45 +0000 Received: by mail-pl1-x62f.google.com with SMTP id b5so10683152plz.5 for ; Sun, 05 Feb 2023 18:17:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=RSCcBfpFx27k5jo73WqKC+GBby05AcR0pwPtUdl1A78=; b=IDldv4T93/suoqaYrQKEpYs3Shk6Y7pMmWyNV6gbNcmg0H5/Z7ncZDkATuEQvIFJ5U SzI6R53ESC2ljqT203Fhg3cnDSSBeHmPkjKwQ1L5TYD3I2F83ME8IGnrA6uBH1i7ugQT mVvvm/BiJtTGjPq6pb5o/7jf1xGH6MZH0NJ6IqSlmFyKjc/s/0P4W6iIrDMk9Y11wskY +Vl/+OOZl2J+nZ39NLtCs8VQg80O+CQo/slgUdjqd5VJ0U458HpJQJn44I0jqgfR/ScC uJOTDzd9ug2k8rMSShxLOcW9hHfgPCnHpwNcd1sTELat7+nfNpEFUP+BLOj482fRY+B+ dxCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RSCcBfpFx27k5jo73WqKC+GBby05AcR0pwPtUdl1A78=; b=T+Z4fKA2ObfSyC9dGqUfgWapVxdfgY44Rv88q9cnNrr1pn0HVXtSWqdpCOkq3vr/UJ Ri68agxNwGwSsmLjqW7DOm4Vzl+1yGK//vcHMnNzRf15TmhgrV1Jy+NGJ8GwJkPgwFqU E0sPnO8PYR6F520daGQkP9gloyXI39SvKiAqm8T2353ZzoEeD0SPDKaMlv/6fAH73Oi7 MxmIoXOelD3/WuVjybYk8WowVgmHg/2un+VnjBl1j0Q9ZG4xhVshdX8CGnDw7CJwExHd JqHjHPbORG5WJSnTjVwMZiR5MsdOrJC0v1E2vS13rzCoIOdihY1qhU0gG8HUEHE5tgq5 r7pg== X-Gm-Message-State: AO0yUKU0GQTlQI4Mx0MRLfjVfyQysgeKt8n/H/AzxiJALugpt/DmTqpD GjeMHS4sDCVd/HwRHDFqdRj7a/H9IfwpCW2av4YUJQ== X-Google-Smtp-Source: AK7set+tOTHApHonHnBpeI6ZdKUgknUlBl3MOGuRo05rSkn/czViDIZrFElGEtlIrThIyT6ZaWv3ixomXgyAd71eq1g= X-Received: by 2002:a17:90a:187:b0:22c:ad5e:e1e3 with SMTP id 7-20020a17090a018700b0022cad5ee1e3mr2933993pjc.141.1675649858903; Sun, 05 Feb 2023 18:17:38 -0800 (PST) MIME-Version: 1.0 References: <20230127001141.407071-1-saravanak@google.com> <20230130085542.38546-1-naresh.kamboju@linaro.org> <20230131101813.goaoy32qvrowvyyb@bogus> In-Reply-To: From: Saravana Kannan Date: Sun, 5 Feb 2023 18:17:01 -0800 Message-ID: Subject: Re: [PATCH v2 00/11] fw_devlink improvements To: Maxim Kiselev Cc: Sudeep Holla , Naresh Kamboju , abel.vesa@linaro.org, alexander.stein@ew.tq-group.com, andriy.shevchenko@linux.intel.com, brgl@bgdev.pl, colin.foster@in-advantage.com, cristian.marussi@arm.com, devicetree@vger.kernel.org, dianders@chromium.org, djrscally@gmail.com, dmitry.baryshkov@linaro.org, festevam@gmail.com, fido_max@inbox.ru, frowand.list@gmail.com, geert+renesas@glider.be, geert@linux-m68k.org, gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, jpb@kernel.org, jstultz@google.com, kernel-team@android.com, kernel@pengutronix.de, lenb@kernel.org, linus.walleij@linaro.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux@roeck-us.net, lkft@linaro.org, luca.weiss@fairphone.com, magnus.damm@gmail.com, martin.kepplinger@puri.sm, maz@kernel.org, miquel.raynal@bootlin.com, rafael@kernel.org, robh+dt@kernel.org, s.hauer@pengutronix.de, sakari.ailus@linux.intel.com, shawnguo@kernel.org, tglx@linutronix.de, tony@atomide.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230205_181743_860235_1A76B751 X-CRM114-Status: GOOD ( 54.34 ) 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 T24gU3VuLCBGZWIgNSwgMjAyMyBhdCA1OjMyIFBNIFNhcmF2YW5hIEthbm5hbiA8c2FyYXZhbmFr QGdvb2dsZS5jb20+IHdyb3RlOgo+Cj4gT24gRnJpLCBGZWIgMywgMjAyMyBhdCAxOjM5IEFNIE1h eGltIEtpc2VsZXYgPGJpZ3VuY2xlbWF4QGdtYWlsLmNvbT4gd3JvdGU6Cj4gPgo+ID4g0L/Rgiwg MyDRhNC10LLRgC4gMjAyMyDQsy4g0LIgMDk6MDcsIFNhcmF2YW5hIEthbm5hbiA8c2FyYXZhbmFr QGdvb2dsZS5jb20+Ogo+ID4gPgo+ID4gPiBPbiBUaHUsIEZlYiAyLCAyMDIzIGF0IDk6MzYgQU0g TWF4aW0gS2lzZWxldiA8YmlndW5jbGVtYXhAZ21haWwuY29tPiB3cm90ZToKPiA+ID4gPgo+ID4g PiA+IEhpIFNhcmF2YW5hLAo+ID4gPiA+Cj4gPiA+ID4gPiBDYW4geW91IHRyeSB0aGUgcGF0Y2gg YXQgdGhlIGVuZCBvZiB0aGlzIGVtYWlsIHVuZGVyIHRoZXNlCj4gPiA+ID4gPiBjb25maWd1cmF0 aW9ucyBhbmQgdGVsbCBtZSB3aGljaCBvbmVzIGZhaWwgdnMgcGFzcz8gSSBkb24ndCBuZWVkIGxv Z3MKPiA+ID4gPgo+ID4gPiA+IEkgZGlkIHRoZXNlIHRlc3RzIGFuZCBoZXJlIGlzIHRoZSByZXN1 bHRzOgo+ID4gPgo+ID4gPiBEaWQgeW91IGhhbmQgZWRpdCB0aGUgSW4tUmVwbHktVG86IGluIHRo ZSBoZWFkZXI/IEJlY2F1c2UgaW4gdGhlCj4gPiA+IHRocmVhZCB5b3UgYXJlIHJlcGx5IHRvIHRo ZSB3cm9uZyBlbWFpbCwgYnV0IHRoZSBjb250ZXh0IGluIHlvdXIgZW1haWwKPiA+ID4gc2VlbXMg dG8gYmUgZnJvbSB0aGUgcmlnaHQgZW1haWwuCj4gPiA+Cj4gPiA+IEZvciBleGFtcGxlLCBzZWUg aG93IHlvdXIgcmVwbHkgaXNuJ3QgdW5kZXIgdGhlIGVtYWlsIHlvdSBhcmUgcmVwbHlpbmcKPiA+ ID4gdG8gaW4gdGhpcyB0aHJlYWQgb3ZlcnZpZXc6Cj4gPiA+IGh0dHBzOi8vbG9yZS5rZXJuZWwu b3JnL2xrbWwvMjAyMzAxMjcwMDExNDEuNDA3MDcxLTEtc2FyYXZhbmFrQGdvb2dsZS5jb20vI3IK PiA+ID4KPiA+ID4gPiAxLiBPbiB0b3Agb2YgdGhpcyBzZXJpZXMgLSBOb3Qgd29ya3MKPiA+ID4g PiAyLiBXaXRob3V0IHRoaXMgc2VyaWVzICAgIC0gV29ya3MKPiA+ID4gPiAzLiBPbiB0b3Agb2Yg dGhlIHNlcmllcyB3aXRoIHRoZSBmd25vZGVfZGV2X2luaXRpYWxpemVkKCkgZGVsZXRlZCAtIE5v dCB3b3Jrcwo+ID4gPiA+IDQuIFdpdGhvdXQgdGhpcyBzZXJpZXMsIHdpdGggdGhlIGZ3bm9kZV9k ZXZfaW5pdGlhbGl6ZWQoKSBkZWxldGVkICAtIFdvcmtzCj4gPiA+ID4KPiA+ID4gPiBTbyB5b3Vy IG52bWVtL2NvcmUuYyBwYXRjaCBoZWxwcyBvbmx5IHdoZW4gaXQgaXMgYXBwbGllZCB3aXRob3V0 IHRoZSBzZXJpZXMuCj4gPiA+ID4gQnV0IGRlc3BpdGUgdGhlIGZhY3QgdGhhdCB0aGlzIGhlbHBz IHRvIGF2b2lkIGdldHRpbmcgc3R1Y2sgYXQgcHJvYmluZwo+ID4gPiA+IG15IGV0aGVybmV0IGRl dmljZSwgdGhlcmUgaXMgc3RpbGwgcmVncmVzc2lvbi4KPiA+ID4gPgo+ID4gPiA+IFdoZW4gdGhl IGV0aGVybmV0IG1vZHVsZSBpcyBsb2FkZWQgaXQgdGFrZXMgYSBsb3Qgb2YgdGltZSB0byBkcm9w IGRlcGVuZGVuY3kKPiA+ID4gPiBmcm9tIHRoZSBudm1lbS1jZWxsIHdpdGggbWFjIGFkZHJlc3Mu Cj4gPiA+ID4KPiA+ID4gPiBQbGVhc2UgbG9vayBhdCB0aGUga2VybmVsIGxvZ3MgYmVsb3cuCj4g PiA+Cj4gPiA+IFRoZSBrZXJuZWwgbG9ncyBiZWxvdyByZWFsbHkgYXJlbid0IHRoYXQgdXNlZnVs IGZvciBtZSBpbiB0aGVpcgo+ID4gPiBjdXJyZW50IHN0YXRlLiBTZWUgbW9yZSBiZWxvdy4KPiA+ ID4KPiA+ID4gLS0tODwtLS0tIDxzbmlwPiAtLS0+OC0tLS0KPiA+ID4KPiA+ID4gPiBQLlMuIFlv dXIgbnZtZW0gcGF0Y2ggZGVmaW5pdGVseSBoZWxwcyB0byBhdm9pZCBhIGRldmljZSBwcm9iZSBz dHVjawo+ID4gPiA+IGJ1dCBsb29rIGxpa2UgaXQgaXMgbm90IGJlc3Qgd2F5IHRvIHNvbHZlIGEg cHJvYmxlbSB3aGljaCB3ZSBkaXNjdXNzZWQKPiA+ID4gPiBpbiB0aGUgTVREIHRocmVhZC4KPiA+ ID4gPgo+ID4gPiA+IFAuUC5TLiBBbHNvIEkgZG9uJ3Qga25vdyB3aHkgeW91ciBudm1lbS1jZWxs IHBhdGNoIGRvZXNuJ3QgaGVscCB3aGVuIGl0IHdhcwo+ID4gPiA+IGFwcGxpZWQgb24gdG9wIG9m IHRoaXMgc2VyaWVzLiBNYXliZSBJIG1pc3NlZCBzb21ldGhpbmcuCj4gPiA+Cj4gPiA+IFllYWgs IEknbSBub3QgdG9vIHN1cmUgaWYgdGhlIHRlc3Qgd2FzIGRvbmUgY29ycmVjdGx5LiBZb3UgYWxz byBkaWRuJ3QKPiA+ID4gYW5zd2VyIG15IHF1ZXN0aW9uIGFib3V0IHRoZSBkdHMgZnJvbSBteSBl YXJsaWVyIGVtYWlsLgo+ID4gPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sL0NBR0VUY3g4 RnBtYmFSbTJDQ3dxdDNCUkJwZ2JvZ3dQNWdOQitpQTVPRXR1eFdWVE5MQUBtYWlsLmdtYWlsLmNv bS8jdAo+ID4gPgo+ID4gPiBTbywgY2FuIHlvdSBwbGVhc2UgcmV0ZXN0IGNvbmZpZyAxIHdpdGgg YWxsIHByX2RlYnVnIGFuZCBkZXZfZGJnIGluCj4gPiA+IGRyaXZlcnMvY29yZS9iYXNlLmMgY2hh bmdlZCB0byB0aGUgX2luZm8gdmFyaWFudHM/IEFuZCB0aGVuIHNoYXJlIHRoZQo+ID4gPiBrZXJu ZWwgbG9nIGZyb20gdGhlIGJlZ2lubmluZyBvZiBib290PyBNYXliZSBhdHRhY2ggaXQgdG8gdGhl IGVtYWlsIHNvCj4gPiA+IGl0IGRvZXNuJ3QgZ2V0IHdvcmQgd3JhcHBlZCBieSB5b3VyIGVtYWls IGNsaWVudC4gQW5kIHBsZWFzZSBwb2ludCBtZQo+ID4gPiB0byB0aGUgLmR0cyB0aGF0IGNvcnJl c3BvbmRzIHRvIHlvdXIgYm9hcmQuIFdpdGhvdXQgdGhhdCwgSSBjYW4ndAo+ID4gPiBkZWJ1ZyBt dWNoLgo+ID4gPgo+ID4gPiBUaGFua3MsCj4gPiA+IFNhcmF2YW5hCj4gPgo+ID4gPiBEaWQgeW91 IGhhbmQgZWRpdCB0aGUgSW4tUmVwbHktVG86IGluIHRoZSBoZWFkZXI/IEJlY2F1c2UgaW4gdGhl Cj4gPiA+IHRocmVhZCB5b3UgYXJlIHJlcGx5IHRvIHRoZSB3cm9uZyBlbWFpbCwgYnV0IHRoZSBj b250ZXh0IGluIHlvdXIgZW1haWwKPiA+ID4gc2VlbXMgdG8gYmUgZnJvbSB0aGUgcmlnaHQgZW1h aWwuCj4gPgo+ID4gU29ycnkgZm9yIHRoYXQsIGl0IHNlZW1zIGxpa2UgSSBhY2NpZGVudGx5IGRl bGV0ZWQgaXQuCj4gPgo+ID4gPiBTbywgY2FuIHlvdSBwbGVhc2UgcmV0ZXN0IGNvbmZpZyAxIHdp dGggYWxsIHByX2RlYnVnIGFuZCBkZXZfZGJnIGluCj4gPiA+IGRyaXZlcnMvY29yZS9iYXNlLmMg Y2hhbmdlZCB0byB0aGUgX2luZm8gdmFyaWFudHM/IEFuZCB0aGVuIHNoYXJlIHRoZQo+ID4gPiBr ZXJuZWwgbG9nIGZyb20gdGhlIGJlZ2lubmluZyBvZiBib290PyBNYXliZSBhdHRhY2ggaXQgdG8g dGhlIGVtYWlsIHNvCj4gPiA+IGl0IGRvZXNuJ3QgZ2V0IHdvcmQgd3JhcHBlZCBieSB5b3VyIGVt YWlsIGNsaWVudC4gQW5kIHBsZWFzZSBwb2ludCBtZQo+ID4gPiB0byB0aGUgLmR0cyB0aGF0IGNv cnJlc3BvbmRzIHRvIHlvdXIgYm9hcmQuIFdpdGhvdXQgdGhhdCwgSSBjYW4ndAo+ID4gPiBkZWJ1 ZyBtdWNoLgo+ID4KPiA+IE9rLCBJIHJldGVzdGVkIGNvbmZpZyAxIHdpdGggYWxsIF9kZWJ1ZyBs b2dzIGNoYW5nZWQgdG8gdGhlIF9pbmZvLiBJCj4gPiBhZGRlZCB0aGUga2VybmVsIGxvZyBhbmQg dGhlIGR0cyBmaWxlIHRvIHRoZSBhdHRhY2htZW50IG9mIHRoaXMgZW1haWwuCj4KPiBBaCwgc28g eW91ciBkZXZpY2UgaXMgbm90IHN1cHBvcnRlZC9wcmVzZW50IHVwc3RyZWFtPyBFdmVuIHRob3Vn aCBpdCdzCj4gbm90IHVwc3RyZWFtLCBJJ2xsIGhlbHAgZml4IHRoaXMgYmVjYXVzZSBpdCBzaG91 bGQgZml4IHdoYXQgSSBiZWxpZXZlCj4gYXJlIHVucmVwb3J0ZWQgaXNzdWVzIGluIHVwc3RyZWFt Lgo+Cj4gT2sgSSBrbm93IHdoeSBjb25maWdzIDEgLSA0IGJlaGF2ZWQgdGhlIHdheSB0aGV5IGRp ZCBhbmQgd2h5IG15IHRlc3QKPiBwYXRjaCBkaWRuJ3QgaGVscC4KPgo+IEFmdGVyIHN0YXJpbmcg YXQgbXRkL252bWVtIGNvZGUgZm9yIGEgZmV3IGhvdXJzIEkgdGhpbmsgbXRkL252bWVtCj4gaW50 ZXJhY3Rpb24gaXMga2luZCBvZiBhIG1lc3MuIG10ZCBjb3JlIGNyZWF0ZXMgInBhcnRpdGlvbiIg cGxhdGZvcm0KPiBkZXZpY2VzIChpbmNsdWRpbmcgZm9yIG52bWVtLWNlbGxzKSB0aGF0IGFyZSBw cm9iZWQgYnkgZHJpdmVycyBpbgo+IGRyaXZlcnMvbnZtZW0uIEhvd2V2ZXIsIHRoZXJlJ3Mgbm8g ZHJpdmVyIGZvciAibnZtZW0tY2VsbHMiIHBhcnRpdGlvbgo+IHBsYXRmb3JtIGRldmljZS4gSG93 ZXZlciwgdGhlIG52bWVtIGNvcmUgY3JlYXRlcyBudm1lbV9kZXZpY2Ugd2hlbgo+IG52bWVtX3Jl Z2lzdGVyKCkgaXMgY2FsbGVkIGJ5IE1URCBvciB0aGVzZSBwYXJ0aXRpb24gcGxhdGZvcm0gZGV2 aWNlcwo+IGNyZWF0ZWQgYnkgTVRELiBCdXQgdGhlc2UgbnZtZW1fZGV2aWNlcyBhcmUgYWRkZWQg dG8gYSBudm1lbV9idXMgYnV0Cj4gdGhlIGJ1cyBoYXMgbm8gbWVhbnMgdG8gZXZlbiByZWdpc3Rl ciBhIGRyaXZlciAoaXQgc2hvdWxkIHJlYWxseSBiZSBhCj4gbnZtZW1fY2xhc3MgYW5kIG5vdCBu dm1lbV9idXMpLiBBbmQgdGhlIG52bWVtX2RldmljZSBzb21ldGltZXMgcG9pbnRzCj4gdG8gdGhl IERUIG5vZGUgb2YgdGhlIE1URCBkZXZpY2Ugb3Igc29tZXRpbWVzIHRoZSBwYXJ0aXRpb24gcGxh dGZvcm0KPiBkZXZpY2VzIG9yIG1heWJlIG5vIERUIG5vZGUgYXQgYWxsLgo+Cj4gU28gaXQncyBh IG1lc3Mgb2YgbXVsdGlwbGUgZGV2aWNlcyBwb2ludGluZyB0byB0aGUgc2FtZSBEVCBub2RlIHdp dGgKPiBubyBjbGVhciB3YXkgdG8gaWRlbnRpZnkgd2hpY2ggb25lcyB3aWxsIHBvaW50IHRvIGEg RFQgbm9kZSBhbmQgd2hpY2gKPiBvbmVzIHdpbGwgcHJvYmUgYW5kIHdoaWNoIG9uZXMgd29uJ3Qu IEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZG4ndAo+IGFsbG93IGFkZGluZyBuZXcgY29tcGF0aWJs ZSBzdHJpbmdzIGZvciBwYXJ0aXRpb25zIGZvciB3aGljaCB3ZSBkb24ndAo+IHBsYW4gb24gYWRk aW5nIG52bWVtIGRyaXZlcnMuCj4KPiBDYW4geW91IGdpdmUgdGhlIHBhdGNoIGF0IHRoZSBlbmQg b2YgdGhlIGVtYWlsIGEgc2hvdD8gSXQgc2hvdWxkIGZpeAo+IHRoZSBpc3N1ZSB3aXRoIHRoaXMg c2VyaWVzIGFuZCB3aXRob3V0IHRoaXMgc2VyaWVzLiBJdCBqdXN0IGF2b2lkcwo+IHRoaXMgd2hv bGUgbWVzcyBieSBub3QgY3JlYXRpbmcgdXNlbGVzcyBwbGF0Zm9ybSBkZXZpY2UgZm9yCj4gbnZt ZW0tY2VsbHMgY29tcGF0aWJsZSBEVCBub2Rlcy4KCkFjdHVhbGx5LCB3aXRob3V0IHRoaXMgc2Vy aWVzLCB0aGUgcGF0Y2ggYmVsb3cgd2lsbCBuZWVkIGFuIGFkZGl0aW9uYWwKbGluZSBvZiBjb2Rl IGluc2lkZSB0aGUgaWYgYmxvY2s6CmZ3bm9kZV9kZXZfaW5pdGlhbGl6ZWQob2ZfZndub2RlX2hh bmRsZShjaGlsZCksIHRydWUpOwoKLVNhcmF2YW5hCgo+Cj4gVGhhbmtzLAo+IFNhcmF2YW5hCj4K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbXRkcGFydC5jIGIvZHJpdmVycy9tdGQvbXRkcGFy dC5jCj4gaW5kZXggZDQ0MmZhOTRjODcyLi44OGEyMTNmNGQ2NTEgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9tdGQvbXRkcGFydC5jCj4gKysrIGIvZHJpdmVycy9tdGQvbXRkcGFydC5jCj4gQEAgLTU3 Nyw2ICs1NzcsNyBAQCBzdGF0aWMgaW50IG10ZF9wYXJ0X29mX3BhcnNlKHN0cnVjdCBtdGRfaW5m byAqbWFzdGVyLAo+ICB7Cj4gICAgICAgICBzdHJ1Y3QgbXRkX3BhcnRfcGFyc2VyICpwYXJzZXI7 Cj4gICAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wOwo+ICsgICAgICAgc3RydWN0IGRldmlj ZV9ub2RlICpjaGlsZDsKPiAgICAgICAgIHN0cnVjdCBwcm9wZXJ0eSAqcHJvcDsKPiAgICAgICAg IHN0cnVjdCBkZXZpY2UgKmRldjsKPiAgICAgICAgIGNvbnN0IGNoYXIgKmNvbXBhdDsKPiBAQCAt NTk0LDYgKzU5NSwxMCBAQCBzdGF0aWMgaW50IG10ZF9wYXJ0X29mX3BhcnNlKHN0cnVjdCBtdGRf aW5mbyAqbWFzdGVyLAo+ICAgICAgICAgZWxzZQo+ICAgICAgICAgICAgICAgICBucCA9IG9mX2dl dF9jaGlsZF9ieV9uYW1lKG5wLCAicGFydGl0aW9ucyIpOwo+Cj4gKyAgICAgICBmb3JfZWFjaF9j aGlsZF9vZl9ub2RlKG5wLCBjaGlsZCkKPiArICAgICAgICAgICAgICAgaWYgKG9mX2RldmljZV9p c19jb21wYXRpYmxlKGNoaWxkLCAibnZtZW0tY2VsbHMiKSkKPiArICAgICAgICAgICAgICAgICAg ICAgICBvZl9ub2RlX3NldF9mbGFnKGNoaWxkLCBPRl9QT1BVTEFURUQpOwo+ICsKPiAgICAgICAg IG9mX3Byb3BlcnR5X2Zvcl9lYWNoX3N0cmluZyhucCwgImNvbXBhdGlibGUiLCBwcm9wLCBjb21w YXQpIHsKPiAgICAgICAgICAgICAgICAgcGFyc2VyID0gbXRkX3BhcnRfZ2V0X2NvbXBhdGlibGVf cGFyc2VyKGNvbXBhdCk7Cj4gICAgICAgICAgICAgICAgIGlmICghcGFyc2VyKQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=