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 C0D10C64EC4 for ; Mon, 6 Feb 2023 19:59:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229893AbjBFT7x (ORCPT ); Mon, 6 Feb 2023 14:59:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43174 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229664AbjBFT7v (ORCPT ); Mon, 6 Feb 2023 14:59:51 -0500 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 18B542A15F for ; Mon, 6 Feb 2023 11:59:42 -0800 (PST) Received: by mail-pl1-x62d.google.com with SMTP id h15so5995544plk.12 for ; Mon, 06 Feb 2023 11:59:42 -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=uiqZzp1m6352u9cE1eTVGIt8ZCSyeo/MwstDjspPGas=; b=X27CqPSsZHQj8wN4Zy+tCNfMySdafRcmUSE8JzjGIH+rCnqM91u56FQY9n4Y9tOoiC 1badUOr4gvDkC9HegyTNqkS7PXVXlX0sIr7kWdyUFtsNji1ndIebzZaVswFJtJR3bUNN 9sDvxqWHi+h5dfFzV9bdCPzgAKA6NCi88rrWMu5KGixVf59j16rf5PyPISLFZxb2VNJM a9PDMPA2A17USw3ZNEujFVGfsZp5hlr4m8EUbi4QT8blftjOvcC6oqn5P/Ch4sAe/3wi qy7dqYpEnvArK2PK38Sw4pAM7NRN0UW/tAknCTL2B7xpLDydxFD3PZVrQcpuMeAxg6Aj wnxQ== 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=uiqZzp1m6352u9cE1eTVGIt8ZCSyeo/MwstDjspPGas=; b=W5fsXvS4KmnVmke2LjiZxreMZpZiWKR/8IiL0BPfJZCF8+i04iud3oghpR047JureT 504aGSHgmqiNCTkFLo/2/qnlhq7gZKQQo3GI+02Mg9oMs6C0D09NFkNEhJJlYq4B/jpQ KPU/QzUuJ7Oh6Kq89x/bNErtcM4LpprRZdbLJQcSoRmc11tYDFWJm3tHHSINvjdfZIG9 8Ep5v1XE2rRsiIwMmLuGgb7Il/vci8F/1/ADmTTyZEsw2IK3DBM4IPzx/sZo3itxagF2 jreDkvaoEGTYf3oR7KhUuSXCC0+gZEgqZU4EzHkEvOa2yAJkzBQaw6SgXy2hmBts9C1K cwgg== X-Gm-Message-State: AO0yUKVUl4PGrWHF5vWq2JmJHjRN/NkCSzEahNfqD7ku786kpUvgHDph qXduBZfgWsxuWiI0X+8JLeFUJpIbeI4dymItHvl4AA== X-Google-Smtp-Source: AK7set+JyeT7jLCGiKnvTEWqHa2pc44cY6ErYmbe7Od9zICdWyAargVkqjl6Av0+DBNxVvLuGTkSjpMxdGScNPiv2V8= X-Received: by 2002:a17:902:ed52:b0:199:62c:15f1 with SMTP id y18-20020a170902ed5200b00199062c15f1mr23982plb.12.1675713581212; Mon, 06 Feb 2023 11:59:41 -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: Mon, 6 Feb 2023 11:59:04 -0800 Message-ID: Subject: Re: [PATCH v2 00/11] fw_devlink improvements To: Rob Herring Cc: Maxim Kiselev , 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, 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 Mon, Feb 6, 2023 at 7:19 AM Rob Herring wrote: > > On Sun, Feb 5, 2023 at 7:33 PM Saravana Kannan wro= te: > > > > On Fri, Feb 3, 2023 at 1:39 AM Maxim Kiselev wr= ote: > > > > > > =D0=BF=D1=82, 3 =D1=84=D0=B5=D0=B2=D1=80. 2023 =D0=B3. =D0=B2 09:07, = Saravana 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 nee= d 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 em= ail > > > > seems to be from the right email. > > > > > > > > For example, see how your reply isn't under the email you are reply= ing > > > > to in this thread overview: > > > > https://lore.kernel.org/lkml/20230127001141.407071-1-saravanak@goog= le.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 = the series. > > > > > But despite the fact that this helps to avoid getting stuck at pr= obing > > > > > my ethernet device, there is still regression. > > > > > > > > > > When the ethernet module is loaded it takes a lot of time to drop= dependency > > > > > 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 st= uck > > > > > but look like it is not best way to solve a problem which we disc= ussed > > > > > in the MTD thread. > > > > > > > > > > P.P.S. Also I don't know why your nvmem-cell patch doesn't help w= hen 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 did= n't > > > > answer my question about the dts from my earlier email. > > > > https://lore.kernel.org/lkml/CAGETcx8FpmbaRm2CCwqt3BRBpgbogwP5gNB+i= A5OEtuxWVTNLA@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 t= he > > > > 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 em= ail > > > > 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 t= he > > > > 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. > > That won't work. Having a compatible string cannot mean there must be a d= river. Right, I know what you mean Rob and I know where you are coming from (DT isn't just about Linux or even driver core). But what I'm saying is that this seems to already be the case for MTD partitions after commit: bcdf0315a61a mtd: call of_platform_populate() for MTD partitions So, if we are adding compatible properties only for some of them, then I'm saying we should make sure people write drivers for them going forward. I don't know enough about MTD partitions to know why only some of them have compatible properties. -Saravana 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 7D5D0C05027 for ; Mon, 6 Feb 2023 20:00:45 +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=Sq7hqK4GJCAqTS+tGrIdvZvUP2rnPHuMUHMibtrEIzM=; b=ts6piPfgCLLkZi O5ZGG012Ike7J8AF2eDjZ7pkj+BRQcV6N/mSn1oMUwayFmcvivR81fhEI8bKm5c1NdtcGHH9QgZst TF4uWMu79jbJVtQmKJdEEHGDawttE+Ki6lIg3EIuaT5SSOBcWBYXeFOmfILHIPA/twkRaYGblT/po Q6kcTAVRc/LSPGIJnCJwVQ0dfYCIe6+5yjEVbNnUxdcvSMOoEYwuKTi0QsHhYuGd+VuJwHI5lh4qw uUEPcroOtNPuixH/ZQ5pTJTFQFp7CJnCW6quxAIMIbtCMOGrOWTYNjxKWkGOPBsfYFORxCM8pnz18 WgPAgNVuLACqQrxUHPtQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pP7eW-009mN6-3q; Mon, 06 Feb 2023 19:59:48 +0000 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pP7eS-009mLp-JG for linux-arm-kernel@lists.infradead.org; Mon, 06 Feb 2023 19:59:46 +0000 Received: by mail-pl1-x62e.google.com with SMTP id be8so13361394plb.7 for ; Mon, 06 Feb 2023 11:59:42 -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=uiqZzp1m6352u9cE1eTVGIt8ZCSyeo/MwstDjspPGas=; b=X27CqPSsZHQj8wN4Zy+tCNfMySdafRcmUSE8JzjGIH+rCnqM91u56FQY9n4Y9tOoiC 1badUOr4gvDkC9HegyTNqkS7PXVXlX0sIr7kWdyUFtsNji1ndIebzZaVswFJtJR3bUNN 9sDvxqWHi+h5dfFzV9bdCPzgAKA6NCi88rrWMu5KGixVf59j16rf5PyPISLFZxb2VNJM a9PDMPA2A17USw3ZNEujFVGfsZp5hlr4m8EUbi4QT8blftjOvcC6oqn5P/Ch4sAe/3wi qy7dqYpEnvArK2PK38Sw4pAM7NRN0UW/tAknCTL2B7xpLDydxFD3PZVrQcpuMeAxg6Aj wnxQ== 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=uiqZzp1m6352u9cE1eTVGIt8ZCSyeo/MwstDjspPGas=; b=U2dtzdBX/8swmaxr1LFTTsNiF3Sw99JiZSl6oJ9Rm2LuOOEFYMHzYtdHTnPa9UxGFD 8tOH3UlQG7DpOX1fcE/TJLc+Y9MeYb9k89U2JMI0ENnDTwQ+525GvSKjEhO7A96JIBFB BjiiRzdEiogLIi0yiviwO/tlIqzN2E7JJaDNTGoDm1VxAzuh1NCYsmoveyoOfQCr8GOT vK1SCx4KzBkMiGFu7T45cRwS3owHRPNaR8gXDWSP4+s5XhAb7DPg6QO1LzpcCM6VNDEi 9TzSDuVoPy3A0Wxu9pIt9d/aGCl+wBTzZcAyg/d2hWnqQR5U8pIh2mDvgdSz1td6PKCE 5dEg== X-Gm-Message-State: AO0yUKUKhPvrm1+3+0Px8JHHzDpnYOnc+/2o+HEfPlekg6WZyYzH2Drf k/WqeGLjo+za5D6UjOWY3iXjkToUZPvQDbdFL/TYVQ== X-Google-Smtp-Source: AK7set+JyeT7jLCGiKnvTEWqHa2pc44cY6ErYmbe7Od9zICdWyAargVkqjl6Av0+DBNxVvLuGTkSjpMxdGScNPiv2V8= X-Received: by 2002:a17:902:ed52:b0:199:62c:15f1 with SMTP id y18-20020a170902ed5200b00199062c15f1mr23982plb.12.1675713581212; Mon, 06 Feb 2023 11:59:41 -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: Mon, 6 Feb 2023 11:59:04 -0800 Message-ID: Subject: Re: [PATCH v2 00/11] fw_devlink improvements To: Rob Herring Cc: Maxim Kiselev , 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, 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-20230206_115944_657034_73656448 X-CRM114-Status: GOOD ( 51.64 ) 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 T24gTW9uLCBGZWIgNiwgMjAyMyBhdCA3OjE5IEFNIFJvYiBIZXJyaW5nIDxyb2JoK2R0QGtlcm5l bC5vcmc+IHdyb3RlOgo+Cj4gT24gU3VuLCBGZWIgNSwgMjAyMyBhdCA3OjMzIFBNIFNhcmF2YW5h IEthbm5hbiA8c2FyYXZhbmFrQGdvb2dsZS5jb20+IHdyb3RlOgo+ID4KPiA+IE9uIEZyaSwgRmVi IDMsIDIwMjMgYXQgMTozOSBBTSBNYXhpbSBLaXNlbGV2IDxiaWd1bmNsZW1heEBnbWFpbC5jb20+ IHdyb3RlOgo+ID4gPgo+ID4gPiDQv9GCLCAzINGE0LXQstGALiAyMDIzINCzLiDQsiAwOTowNywg U2FyYXZhbmEgS2FubmFuIDxzYXJhdmFuYWtAZ29vZ2xlLmNvbT46Cj4gPiA+ID4KPiA+ID4gPiBP biBUaHUsIEZlYiAyLCAyMDIzIGF0IDk6MzYgQU0gTWF4aW0gS2lzZWxldiA8YmlndW5jbGVtYXhA Z21haWwuY29tPiB3cm90ZToKPiA+ID4gPiA+Cj4gPiA+ID4gPiBIaSBTYXJhdmFuYSwKPiA+ID4g PiA+Cj4gPiA+ID4gPiA+IENhbiB5b3UgdHJ5IHRoZSBwYXRjaCBhdCB0aGUgZW5kIG9mIHRoaXMg ZW1haWwgdW5kZXIgdGhlc2UKPiA+ID4gPiA+ID4gY29uZmlndXJhdGlvbnMgYW5kIHRlbGwgbWUg d2hpY2ggb25lcyBmYWlsIHZzIHBhc3M/IEkgZG9uJ3QgbmVlZCBsb2dzCj4gPiA+ID4gPgo+ID4g PiA+ID4gSSBkaWQgdGhlc2UgdGVzdHMgYW5kIGhlcmUgaXMgdGhlIHJlc3VsdHM6Cj4gPiA+ID4K PiA+ID4gPiBEaWQgeW91IGhhbmQgZWRpdCB0aGUgSW4tUmVwbHktVG86IGluIHRoZSBoZWFkZXI/ IEJlY2F1c2UgaW4gdGhlCj4gPiA+ID4gdGhyZWFkIHlvdSBhcmUgcmVwbHkgdG8gdGhlIHdyb25n IGVtYWlsLCBidXQgdGhlIGNvbnRleHQgaW4geW91ciBlbWFpbAo+ID4gPiA+IHNlZW1zIHRvIGJl IGZyb20gdGhlIHJpZ2h0IGVtYWlsLgo+ID4gPiA+Cj4gPiA+ID4gRm9yIGV4YW1wbGUsIHNlZSBo b3cgeW91ciByZXBseSBpc24ndCB1bmRlciB0aGUgZW1haWwgeW91IGFyZSByZXBseWluZwo+ID4g PiA+IHRvIGluIHRoaXMgdGhyZWFkIG92ZXJ2aWV3Ogo+ID4gPiA+IGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL2xrbWwvMjAyMzAxMjcwMDExNDEuNDA3MDcxLTEtc2FyYXZhbmFrQGdvb2dsZS5jb20v I3IKPiA+ID4gPgo+ID4gPiA+ID4gMS4gT24gdG9wIG9mIHRoaXMgc2VyaWVzIC0gTm90IHdvcmtz Cj4gPiA+ID4gPiAyLiBXaXRob3V0IHRoaXMgc2VyaWVzICAgIC0gV29ya3MKPiA+ID4gPiA+IDMu IE9uIHRvcCBvZiB0aGUgc2VyaWVzIHdpdGggdGhlIGZ3bm9kZV9kZXZfaW5pdGlhbGl6ZWQoKSBk ZWxldGVkIC0gTm90IHdvcmtzCj4gPiA+ID4gPiA0LiBXaXRob3V0IHRoaXMgc2VyaWVzLCB3aXRo IHRoZSBmd25vZGVfZGV2X2luaXRpYWxpemVkKCkgZGVsZXRlZCAgLSBXb3Jrcwo+ID4gPiA+ID4K PiA+ID4gPiA+IFNvIHlvdXIgbnZtZW0vY29yZS5jIHBhdGNoIGhlbHBzIG9ubHkgd2hlbiBpdCBp cyBhcHBsaWVkIHdpdGhvdXQgdGhlIHNlcmllcy4KPiA+ID4gPiA+IEJ1dCBkZXNwaXRlIHRoZSBm YWN0IHRoYXQgdGhpcyBoZWxwcyB0byBhdm9pZCBnZXR0aW5nIHN0dWNrIGF0IHByb2JpbmcKPiA+ ID4gPiA+IG15IGV0aGVybmV0IGRldmljZSwgdGhlcmUgaXMgc3RpbGwgcmVncmVzc2lvbi4KPiA+ ID4gPiA+Cj4gPiA+ID4gPiBXaGVuIHRoZSBldGhlcm5ldCBtb2R1bGUgaXMgbG9hZGVkIGl0IHRh a2VzIGEgbG90IG9mIHRpbWUgdG8gZHJvcCBkZXBlbmRlbmN5Cj4gPiA+ID4gPiBmcm9tIHRoZSBu dm1lbS1jZWxsIHdpdGggbWFjIGFkZHJlc3MuCj4gPiA+ID4gPgo+ID4gPiA+ID4gUGxlYXNlIGxv b2sgYXQgdGhlIGtlcm5lbCBsb2dzIGJlbG93Lgo+ID4gPiA+Cj4gPiA+ID4gVGhlIGtlcm5lbCBs b2dzIGJlbG93IHJlYWxseSBhcmVuJ3QgdGhhdCB1c2VmdWwgZm9yIG1lIGluIHRoZWlyCj4gPiA+ ID4gY3VycmVudCBzdGF0ZS4gU2VlIG1vcmUgYmVsb3cuCj4gPiA+ID4KPiA+ID4gPiAtLS04PC0t LS0gPHNuaXA+IC0tLT44LS0tLQo+ID4gPiA+Cj4gPiA+ID4gPiBQLlMuIFlvdXIgbnZtZW0gcGF0 Y2ggZGVmaW5pdGVseSBoZWxwcyB0byBhdm9pZCBhIGRldmljZSBwcm9iZSBzdHVjawo+ID4gPiA+ ID4gYnV0IGxvb2sgbGlrZSBpdCBpcyBub3QgYmVzdCB3YXkgdG8gc29sdmUgYSBwcm9ibGVtIHdo aWNoIHdlIGRpc2N1c3NlZAo+ID4gPiA+ID4gaW4gdGhlIE1URCB0aHJlYWQuCj4gPiA+ID4gPgo+ ID4gPiA+ID4gUC5QLlMuIEFsc28gSSBkb24ndCBrbm93IHdoeSB5b3VyIG52bWVtLWNlbGwgcGF0 Y2ggZG9lc24ndCBoZWxwIHdoZW4gaXQgd2FzCj4gPiA+ID4gPiBhcHBsaWVkIG9uIHRvcCBvZiB0 aGlzIHNlcmllcy4gTWF5YmUgSSBtaXNzZWQgc29tZXRoaW5nLgo+ID4gPiA+Cj4gPiA+ID4gWWVh aCwgSSdtIG5vdCB0b28gc3VyZSBpZiB0aGUgdGVzdCB3YXMgZG9uZSBjb3JyZWN0bHkuIFlvdSBh bHNvIGRpZG4ndAo+ID4gPiA+IGFuc3dlciBteSBxdWVzdGlvbiBhYm91dCB0aGUgZHRzIGZyb20g bXkgZWFybGllciBlbWFpbC4KPiA+ID4gPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sL0NB R0VUY3g4RnBtYmFSbTJDQ3dxdDNCUkJwZ2JvZ3dQNWdOQitpQTVPRXR1eFdWVE5MQUBtYWlsLmdt YWlsLmNvbS8jdAo+ID4gPiA+Cj4gPiA+ID4gU28sIGNhbiB5b3UgcGxlYXNlIHJldGVzdCBjb25m aWcgMSB3aXRoIGFsbCBwcl9kZWJ1ZyBhbmQgZGV2X2RiZyBpbgo+ID4gPiA+IGRyaXZlcnMvY29y ZS9iYXNlLmMgY2hhbmdlZCB0byB0aGUgX2luZm8gdmFyaWFudHM/IEFuZCB0aGVuIHNoYXJlIHRo ZQo+ID4gPiA+IGtlcm5lbCBsb2cgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGJvb3Q/IE1heWJlIGF0 dGFjaCBpdCB0byB0aGUgZW1haWwgc28KPiA+ID4gPiBpdCBkb2Vzbid0IGdldCB3b3JkIHdyYXBw ZWQgYnkgeW91ciBlbWFpbCBjbGllbnQuIEFuZCBwbGVhc2UgcG9pbnQgbWUKPiA+ID4gPiB0byB0 aGUgLmR0cyB0aGF0IGNvcnJlc3BvbmRzIHRvIHlvdXIgYm9hcmQuIFdpdGhvdXQgdGhhdCwgSSBj YW4ndAo+ID4gPiA+IGRlYnVnIG11Y2guCj4gPiA+ID4KPiA+ID4gPiBUaGFua3MsCj4gPiA+ID4g U2FyYXZhbmEKPiA+ID4KPiA+ID4gPiBEaWQgeW91IGhhbmQgZWRpdCB0aGUgSW4tUmVwbHktVG86 IGluIHRoZSBoZWFkZXI/IEJlY2F1c2UgaW4gdGhlCj4gPiA+ID4gdGhyZWFkIHlvdSBhcmUgcmVw bHkgdG8gdGhlIHdyb25nIGVtYWlsLCBidXQgdGhlIGNvbnRleHQgaW4geW91ciBlbWFpbAo+ID4g PiA+IHNlZW1zIHRvIGJlIGZyb20gdGhlIHJpZ2h0IGVtYWlsLgo+ID4gPgo+ID4gPiBTb3JyeSBm b3IgdGhhdCwgaXQgc2VlbXMgbGlrZSBJIGFjY2lkZW50bHkgZGVsZXRlZCBpdC4KPiA+ID4KPiA+ ID4gPiBTbywgY2FuIHlvdSBwbGVhc2UgcmV0ZXN0IGNvbmZpZyAxIHdpdGggYWxsIHByX2RlYnVn IGFuZCBkZXZfZGJnIGluCj4gPiA+ID4gZHJpdmVycy9jb3JlL2Jhc2UuYyBjaGFuZ2VkIHRvIHRo ZSBfaW5mbyB2YXJpYW50cz8gQW5kIHRoZW4gc2hhcmUgdGhlCj4gPiA+ID4ga2VybmVsIGxvZyBm cm9tIHRoZSBiZWdpbm5pbmcgb2YgYm9vdD8gTWF5YmUgYXR0YWNoIGl0IHRvIHRoZSBlbWFpbCBz bwo+ID4gPiA+IGl0IGRvZXNuJ3QgZ2V0IHdvcmQgd3JhcHBlZCBieSB5b3VyIGVtYWlsIGNsaWVu dC4gQW5kIHBsZWFzZSBwb2ludCBtZQo+ID4gPiA+IHRvIHRoZSAuZHRzIHRoYXQgY29ycmVzcG9u ZHMgdG8geW91ciBib2FyZC4gV2l0aG91dCB0aGF0LCBJIGNhbid0Cj4gPiA+ID4gZGVidWcgbXVj aC4KPiA+ID4KPiA+ID4gT2ssIEkgcmV0ZXN0ZWQgY29uZmlnIDEgd2l0aCBhbGwgX2RlYnVnIGxv Z3MgY2hhbmdlZCB0byB0aGUgX2luZm8uIEkKPiA+ID4gYWRkZWQgdGhlIGtlcm5lbCBsb2cgYW5k IHRoZSBkdHMgZmlsZSB0byB0aGUgYXR0YWNobWVudCBvZiB0aGlzIGVtYWlsLgo+ID4KPiA+IEFo LCBzbyB5b3VyIGRldmljZSBpcyBub3Qgc3VwcG9ydGVkL3ByZXNlbnQgdXBzdHJlYW0/IEV2ZW4g dGhvdWdoIGl0J3MKPiA+IG5vdCB1cHN0cmVhbSwgSSdsbCBoZWxwIGZpeCB0aGlzIGJlY2F1c2Ug aXQgc2hvdWxkIGZpeCB3aGF0IEkgYmVsaWV2ZQo+ID4gYXJlIHVucmVwb3J0ZWQgaXNzdWVzIGlu IHVwc3RyZWFtLgo+ID4KPiA+IE9rIEkga25vdyB3aHkgY29uZmlncyAxIC0gNCBiZWhhdmVkIHRo ZSB3YXkgdGhleSBkaWQgYW5kIHdoeSBteSB0ZXN0Cj4gPiBwYXRjaCBkaWRuJ3QgaGVscC4KPiA+ Cj4gPiBBZnRlciBzdGFyaW5nIGF0IG10ZC9udm1lbSBjb2RlIGZvciBhIGZldyBob3VycyBJIHRo aW5rIG10ZC9udm1lbQo+ID4gaW50ZXJhY3Rpb24gaXMga2luZCBvZiBhIG1lc3MuIG10ZCBjb3Jl IGNyZWF0ZXMgInBhcnRpdGlvbiIgcGxhdGZvcm0KPiA+IGRldmljZXMgKGluY2x1ZGluZyBmb3Ig bnZtZW0tY2VsbHMpIHRoYXQgYXJlIHByb2JlZCBieSBkcml2ZXJzIGluCj4gPiBkcml2ZXJzL252 bWVtLiBIb3dldmVyLCB0aGVyZSdzIG5vIGRyaXZlciBmb3IgIm52bWVtLWNlbGxzIiBwYXJ0aXRp b24KPiA+IHBsYXRmb3JtIGRldmljZS4gSG93ZXZlciwgdGhlIG52bWVtIGNvcmUgY3JlYXRlcyBu dm1lbV9kZXZpY2Ugd2hlbgo+ID4gbnZtZW1fcmVnaXN0ZXIoKSBpcyBjYWxsZWQgYnkgTVREIG9y IHRoZXNlIHBhcnRpdGlvbiBwbGF0Zm9ybSBkZXZpY2VzCj4gPiBjcmVhdGVkIGJ5IE1URC4gQnV0 IHRoZXNlIG52bWVtX2RldmljZXMgYXJlIGFkZGVkIHRvIGEgbnZtZW1fYnVzIGJ1dAo+ID4gdGhl IGJ1cyBoYXMgbm8gbWVhbnMgdG8gZXZlbiByZWdpc3RlciBhIGRyaXZlciAoaXQgc2hvdWxkIHJl YWxseSBiZSBhCj4gPiBudm1lbV9jbGFzcyBhbmQgbm90IG52bWVtX2J1cykuIEFuZCB0aGUgbnZt ZW1fZGV2aWNlIHNvbWV0aW1lcyBwb2ludHMKPiA+IHRvIHRoZSBEVCBub2RlIG9mIHRoZSBNVEQg ZGV2aWNlIG9yIHNvbWV0aW1lcyB0aGUgcGFydGl0aW9uIHBsYXRmb3JtCj4gPiBkZXZpY2VzIG9y IG1heWJlIG5vIERUIG5vZGUgYXQgYWxsLgo+ID4KPiA+IFNvIGl0J3MgYSBtZXNzIG9mIG11bHRp cGxlIGRldmljZXMgcG9pbnRpbmcgdG8gdGhlIHNhbWUgRFQgbm9kZSB3aXRoCj4gPiBubyBjbGVh ciB3YXkgdG8gaWRlbnRpZnkgd2hpY2ggb25lcyB3aWxsIHBvaW50IHRvIGEgRFQgbm9kZSBhbmQg d2hpY2gKPiA+IG9uZXMgd2lsbCBwcm9iZSBhbmQgd2hpY2ggb25lcyB3b24ndC4gSW4gdGhlIGZ1 dHVyZSwgd2Ugc2hvdWxkbid0Cj4gPiBhbGxvdyBhZGRpbmcgbmV3IGNvbXBhdGlibGUgc3RyaW5n cyBmb3IgcGFydGl0aW9ucyBmb3Igd2hpY2ggd2UgZG9uJ3QKPiA+IHBsYW4gb24gYWRkaW5nIG52 bWVtIGRyaXZlcnMuCj4KPiBUaGF0IHdvbid0IHdvcmsuIEhhdmluZyBhIGNvbXBhdGlibGUgc3Ry aW5nIGNhbm5vdCBtZWFuIHRoZXJlIG11c3QgYmUgYSBkcml2ZXIuCgpSaWdodCwgSSBrbm93IHdo YXQgeW91IG1lYW4gUm9iIGFuZCBJIGtub3cgd2hlcmUgeW91IGFyZSBjb21pbmcgZnJvbQooRFQg aXNuJ3QganVzdCBhYm91dCBMaW51eCBvciBldmVuIGRyaXZlciBjb3JlKS4gQnV0IHdoYXQgSSdt IHNheWluZwppcyB0aGF0IHRoaXMgc2VlbXMgdG8gYWxyZWFkeSBiZSB0aGUgY2FzZSBmb3IgTVRE IHBhcnRpdGlvbnMgYWZ0ZXIKY29tbWl0OgpiY2RmMDMxNWE2MWEgbXRkOiBjYWxsIG9mX3BsYXRm b3JtX3BvcHVsYXRlKCkgZm9yIE1URCBwYXJ0aXRpb25zCgpTbywgaWYgd2UgYXJlIGFkZGluZyBj b21wYXRpYmxlIHByb3BlcnRpZXMgb25seSBmb3Igc29tZSBvZiB0aGVtLCB0aGVuCkknbSBzYXlp bmcgd2Ugc2hvdWxkIG1ha2Ugc3VyZSBwZW9wbGUgd3JpdGUgZHJpdmVycyBmb3IgdGhlbSBnb2lu Zwpmb3J3YXJkLgoKSSBkb24ndCBrbm93IGVub3VnaCBhYm91dCBNVEQgcGFydGl0aW9ucyB0byBr bm93IHdoeSBvbmx5IHNvbWUgb2YgdGhlbQpoYXZlIGNvbXBhdGlibGUgcHJvcGVydGllcy4KCi1T YXJhdmFuYQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=