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 276D3C77B7A for ; Wed, 17 May 2023 05:29:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232333AbjEQF3s (ORCPT ); Wed, 17 May 2023 01:29:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232355AbjEQF3r (ORCPT ); Wed, 17 May 2023 01:29:47 -0400 Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 638573C32 for ; Tue, 16 May 2023 22:29:45 -0700 (PDT) Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-3f42c865534so3163125e9.2 for ; Tue, 16 May 2023 22:29:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684301384; x=1686893384; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=3F8/AW2YhS524kwApvlgE1HyyL1L1DLl+/WPH6DtX7A=; b=h9lCWonhhhnN+AX6OpIB6aZNqqvYduly1ePB/NfOSldi5Y6cEBxJTENZ/PpIkikAFb MPrKQpUSt4ll2TQ5bowzaFRCR/ljzToP1mdaXjf0t7p1aR2T0qcdUZuyat7zVjOxfxo8 kxxHZ9d0N8opIM/YTMSyVPUNRS8qO9j2eyRy4TNMlUNSQAZEmr777IIrPbz9mILJ8rRg ULopXMrMNhtpjQ1liGjG/jvacQzLddsJ2Cc0Q/Mo8CEVp9ws1p5AKQmsyoT2yaMHuM6m yQ1ozpbAbtFiGWSc6EaK0QTWo3uutLwrP29h9c4Ahl4TiFRfCWaO/YgPWgRLqvsM3e7F 6Y2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684301384; x=1686893384; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3F8/AW2YhS524kwApvlgE1HyyL1L1DLl+/WPH6DtX7A=; b=a6E76fyERaLhyhDu18haDM58i1fXN/emoq5p4paQcBKQXKdJL6yfOmpCW6yfshzr3z h7jFYIbNaDL0T71tM27jUjKyvy5+BUKivyUQeOOLi1KzvkisaHh1F79HmdBgIhYY9AMA 2FyXRyQmQYlmoQnPC29kH2L+E32LIb6arPhVA8WlKx8CTRk+mHNDam+O34FnF9m4DbCt 1bl0x64WTR+iqV0Kj186z7LGweJTUTxBZDyOREVsRFI2BGSNdPWABOmQoxESBURrE+EQ CxtdxvGmkU9kDZE5n/NFrSxFUFk0rmacQfQFpxsxzVTfcsFnMB4yyZwNyY2htTHo8sSX qs+A== X-Gm-Message-State: AC+VfDya/Y8/Q/yvy3axvX5VX9aLiNxnYMRBauLSbzfnYuLybYwZU3zO CgNyh3Qb2f/Th4EzRsy6QcyT X-Google-Smtp-Source: ACHHUZ5ksGFQ1nf8hqH9xs6F/ZmG9c8Vw62ReSZJ3HBA5wVNxQV6WoALBJfqC5cZ6ajlEKSQASudnw== X-Received: by 2002:a05:600c:228e:b0:3f4:2174:b28a with SMTP id 14-20020a05600c228e00b003f42174b28amr30103996wmf.15.1684301383767; Tue, 16 May 2023 22:29:43 -0700 (PDT) Received: from thinkpad ([59.92.102.59]) by smtp.gmail.com with ESMTPSA id z23-20020a7bc7d7000000b003f1957ace1fsm939977wmk.13.2023.05.16.22.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 May 2023 22:29:43 -0700 (PDT) Date: Wed, 17 May 2023 10:59:31 +0530 From: Manivannan Sadhasivam To: Serge Semin Cc: Bjorn Helgaas , Lorenzo Pieralisi , Cai Huoqing , Jingoo Han , Gustavo Pimentel , Vinod Koul , Yoshihiro Shimoda , Rob Herring , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Nobuhiro Iwamatsu , Serge Semin , Alexey Malahov , Pavel Parkhomenko , linux-pci@vger.kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Helgaas , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH RESEND v5 07/14] PCI: visconti: Convert to using generic resources getter Message-ID: <20230517052931.GB4868@thinkpad> References: <20230511190902.28896-1-Sergey.Semin@baikalelectronics.ru> <20230511190902.28896-8-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230511190902.28896-8-Sergey.Semin@baikalelectronics.ru> Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org On Thu, May 11, 2023 at 10:08:55PM +0300, Serge Semin wrote: > The generic resources request infrastructure has been recently added to > the DW PCIe core driver. Since the DT-bindings of the Toshibo Visconti > PCIe Host controller is fully compatible with the generic names set let's > convert the driver to using that infrastructure. It won't take much effort > since the low-level device driver implies the resources request only with > no additional manipulations involving them. So just drop the locally > defined clocks request procedures, activate the generic resources request > capability and make sure the mandatory resources have been requested by > the DW PCIe core driver. > > Suggested-by: Bjorn Helgaas > Signed-off-by: Serge Semin Acked-by: Manivannan Sadhasivam - Mani > --- > drivers/pci/controller/dwc/pcie-visconti.c | 37 ++++++++++------------ > 1 file changed, 17 insertions(+), 20 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pcie-visconti.c b/drivers/pci/controller/dwc/pcie-visconti.c > index 71026fefa366..ae1517b52c58 100644 > --- a/drivers/pci/controller/dwc/pcie-visconti.c > +++ b/drivers/pci/controller/dwc/pcie-visconti.c > @@ -29,9 +29,6 @@ struct visconti_pcie { > void __iomem *ulreg_base; > void __iomem *smu_base; > void __iomem *mpu_base; > - struct clk *refclk; > - struct clk *coreclk; > - struct clk *auxclk; > }; > > #define PCIE_UL_REG_S_PCIE_MODE 0x00F4 > @@ -198,6 +195,21 @@ static int visconti_pcie_host_init(struct dw_pcie_rp *pp) > int err; > u32 val; > > + if (!pcie->pci.core_clks[DW_PCIE_REF_CLK].clk) { > + dev_err(pci->dev, "Missing ref clock source\n"); > + return -ENOENT; > + } > + > + if (!pcie->pci.core_clks[DW_PCIE_CORE_CLK].clk) { > + dev_err(pci->dev, "Missing core clock source\n"); > + return -ENOENT; > + } > + > + if (!pcie->pci.core_clks[DW_PCIE_AUX_CLK].clk) { > + dev_err(pci->dev, "Missing aux clock source\n"); > + return -ENOENT; > + } > + > visconti_smu_writel(pcie, > PISMU_CKON_PCIE_AUX_CLK | PISMU_CKON_PCIE_MSTR_ACLK, > PISMU_CKON_PCIE); > @@ -242,8 +254,6 @@ static const struct dw_pcie_host_ops visconti_pcie_host_ops = { > static int visconti_get_resources(struct platform_device *pdev, > struct visconti_pcie *pcie) > { > - struct device *dev = &pdev->dev; > - > pcie->ulreg_base = devm_platform_ioremap_resource_byname(pdev, "ulreg"); > if (IS_ERR(pcie->ulreg_base)) > return PTR_ERR(pcie->ulreg_base); > @@ -256,21 +266,6 @@ static int visconti_get_resources(struct platform_device *pdev, > if (IS_ERR(pcie->mpu_base)) > return PTR_ERR(pcie->mpu_base); > > - pcie->refclk = devm_clk_get(dev, "ref"); > - if (IS_ERR(pcie->refclk)) > - return dev_err_probe(dev, PTR_ERR(pcie->refclk), > - "Failed to get ref clock\n"); > - > - pcie->coreclk = devm_clk_get(dev, "core"); > - if (IS_ERR(pcie->coreclk)) > - return dev_err_probe(dev, PTR_ERR(pcie->coreclk), > - "Failed to get core clock\n"); > - > - pcie->auxclk = devm_clk_get(dev, "aux"); > - if (IS_ERR(pcie->auxclk)) > - return dev_err_probe(dev, PTR_ERR(pcie->auxclk), > - "Failed to get aux clock\n"); > - > return 0; > } > > @@ -304,6 +299,8 @@ static int visconti_pcie_probe(struct platform_device *pdev) > pci->dev = dev; > pci->ops = &dw_pcie_ops; > > + dw_pcie_cap_set(pci, REQ_RES); > + > ret = visconti_get_resources(pdev, pcie); > if (ret) > return ret; > -- > 2.40.0 > > -- மணிவண்ணன் சதாசிவம் 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 A6E5CC77B75 for ; Wed, 17 May 2023 05:30:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=M3caFZ6ir7WFh1sgXPcAPcYrdHhBlJTMqXBj8vsVG4A=; b=QPSGyA+RcBIuv0 wbCMBz+vcUfQMyQgU2sg0rIfh5dFp11WQA2u+36RMmPRdGidpBZ1SAPGWuGRKfqjk9zaSDY0l5iiW qPkv1krLlJdudse4hvKYBrwJarDlkCe1R0pnWnHubuFqoeBfW0TMOz5Y0cB5u8pxDI2O/hBQiQ+pb c14aU995RD6dFXu1ghtI0zIWaHNje8kSvD/Ya60fCZp7vQK3bIIjzzW5UdEW44NauqmGS3FIlCGXa adugIpw1KC1sdyQvJF4x5+T68aNpGzBLll3Uy0/cP/4/lpfjBOHfu5qfaHLwaq654m1ZgeqHF4/sZ P0LQRWzU/YALPoUo9mtw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pz9jV-008GIM-10; Wed, 17 May 2023 05:29:53 +0000 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pz9jT-008GGm-0A for linux-arm-kernel@lists.infradead.org; Wed, 17 May 2023 05:29:52 +0000 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-3f41dceb9d4so3190865e9.1 for ; Tue, 16 May 2023 22:29:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684301384; x=1686893384; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=3F8/AW2YhS524kwApvlgE1HyyL1L1DLl+/WPH6DtX7A=; b=h9lCWonhhhnN+AX6OpIB6aZNqqvYduly1ePB/NfOSldi5Y6cEBxJTENZ/PpIkikAFb MPrKQpUSt4ll2TQ5bowzaFRCR/ljzToP1mdaXjf0t7p1aR2T0qcdUZuyat7zVjOxfxo8 kxxHZ9d0N8opIM/YTMSyVPUNRS8qO9j2eyRy4TNMlUNSQAZEmr777IIrPbz9mILJ8rRg ULopXMrMNhtpjQ1liGjG/jvacQzLddsJ2Cc0Q/Mo8CEVp9ws1p5AKQmsyoT2yaMHuM6m yQ1ozpbAbtFiGWSc6EaK0QTWo3uutLwrP29h9c4Ahl4TiFRfCWaO/YgPWgRLqvsM3e7F 6Y2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684301384; x=1686893384; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3F8/AW2YhS524kwApvlgE1HyyL1L1DLl+/WPH6DtX7A=; b=Eonxi6r+dL7zFASUNoDja00bin8NJi5hgrMTk+CuM9HiyM6gWk6GyVj8/+HXwivMQ+ IwJEiQGZZsIkIBMYDSGl5PZt9lMvEcj2wHnf2Phtx6XcCwg8qTC8j+HxAY78y2QnnzKv Ahh3yK7nkcirltq0NPmWzTWLv5gdTDvZSA6WjxnjDYYx1jIalAnZAAC5aOZ82tahDMS8 WXvy9GsQtIjgaTO8T2U4pfBYuaO6NU7jNVxorCu1aHXrWir3O39+/X9ewPoxDZXjZlGm 4Ghcwt46CxUlyaZfnDflhffja/nt5BvX5jYZhG9ZE3ss/6h7GknvQxY9uTV9E6+SFj6q lrag== X-Gm-Message-State: AC+VfDxqh+dWgsR8rMBrHtIJdTftIEcCBQvAa3nplzatmknT+hw2qV2+ 70QmsarC2GtgKOO+qEguTWVQ X-Google-Smtp-Source: ACHHUZ5ksGFQ1nf8hqH9xs6F/ZmG9c8Vw62ReSZJ3HBA5wVNxQV6WoALBJfqC5cZ6ajlEKSQASudnw== X-Received: by 2002:a05:600c:228e:b0:3f4:2174:b28a with SMTP id 14-20020a05600c228e00b003f42174b28amr30103996wmf.15.1684301383767; Tue, 16 May 2023 22:29:43 -0700 (PDT) Received: from thinkpad ([59.92.102.59]) by smtp.gmail.com with ESMTPSA id z23-20020a7bc7d7000000b003f1957ace1fsm939977wmk.13.2023.05.16.22.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 May 2023 22:29:43 -0700 (PDT) Date: Wed, 17 May 2023 10:59:31 +0530 From: Manivannan Sadhasivam To: Serge Semin Cc: Bjorn Helgaas , Lorenzo Pieralisi , Cai Huoqing , Jingoo Han , Gustavo Pimentel , Vinod Koul , Yoshihiro Shimoda , Rob Herring , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Nobuhiro Iwamatsu , Serge Semin , Alexey Malahov , Pavel Parkhomenko , linux-pci@vger.kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Helgaas , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH RESEND v5 07/14] PCI: visconti: Convert to using generic resources getter Message-ID: <20230517052931.GB4868@thinkpad> References: <20230511190902.28896-1-Sergey.Semin@baikalelectronics.ru> <20230511190902.28896-8-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230511190902.28896-8-Sergey.Semin@baikalelectronics.ru> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230516_222951_089973_80B5ED5E X-CRM114-Status: GOOD ( 24.41 ) 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 T24gVGh1LCBNYXkgMTEsIDIwMjMgYXQgMTA6MDg6NTVQTSArMDMwMCwgU2VyZ2UgU2VtaW4gd3Jv dGU6Cj4gVGhlIGdlbmVyaWMgcmVzb3VyY2VzIHJlcXVlc3QgaW5mcmFzdHJ1Y3R1cmUgaGFzIGJl ZW4gcmVjZW50bHkgYWRkZWQgdG8KPiB0aGUgRFcgUENJZSBjb3JlIGRyaXZlci4gU2luY2UgdGhl IERULWJpbmRpbmdzIG9mIHRoZSBUb3NoaWJvIFZpc2NvbnRpCj4gUENJZSBIb3N0IGNvbnRyb2xs ZXIgaXMgZnVsbHkgY29tcGF0aWJsZSB3aXRoIHRoZSBnZW5lcmljIG5hbWVzIHNldCBsZXQncwo+ IGNvbnZlcnQgdGhlIGRyaXZlciB0byB1c2luZyB0aGF0IGluZnJhc3RydWN0dXJlLiBJdCB3b24n dCB0YWtlIG11Y2ggZWZmb3J0Cj4gc2luY2UgdGhlIGxvdy1sZXZlbCBkZXZpY2UgZHJpdmVyIGlt cGxpZXMgdGhlIHJlc291cmNlcyByZXF1ZXN0IG9ubHkgd2l0aAo+IG5vIGFkZGl0aW9uYWwgbWFu aXB1bGF0aW9ucyBpbnZvbHZpbmcgdGhlbS4gU28ganVzdCBkcm9wIHRoZSBsb2NhbGx5Cj4gZGVm aW5lZCBjbG9ja3MgcmVxdWVzdCBwcm9jZWR1cmVzLCBhY3RpdmF0ZSB0aGUgZ2VuZXJpYyByZXNv dXJjZXMgcmVxdWVzdAo+IGNhcGFiaWxpdHkgYW5kIG1ha2Ugc3VyZSB0aGUgbWFuZGF0b3J5IHJl c291cmNlcyBoYXZlIGJlZW4gcmVxdWVzdGVkIGJ5Cj4gdGhlIERXIFBDSWUgY29yZSBkcml2ZXIu Cj4gCj4gU3VnZ2VzdGVkLWJ5OiBCam9ybiBIZWxnYWFzIDxoZWxnYWFzQGtlcm5lbC5vcmc+Cj4g U2lnbmVkLW9mZi1ieTogU2VyZ2UgU2VtaW4gPFNlcmdleS5TZW1pbkBiYWlrYWxlbGVjdHJvbmlj cy5ydT4KCkFja2VkLWJ5OiBNYW5pdmFubmFuIFNhZGhhc2l2YW0gPG1hbml2YW5uYW4uc2FkaGFz aXZhbUBsaW5hcm8ub3JnPgoKLSBNYW5pCgo+IC0tLQo+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVy L2R3Yy9wY2llLXZpc2NvbnRpLmMgfCAzNyArKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIDEgZmls ZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS12aXNjb250aS5jIGIvZHJpdmVy cy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS12aXNjb250aS5jCj4gaW5kZXggNzEwMjZmZWZhMzY2 Li5hZTE1MTdiNTJjNTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2Mv cGNpZS12aXNjb250aS5jCj4gKysrIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS12 aXNjb250aS5jCj4gQEAgLTI5LDkgKzI5LDYgQEAgc3RydWN0IHZpc2NvbnRpX3BjaWUgewo+ICAJ dm9pZCBfX2lvbWVtICp1bHJlZ19iYXNlOwo+ICAJdm9pZCBfX2lvbWVtICpzbXVfYmFzZTsKPiAg CXZvaWQgX19pb21lbSAqbXB1X2Jhc2U7Cj4gLQlzdHJ1Y3QgY2xrICpyZWZjbGs7Cj4gLQlzdHJ1 Y3QgY2xrICpjb3JlY2xrOwo+IC0Jc3RydWN0IGNsayAqYXV4Y2xrOwo+ICB9Owo+ICAKPiAgI2Rl ZmluZSBQQ0lFX1VMX1JFR19TX1BDSUVfTU9ERQkJMHgwMEY0Cj4gQEAgLTE5OCw2ICsxOTUsMjEg QEAgc3RhdGljIGludCB2aXNjb250aV9wY2llX2hvc3RfaW5pdChzdHJ1Y3QgZHdfcGNpZV9ycCAq cHApCj4gIAlpbnQgZXJyOwo+ICAJdTMyIHZhbDsKPiAgCj4gKwlpZiAoIXBjaWUtPnBjaS5jb3Jl X2Nsa3NbRFdfUENJRV9SRUZfQ0xLXS5jbGspIHsKPiArCQlkZXZfZXJyKHBjaS0+ZGV2LCAiTWlz c2luZyByZWYgY2xvY2sgc291cmNlXG4iKTsKPiArCQlyZXR1cm4gLUVOT0VOVDsKPiArCX0KPiAr Cj4gKwlpZiAoIXBjaWUtPnBjaS5jb3JlX2Nsa3NbRFdfUENJRV9DT1JFX0NMS10uY2xrKSB7Cj4g KwkJZGV2X2VycihwY2ktPmRldiwgIk1pc3NpbmcgY29yZSBjbG9jayBzb3VyY2VcbiIpOwo+ICsJ CXJldHVybiAtRU5PRU5UOwo+ICsJfQo+ICsKPiArCWlmICghcGNpZS0+cGNpLmNvcmVfY2xrc1tE V19QQ0lFX0FVWF9DTEtdLmNsaykgewo+ICsJCWRldl9lcnIocGNpLT5kZXYsICJNaXNzaW5nIGF1 eCBjbG9jayBzb3VyY2VcbiIpOwo+ICsJCXJldHVybiAtRU5PRU5UOwo+ICsJfQo+ICsKPiAgCXZp c2NvbnRpX3NtdV93cml0ZWwocGNpZSwKPiAgCQkJICAgIFBJU01VX0NLT05fUENJRV9BVVhfQ0xL IHwgUElTTVVfQ0tPTl9QQ0lFX01TVFJfQUNMSywKPiAgCQkJICAgIFBJU01VX0NLT05fUENJRSk7 Cj4gQEAgLTI0Miw4ICsyNTQsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGR3X3BjaWVfaG9zdF9v cHMgdmlzY29udGlfcGNpZV9ob3N0X29wcyA9IHsKPiAgc3RhdGljIGludCB2aXNjb250aV9nZXRf cmVzb3VyY2VzKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gIAkJCQkgIHN0cnVjdCB2 aXNjb250aV9wY2llICpwY2llKQo+ICB7Cj4gLQlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ ZGV2Owo+IC0KPiAgCXBjaWUtPnVscmVnX2Jhc2UgPSBkZXZtX3BsYXRmb3JtX2lvcmVtYXBfcmVz b3VyY2VfYnluYW1lKHBkZXYsICJ1bHJlZyIpOwo+ICAJaWYgKElTX0VSUihwY2llLT51bHJlZ19i YXNlKSkKPiAgCQlyZXR1cm4gUFRSX0VSUihwY2llLT51bHJlZ19iYXNlKTsKPiBAQCAtMjU2LDIx ICsyNjYsNiBAQCBzdGF0aWMgaW50IHZpc2NvbnRpX2dldF9yZXNvdXJjZXMoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldiwKPiAgCWlmIChJU19FUlIocGNpZS0+bXB1X2Jhc2UpKQo+ICAJCXJl dHVybiBQVFJfRVJSKHBjaWUtPm1wdV9iYXNlKTsKPiAgCj4gLQlwY2llLT5yZWZjbGsgPSBkZXZt X2Nsa19nZXQoZGV2LCAicmVmIik7Cj4gLQlpZiAoSVNfRVJSKHBjaWUtPnJlZmNsaykpCj4gLQkJ cmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJSKHBjaWUtPnJlZmNsayksCj4gLQkJCQkg ICAgICJGYWlsZWQgdG8gZ2V0IHJlZiBjbG9ja1xuIik7Cj4gLQo+IC0JcGNpZS0+Y29yZWNsayA9 IGRldm1fY2xrX2dldChkZXYsICJjb3JlIik7Cj4gLQlpZiAoSVNfRVJSKHBjaWUtPmNvcmVjbGsp KQo+IC0JCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihwY2llLT5jb3JlY2xrKSwK PiAtCQkJCSAgICAgIkZhaWxlZCB0byBnZXQgY29yZSBjbG9ja1xuIik7Cj4gLQo+IC0JcGNpZS0+ YXV4Y2xrID0gZGV2bV9jbGtfZ2V0KGRldiwgImF1eCIpOwo+IC0JaWYgKElTX0VSUihwY2llLT5h dXhjbGspKQo+IC0JCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihwY2llLT5hdXhj bGspLAo+IC0JCQkJICAgICAiRmFpbGVkIHRvIGdldCBhdXggY2xvY2tcbiIpOwo+IC0KPiAgCXJl dHVybiAwOwo+ICB9Cj4gIAo+IEBAIC0zMDQsNiArMjk5LDggQEAgc3RhdGljIGludCB2aXNjb250 aV9wY2llX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlwY2ktPmRldiA9 IGRldjsKPiAgCXBjaS0+b3BzID0gJmR3X3BjaWVfb3BzOwo+ICAKPiArCWR3X3BjaWVfY2FwX3Nl dChwY2ksIFJFUV9SRVMpOwo+ICsKPiAgCXJldCA9IHZpc2NvbnRpX2dldF9yZXNvdXJjZXMocGRl diwgcGNpZSk7Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gLS0gCj4gMi40MC4wCj4g Cj4gCgotLSAK4K6u4K6j4K6/4K614K6j4K+N4K6j4K6p4K+NIOCumuCupOCuvuCumuCuv+CuteCu ruCvjQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=