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 3365FC63797 for ; Mon, 6 Feb 2023 01:33:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229596AbjBFBdn (ORCPT ); Sun, 5 Feb 2023 20:33:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229493AbjBFBdm (ORCPT ); Sun, 5 Feb 2023 20:33:42 -0500 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9DD721ADDD for ; Sun, 5 Feb 2023 17:33:35 -0800 (PST) Received: by mail-pf1-x434.google.com with SMTP id 144so7301142pfv.11 for ; Sun, 05 Feb 2023 17:33:35 -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=kR2veBWbyNFgGYItTwFdh8lQbfIA4xIECeB4pO18LrU=; b=PFwbPgvDzQZdf/HQcszjkJRBI+TWwVFkCgQ1pTZtuRTIo/wlIT3BHJKZePYl3rA+JP 95hFB5vyzqBz1Jc54SILNs4ShJ7POM1/z2u66WJgYrGohpZnBl1sBMdI0mKh7YShxBiz 2w1gVgSrKCBfhH4ANXDeYDIYzg7AsUBAinEloUsjVb7gYNAHQoWVKnGUFh6d4pnFpoQb 1Q95oO5u5QznQa0IK6GWq/1414ezGBU9VQsaDUenD0Pmd8P7aAztAaPsq9YWbsbIqMc2 poo5WlAJbhJjVL7wJeGcis+SKQ5KrWaWg/FwaNXAFve7SvEGnI7TLg35saERb0k96x+I luxw== 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=kR2veBWbyNFgGYItTwFdh8lQbfIA4xIECeB4pO18LrU=; b=sBmpR3ktS8k83JHxzt/Maq1TYpW2hPtgswNsEuBagj6A40wD3E8OJzCJkvtL29se4E E69KSgN2q9/ltHy6AszR9ya/OwM3PkTg5OMS5B0u+HoBo9s5bLIlDgb4jMYLcmuMFUzr rni7LPoVIwFk1wYSCnTA/mOhOUzEidXDJ+pU5SXr4U1JDzqDR3tLGUeVFTE53Wj7GOIf ae/a1070K7sBzSe3oHC8PU8+IYD3N/bEP8CZpMHWqkB8MOuww/fOW5xWBwYNLPlLI9Xn YrXcrlW68istI5N0KooBEt0HZlce2J3SbihOvMK7/cfOclU02dlA1fy4EDkMVDxh3vP7 MD9w== X-Gm-Message-State: AO0yUKUlIQpYkjgsX6hneAPHiUGQv6lEsd1+4h6TvRkckU6e/o870XIh WIZ8T3Jz2qoihhIEvSHqvQ7vxFaTLAE25DvI0QZBAg== X-Google-Smtp-Source: AK7set8u1D8Yx0Ns1ik9250I6OIYVxsmLToiLi2hjLdTsjiKPoILrZB8aX+YQXBoINv9ErwXZE6Ko7BYs7yfuVc+TPE= X-Received: by 2002:a62:1a57:0:b0:593:bac2:b49 with SMTP id a84-20020a621a57000000b00593bac20b49mr4285651pfa.44.1675647214386; Sun, 05 Feb 2023 17:33:34 -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 17:32:57 -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 Fri, Feb 3, 2023 at 1:39 AM Maxim Kiselev wrote: > > =D0=BF=D1=82, 3 =D1=84=D0=B5=D0=B2=D1=80. 2023 =D0=B3. =D0=B2 09:07, Sara= vana Kannan : > > > > On Thu, Feb 2, 2023 at 9:36 AM Maxim Kiselev wr= ote: > > > > > > 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 lo= gs > > > > > > 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 email > > seems to be from the right email. > > > > For example, see how your reply isn't under the email you are replying > > to in this thread overview: > > https://lore.kernel.org/lkml/20230127001141.407071-1-saravanak@google.c= om/#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 - N= ot 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 the = series. > > > But despite the fact that this helps to avoid getting stuck at probin= g > > > my ethernet device, there is still regression. > > > > > > When the ethernet module is loaded it takes a lot of time to drop dep= endency > > > 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 stuck > > > but look like it is not best way to solve a problem which we discusse= d > > > in the MTD thread. > > > > > > P.P.S. Also I don't know why your nvmem-cell patch doesn't help when = 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+iA5OE= tuxWVTNLA@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 so > > 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 email > > 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 so > > 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. 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 6547AC636CD for ; Mon, 6 Feb 2023 01:35:02 +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=y87hk5IzYY3kGMQzY1hcXJFISgeJ/F81c8Q2HIlIgzY=; b=GiqaeomTRED5zf +35k/QJzGpePIVSUD+gzNVuiWDKgosfZ3BRdJsTIpjbw8JuLY1N9XbKVCMzqUHeDis/IlBV0aLSxo eUcqy3MFV7LPE6VP/CpopqtDPjCBB0KozavJYR1MwbQm5Xb4ALd8DnTd6UMROqPPbhvNyJ16B7Xgq YjVNso6UMWue9Vr7D4McVRf0uYajtJy5mub0+b9FPqmSNJ4Dy/1Yqt58rFZA8o7P2lqRpLkXm3QhP HPJ62xVLFdIEIFOz/90mpEdjdGSduRlKm7JX5iUu467ArqxO+Ecj04KyYIENbDuPKyS2XM5aSpfSY xp4AkpnDqYW6aVlpx7FA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pOqO6-0077m3-PX; Mon, 06 Feb 2023 01:33:42 +0000 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pOqO3-0077kw-63 for linux-arm-kernel@lists.infradead.org; Mon, 06 Feb 2023 01:33:41 +0000 Received: by mail-pf1-x435.google.com with SMTP id a5so4305029pfv.10 for ; Sun, 05 Feb 2023 17:33:35 -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=kR2veBWbyNFgGYItTwFdh8lQbfIA4xIECeB4pO18LrU=; b=PFwbPgvDzQZdf/HQcszjkJRBI+TWwVFkCgQ1pTZtuRTIo/wlIT3BHJKZePYl3rA+JP 95hFB5vyzqBz1Jc54SILNs4ShJ7POM1/z2u66WJgYrGohpZnBl1sBMdI0mKh7YShxBiz 2w1gVgSrKCBfhH4ANXDeYDIYzg7AsUBAinEloUsjVb7gYNAHQoWVKnGUFh6d4pnFpoQb 1Q95oO5u5QznQa0IK6GWq/1414ezGBU9VQsaDUenD0Pmd8P7aAztAaPsq9YWbsbIqMc2 poo5WlAJbhJjVL7wJeGcis+SKQ5KrWaWg/FwaNXAFve7SvEGnI7TLg35saERb0k96x+I luxw== 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=kR2veBWbyNFgGYItTwFdh8lQbfIA4xIECeB4pO18LrU=; b=x+XVKtSRsr92u0TsOSmzSzQrL8SwosqryIVMyjuk1QqFmyYxgS/cjeuPcx4pJhv+vo UcvdJ7fTCmRv5VYiZBNJDwCC7b9NqDAj/LUQbdQb92CZhjNVDTv5vpGXto0Exend6xeG jvYVPcyVcbcXcB76NrXtzm+uRd2/IHm8gtlXVUnOBSQJ4/Qqb/ajmZPvUbewxKbBtSkY Wlb714dviQOcYCAJm80j2vlik0PBraPn3XqnmzGRvDslvIHsRFFbaD1ZC5evSX4M6Owr K4335B48Fpz2+9MVC95kRSxH6naTrjcD33+Xgfu85c1KLszMbge2HhVHlGKF7Jd77ZyT xJmw== X-Gm-Message-State: AO0yUKWj+NF1QATc0bz9zfID/PZd+tQSzR1edqzHoWSaAi6SrtFB/oWE 8kQa4rrS/mtvdWW6KrEswePQSnyPlHEx+jFnc5GBKQ== X-Google-Smtp-Source: AK7set8u1D8Yx0Ns1ik9250I6OIYVxsmLToiLi2hjLdTsjiKPoILrZB8aX+YQXBoINv9ErwXZE6Ko7BYs7yfuVc+TPE= X-Received: by 2002:a62:1a57:0:b0:593:bac2:b49 with SMTP id a84-20020a621a57000000b00593bac20b49mr4285651pfa.44.1675647214386; Sun, 05 Feb 2023 17:33:34 -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 17:32:57 -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_173339_254639_513F14F6 X-CRM114-Status: GOOD ( 47.06 ) 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 T24gRnJpLCBGZWIgMywgMjAyMyBhdCAxOjM5IEFNIE1heGltIEtpc2VsZXYgPGJpZ3VuY2xlbWF4 QGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiDQv9GCLCAzINGE0LXQstGALiAyMDIzINCzLiDQsiAwOTow NywgU2FyYXZhbmEgS2FubmFuIDxzYXJhdmFuYWtAZ29vZ2xlLmNvbT46Cj4gPgo+ID4gT24gVGh1 LCBGZWIgMiwgMjAyMyBhdCA5OjM2IEFNIE1heGltIEtpc2VsZXYgPGJpZ3VuY2xlbWF4QGdtYWls LmNvbT4gd3JvdGU6Cj4gPiA+Cj4gPiA+IEhpIFNhcmF2YW5hLAo+ID4gPgo+ID4gPiA+IENhbiB5 b3UgdHJ5IHRoZSBwYXRjaCBhdCB0aGUgZW5kIG9mIHRoaXMgZW1haWwgdW5kZXIgdGhlc2UKPiA+ ID4gPiBjb25maWd1cmF0aW9ucyBhbmQgdGVsbCBtZSB3aGljaCBvbmVzIGZhaWwgdnMgcGFzcz8g SSBkb24ndCBuZWVkIGxvZ3MKPiA+ID4KPiA+ID4gSSBkaWQgdGhlc2UgdGVzdHMgYW5kIGhlcmUg aXMgdGhlIHJlc3VsdHM6Cj4gPgo+ID4gRGlkIHlvdSBoYW5kIGVkaXQgdGhlIEluLVJlcGx5LVRv OiBpbiB0aGUgaGVhZGVyPyBCZWNhdXNlIGluIHRoZQo+ID4gdGhyZWFkIHlvdSBhcmUgcmVwbHkg dG8gdGhlIHdyb25nIGVtYWlsLCBidXQgdGhlIGNvbnRleHQgaW4geW91ciBlbWFpbAo+ID4gc2Vl bXMgdG8gYmUgZnJvbSB0aGUgcmlnaHQgZW1haWwuCj4gPgo+ID4gRm9yIGV4YW1wbGUsIHNlZSBo b3cgeW91ciByZXBseSBpc24ndCB1bmRlciB0aGUgZW1haWwgeW91IGFyZSByZXBseWluZwo+ID4g dG8gaW4gdGhpcyB0aHJlYWQgb3ZlcnZpZXc6Cj4gPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9s a21sLzIwMjMwMTI3MDAxMTQxLjQwNzA3MS0xLXNhcmF2YW5ha0Bnb29nbGUuY29tLyNyCj4gPgo+ ID4gPiAxLiBPbiB0b3Agb2YgdGhpcyBzZXJpZXMgLSBOb3Qgd29ya3MKPiA+ID4gMi4gV2l0aG91 dCB0aGlzIHNlcmllcyAgICAtIFdvcmtzCj4gPiA+IDMuIE9uIHRvcCBvZiB0aGUgc2VyaWVzIHdp dGggdGhlIGZ3bm9kZV9kZXZfaW5pdGlhbGl6ZWQoKSBkZWxldGVkIC0gTm90IHdvcmtzCj4gPiA+ IDQuIFdpdGhvdXQgdGhpcyBzZXJpZXMsIHdpdGggdGhlIGZ3bm9kZV9kZXZfaW5pdGlhbGl6ZWQo KSBkZWxldGVkICAtIFdvcmtzCj4gPiA+Cj4gPiA+IFNvIHlvdXIgbnZtZW0vY29yZS5jIHBhdGNo IGhlbHBzIG9ubHkgd2hlbiBpdCBpcyBhcHBsaWVkIHdpdGhvdXQgdGhlIHNlcmllcy4KPiA+ID4g QnV0IGRlc3BpdGUgdGhlIGZhY3QgdGhhdCB0aGlzIGhlbHBzIHRvIGF2b2lkIGdldHRpbmcgc3R1 Y2sgYXQgcHJvYmluZwo+ID4gPiBteSBldGhlcm5ldCBkZXZpY2UsIHRoZXJlIGlzIHN0aWxsIHJl Z3Jlc3Npb24uCj4gPiA+Cj4gPiA+IFdoZW4gdGhlIGV0aGVybmV0IG1vZHVsZSBpcyBsb2FkZWQg aXQgdGFrZXMgYSBsb3Qgb2YgdGltZSB0byBkcm9wIGRlcGVuZGVuY3kKPiA+ID4gZnJvbSB0aGUg bnZtZW0tY2VsbCB3aXRoIG1hYyBhZGRyZXNzLgo+ID4gPgo+ID4gPiBQbGVhc2UgbG9vayBhdCB0 aGUga2VybmVsIGxvZ3MgYmVsb3cuCj4gPgo+ID4gVGhlIGtlcm5lbCBsb2dzIGJlbG93IHJlYWxs eSBhcmVuJ3QgdGhhdCB1c2VmdWwgZm9yIG1lIGluIHRoZWlyCj4gPiBjdXJyZW50IHN0YXRlLiBT ZWUgbW9yZSBiZWxvdy4KPiA+Cj4gPiAtLS04PC0tLS0gPHNuaXA+IC0tLT44LS0tLQo+ID4KPiA+ ID4gUC5TLiBZb3VyIG52bWVtIHBhdGNoIGRlZmluaXRlbHkgaGVscHMgdG8gYXZvaWQgYSBkZXZp Y2UgcHJvYmUgc3R1Y2sKPiA+ID4gYnV0IGxvb2sgbGlrZSBpdCBpcyBub3QgYmVzdCB3YXkgdG8g c29sdmUgYSBwcm9ibGVtIHdoaWNoIHdlIGRpc2N1c3NlZAo+ID4gPiBpbiB0aGUgTVREIHRocmVh ZC4KPiA+ID4KPiA+ID4gUC5QLlMuIEFsc28gSSBkb24ndCBrbm93IHdoeSB5b3VyIG52bWVtLWNl bGwgcGF0Y2ggZG9lc24ndCBoZWxwIHdoZW4gaXQgd2FzCj4gPiA+IGFwcGxpZWQgb24gdG9wIG9m IHRoaXMgc2VyaWVzLiBNYXliZSBJIG1pc3NlZCBzb21ldGhpbmcuCj4gPgo+ID4gWWVhaCwgSSdt IG5vdCB0b28gc3VyZSBpZiB0aGUgdGVzdCB3YXMgZG9uZSBjb3JyZWN0bHkuIFlvdSBhbHNvIGRp ZG4ndAo+ID4gYW5zd2VyIG15IHF1ZXN0aW9uIGFib3V0IHRoZSBkdHMgZnJvbSBteSBlYXJsaWVy IGVtYWlsLgo+ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9DQUdFVGN4OEZwbWJhUm0y Q0N3cXQzQlJCcGdib2d3UDVnTkIraUE1T0V0dXhXVlROTEFAbWFpbC5nbWFpbC5jb20vI3QKPiA+ Cj4gPiBTbywgY2FuIHlvdSBwbGVhc2UgcmV0ZXN0IGNvbmZpZyAxIHdpdGggYWxsIHByX2RlYnVn IGFuZCBkZXZfZGJnIGluCj4gPiBkcml2ZXJzL2NvcmUvYmFzZS5jIGNoYW5nZWQgdG8gdGhlIF9p bmZvIHZhcmlhbnRzPyBBbmQgdGhlbiBzaGFyZSB0aGUKPiA+IGtlcm5lbCBsb2cgZnJvbSB0aGUg YmVnaW5uaW5nIG9mIGJvb3Q/IE1heWJlIGF0dGFjaCBpdCB0byB0aGUgZW1haWwgc28KPiA+IGl0 IGRvZXNuJ3QgZ2V0IHdvcmQgd3JhcHBlZCBieSB5b3VyIGVtYWlsIGNsaWVudC4gQW5kIHBsZWFz ZSBwb2ludCBtZQo+ID4gdG8gdGhlIC5kdHMgdGhhdCBjb3JyZXNwb25kcyB0byB5b3VyIGJvYXJk LiBXaXRob3V0IHRoYXQsIEkgY2FuJ3QKPiA+IGRlYnVnIG11Y2guCj4gPgo+ID4gVGhhbmtzLAo+ ID4gU2FyYXZhbmEKPgo+ID4gRGlkIHlvdSBoYW5kIGVkaXQgdGhlIEluLVJlcGx5LVRvOiBpbiB0 aGUgaGVhZGVyPyBCZWNhdXNlIGluIHRoZQo+ID4gdGhyZWFkIHlvdSBhcmUgcmVwbHkgdG8gdGhl IHdyb25nIGVtYWlsLCBidXQgdGhlIGNvbnRleHQgaW4geW91ciBlbWFpbAo+ID4gc2VlbXMgdG8g YmUgZnJvbSB0aGUgcmlnaHQgZW1haWwuCj4KPiBTb3JyeSBmb3IgdGhhdCwgaXQgc2VlbXMgbGlr ZSBJIGFjY2lkZW50bHkgZGVsZXRlZCBpdC4KPgo+ID4gU28sIGNhbiB5b3UgcGxlYXNlIHJldGVz dCBjb25maWcgMSB3aXRoIGFsbCBwcl9kZWJ1ZyBhbmQgZGV2X2RiZyBpbgo+ID4gZHJpdmVycy9j b3JlL2Jhc2UuYyBjaGFuZ2VkIHRvIHRoZSBfaW5mbyB2YXJpYW50cz8gQW5kIHRoZW4gc2hhcmUg dGhlCj4gPiBrZXJuZWwgbG9nIGZyb20gdGhlIGJlZ2lubmluZyBvZiBib290PyBNYXliZSBhdHRh Y2ggaXQgdG8gdGhlIGVtYWlsIHNvCj4gPiBpdCBkb2Vzbid0IGdldCB3b3JkIHdyYXBwZWQgYnkg eW91ciBlbWFpbCBjbGllbnQuIEFuZCBwbGVhc2UgcG9pbnQgbWUKPiA+IHRvIHRoZSAuZHRzIHRo YXQgY29ycmVzcG9uZHMgdG8geW91ciBib2FyZC4gV2l0aG91dCB0aGF0LCBJIGNhbid0Cj4gPiBk ZWJ1ZyBtdWNoLgo+Cj4gT2ssIEkgcmV0ZXN0ZWQgY29uZmlnIDEgd2l0aCBhbGwgX2RlYnVnIGxv Z3MgY2hhbmdlZCB0byB0aGUgX2luZm8uIEkKPiBhZGRlZCB0aGUga2VybmVsIGxvZyBhbmQgdGhl IGR0cyBmaWxlIHRvIHRoZSBhdHRhY2htZW50IG9mIHRoaXMgZW1haWwuCgpBaCwgc28geW91ciBk ZXZpY2UgaXMgbm90IHN1cHBvcnRlZC9wcmVzZW50IHVwc3RyZWFtPyBFdmVuIHRob3VnaCBpdCdz Cm5vdCB1cHN0cmVhbSwgSSdsbCBoZWxwIGZpeCB0aGlzIGJlY2F1c2UgaXQgc2hvdWxkIGZpeCB3 aGF0IEkgYmVsaWV2ZQphcmUgdW5yZXBvcnRlZCBpc3N1ZXMgaW4gdXBzdHJlYW0uCgpPayBJIGtu b3cgd2h5IGNvbmZpZ3MgMSAtIDQgYmVoYXZlZCB0aGUgd2F5IHRoZXkgZGlkIGFuZCB3aHkgbXkg dGVzdApwYXRjaCBkaWRuJ3QgaGVscC4KCkFmdGVyIHN0YXJpbmcgYXQgbXRkL252bWVtIGNvZGUg Zm9yIGEgZmV3IGhvdXJzIEkgdGhpbmsgbXRkL252bWVtCmludGVyYWN0aW9uIGlzIGtpbmQgb2Yg YSBtZXNzLiBtdGQgY29yZSBjcmVhdGVzICJwYXJ0aXRpb24iIHBsYXRmb3JtCmRldmljZXMgKGlu Y2x1ZGluZyBmb3IgbnZtZW0tY2VsbHMpIHRoYXQgYXJlIHByb2JlZCBieSBkcml2ZXJzIGluCmRy aXZlcnMvbnZtZW0uIEhvd2V2ZXIsIHRoZXJlJ3Mgbm8gZHJpdmVyIGZvciAibnZtZW0tY2VsbHMi IHBhcnRpdGlvbgpwbGF0Zm9ybSBkZXZpY2UuIEhvd2V2ZXIsIHRoZSBudm1lbSBjb3JlIGNyZWF0 ZXMgbnZtZW1fZGV2aWNlIHdoZW4KbnZtZW1fcmVnaXN0ZXIoKSBpcyBjYWxsZWQgYnkgTVREIG9y IHRoZXNlIHBhcnRpdGlvbiBwbGF0Zm9ybSBkZXZpY2VzCmNyZWF0ZWQgYnkgTVRELiBCdXQgdGhl c2UgbnZtZW1fZGV2aWNlcyBhcmUgYWRkZWQgdG8gYSBudm1lbV9idXMgYnV0CnRoZSBidXMgaGFz IG5vIG1lYW5zIHRvIGV2ZW4gcmVnaXN0ZXIgYSBkcml2ZXIgKGl0IHNob3VsZCByZWFsbHkgYmUg YQpudm1lbV9jbGFzcyBhbmQgbm90IG52bWVtX2J1cykuIEFuZCB0aGUgbnZtZW1fZGV2aWNlIHNv bWV0aW1lcyBwb2ludHMKdG8gdGhlIERUIG5vZGUgb2YgdGhlIE1URCBkZXZpY2Ugb3Igc29tZXRp bWVzIHRoZSBwYXJ0aXRpb24gcGxhdGZvcm0KZGV2aWNlcyBvciBtYXliZSBubyBEVCBub2RlIGF0 IGFsbC4KClNvIGl0J3MgYSBtZXNzIG9mIG11bHRpcGxlIGRldmljZXMgcG9pbnRpbmcgdG8gdGhl IHNhbWUgRFQgbm9kZSB3aXRoCm5vIGNsZWFyIHdheSB0byBpZGVudGlmeSB3aGljaCBvbmVzIHdp bGwgcG9pbnQgdG8gYSBEVCBub2RlIGFuZCB3aGljaApvbmVzIHdpbGwgcHJvYmUgYW5kIHdoaWNo IG9uZXMgd29uJ3QuIEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZG4ndAphbGxvdyBhZGRpbmcgbmV3 IGNvbXBhdGlibGUgc3RyaW5ncyBmb3IgcGFydGl0aW9ucyBmb3Igd2hpY2ggd2UgZG9uJ3QKcGxh biBvbiBhZGRpbmcgbnZtZW0gZHJpdmVycy4KCkNhbiB5b3UgZ2l2ZSB0aGUgcGF0Y2ggYXQgdGhl IGVuZCBvZiB0aGUgZW1haWwgYSBzaG90PyBJdCBzaG91bGQgZml4CnRoZSBpc3N1ZSB3aXRoIHRo aXMgc2VyaWVzIGFuZCB3aXRob3V0IHRoaXMgc2VyaWVzLiBJdCBqdXN0IGF2b2lkcwp0aGlzIHdo b2xlIG1lc3MgYnkgbm90IGNyZWF0aW5nIHVzZWxlc3MgcGxhdGZvcm0gZGV2aWNlIGZvcgpudm1l bS1jZWxscyBjb21wYXRpYmxlIERUIG5vZGVzLgoKVGhhbmtzLApTYXJhdmFuYQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbXRkL210ZHBhcnQuYyBiL2RyaXZlcnMvbXRkL210ZHBhcnQuYwppbmRleCBk NDQyZmE5NGM4NzIuLjg4YTIxM2Y0ZDY1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbXRkcGFy dC5jCisrKyBiL2RyaXZlcnMvbXRkL210ZHBhcnQuYwpAQCAtNTc3LDYgKzU3Nyw3IEBAIHN0YXRp YyBpbnQgbXRkX3BhcnRfb2ZfcGFyc2Uoc3RydWN0IG10ZF9pbmZvICptYXN0ZXIsCiB7CiAgICAg ICAgc3RydWN0IG10ZF9wYXJ0X3BhcnNlciAqcGFyc2VyOwogICAgICAgIHN0cnVjdCBkZXZpY2Vf bm9kZSAqbnA7CisgICAgICAgc3RydWN0IGRldmljZV9ub2RlICpjaGlsZDsKICAgICAgICBzdHJ1 Y3QgcHJvcGVydHkgKnByb3A7CiAgICAgICAgc3RydWN0IGRldmljZSAqZGV2OwogICAgICAgIGNv bnN0IGNoYXIgKmNvbXBhdDsKQEAgLTU5NCw2ICs1OTUsMTAgQEAgc3RhdGljIGludCBtdGRfcGFy dF9vZl9wYXJzZShzdHJ1Y3QgbXRkX2luZm8gKm1hc3RlciwKICAgICAgICBlbHNlCiAgICAgICAg ICAgICAgICBucCA9IG9mX2dldF9jaGlsZF9ieV9uYW1lKG5wLCAicGFydGl0aW9ucyIpOwoKKyAg ICAgICBmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKG5wLCBjaGlsZCkKKyAgICAgICAgICAgICAgIGlm IChvZl9kZXZpY2VfaXNfY29tcGF0aWJsZShjaGlsZCwgIm52bWVtLWNlbGxzIikpCisgICAgICAg ICAgICAgICAgICAgICAgIG9mX25vZGVfc2V0X2ZsYWcoY2hpbGQsIE9GX1BPUFVMQVRFRCk7CisK ICAgICAgICBvZl9wcm9wZXJ0eV9mb3JfZWFjaF9zdHJpbmcobnAsICJjb21wYXRpYmxlIiwgcHJv cCwgY29tcGF0KSB7CiAgICAgICAgICAgICAgICBwYXJzZXIgPSBtdGRfcGFydF9nZXRfY29tcGF0 aWJsZV9wYXJzZXIoY29tcGF0KTsKICAgICAgICAgICAgICAgIGlmICghcGFyc2VyKQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=