From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 29719278161; Wed, 11 Jun 2025 10:44:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749638646; cv=none; b=IgjRjqd1yBuNjk4bgXVP1rYPndEnOkDL1TjKhzAqRLPA+4LMgW2Kp+3qJhhC+ksdpJYpYsBaxrsET2i9rlgceNDxK4kWhxR2dY0+PLAiMstuNu9oC8XrDo/52UdSdNZaoBHNe1ARkXQ/f8tHLmL3v1xEGPMtmbVBgGWwLPtTTL8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749638646; c=relaxed/simple; bh=tf+84qkD49mkgiTqaqohWtZ45kGhgnANEz56Oy08bFU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qHQ7Io2HuMy1Zvv7KcIRVXeG8kWVrBys25Xp6wWE49ax8NpuL+I5zFIZy8jYbCw3+ht3BTTNP9orhu1T3BnCg9TkOGTodqF8TwsCyTD73Snb0UkYxRQZdAsaoDaGG+Ab6Hjr8IQxmqq/LvqRm19+ZcKf4UPhIfwzea4frJxQa+Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=myxu4jh3; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="myxu4jh3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27880C4CEF5; Wed, 11 Jun 2025 10:44:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1749638645; bh=tf+84qkD49mkgiTqaqohWtZ45kGhgnANEz56Oy08bFU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=myxu4jh3MOSHqF23dezEr7MYgL/yz1DGpqFQHtAi319lLeFQHJ3EV0br9Iz81FvA/ 9IlcvSxsosQFAFMWbkQu5gsTzgRRZs7SdayUMm3qEBIRYTgOQ4ABko6xCSsxNeFepg hw0YSfJCnz7rGVI0JSUUKmcIkyw8tlZodZXJezw1iiXlxlIxN3PXnBjnt6RZxAXVzt npmtX2X2BfrBtt/iO2uaF86b4mqR0F5Us4E7JdxDNDNOGyzW2BbYOGmyQrYMmH0I2E QMq6BmluIml5+k12aaCxsaJpGfRrrcv8/ifZm//dLuujnXs0i+ItiPdat41yYd4cc8 GRkAElb271Cgw== From: "Jiri Slaby (SUSE)" To: linux-kernel@vger.kernel.org Cc: tglx@linutronix.de, "Jiri Slaby (SUSE)" , Linus Walleij , Bartosz Golaszewski , Doug Berger , Florian Fainelli , Broadcom internal kernel review list , Keerthy , Vladimir Zapolskiy , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Robert Jarzmik , Heiko Stuebner , Andy Shevchenko , linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-rockchip@lists.infradead.org Subject: [PATCH] gpio: Use dev_fwnode() Date: Wed, 11 Jun 2025 12:43:34 +0200 Message-ID: <20250611104348.192092-6-jirislaby@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250611104348.192092-1-jirislaby@kernel.org> References: <20250611104348.192092-1-jirislaby@kernel.org> Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit irq_domain_create_simple() takes fwnode as the first argument. It can be extracted from the struct device using dev_fwnode() helper instead of using of_node with of_fwnode_handle(). So use the dev_fwnode() helper. Signed-off-by: Jiri Slaby (SUSE) Cc: Linus Walleij Cc: Bartosz Golaszewski --- Cc: Doug Berger Cc: Florian Fainelli Cc: Broadcom internal kernel review list Cc: Keerthy Cc: Vladimir Zapolskiy Cc: "Uwe Kleine-König" Cc: Shawn Guo Cc: Sascha Hauer Cc: Pengutronix Kernel Team Cc: Fabio Estevam Cc: Robert Jarzmik Cc: Heiko Stuebner Cc: Andy Shevchenko Cc: linux-gpio@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-pwm@vger.kernel.org Cc: imx@lists.linux.dev Cc: linux-rockchip@lists.infradead.org --- drivers/gpio/gpio-brcmstb.c | 6 ++---- drivers/gpio/gpio-davinci.c | 2 +- drivers/gpio/gpio-em.c | 3 +-- drivers/gpio/gpio-grgpio.c | 5 ++--- drivers/gpio/gpio-lpc18xx.c | 4 ++-- drivers/gpio/gpio-mvebu.c | 4 ++-- drivers/gpio/gpio-mxc.c | 4 ++-- drivers/gpio/gpio-mxs.c | 2 +- drivers/gpio/gpio-pxa.c | 5 ++--- drivers/gpio/gpio-rockchip.c | 4 ++-- drivers/gpio/gpio-sodaville.c | 4 ++-- drivers/gpio/gpio-tb10x.c | 5 ++--- drivers/gpio/gpio-twl4030.c | 2 +- 13 files changed, 22 insertions(+), 28 deletions(-) diff --git a/drivers/gpio/gpio-brcmstb.c b/drivers/gpio/gpio-brcmstb.c index e7671bcd5c07..e29a9589b3cc 100644 --- a/drivers/gpio/gpio-brcmstb.c +++ b/drivers/gpio/gpio-brcmstb.c @@ -436,10 +436,8 @@ static int brcmstb_gpio_irq_setup(struct platform_device *pdev, struct device_node *np = dev->of_node; int err; - priv->irq_domain = - irq_domain_create_linear(of_fwnode_handle(np), priv->num_gpios, - &brcmstb_gpio_irq_domain_ops, - priv); + priv->irq_domain = irq_domain_create_linear(dev_fwnode(dev), priv->num_gpios, + &brcmstb_gpio_irq_domain_ops, priv); if (!priv->irq_domain) { dev_err(dev, "Couldn't allocate IRQ domain\n"); return -ENXIO; diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c index 80a82492171e..8f3a36d0191d 100644 --- a/drivers/gpio/gpio-davinci.c +++ b/drivers/gpio/gpio-davinci.c @@ -478,7 +478,7 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev) return irq; } - irq_domain = irq_domain_create_legacy(of_fwnode_handle(dev->of_node), ngpio, irq, 0, + irq_domain = irq_domain_create_legacy(dev_fwnode(dev), ngpio, irq, 0, &davinci_gpio_irq_ops, chips); if (!irq_domain) { dev_err(dev, "Couldn't register an IRQ domain\n"); diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c index a5e6e446f39c..015f1ac32dd9 100644 --- a/drivers/gpio/gpio-em.c +++ b/drivers/gpio/gpio-em.c @@ -325,8 +325,7 @@ static int em_gio_probe(struct platform_device *pdev) irq_chip->irq_release_resources = em_gio_irq_relres; irq_chip->flags = IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND; - p->irq_domain = irq_domain_create_simple(of_fwnode_handle(dev->of_node), - ngpios, 0, + p->irq_domain = irq_domain_create_simple(dev_fwnode(dev), ngpios, 0, &em_gio_irq_domain_ops, p); if (!p->irq_domain) { dev_err(dev, "cannot initialize irq domain\n"); diff --git a/drivers/gpio/gpio-grgpio.c b/drivers/gpio/gpio-grgpio.c index d38a2d9854ca..f3f8bab62f94 100644 --- a/drivers/gpio/gpio-grgpio.c +++ b/drivers/gpio/gpio-grgpio.c @@ -402,9 +402,8 @@ static int grgpio_probe(struct platform_device *ofdev) return -EINVAL; } - priv->domain = irq_domain_create_linear(of_fwnode_handle(np), gc->ngpio, - &grgpio_irq_domain_ops, - priv); + priv->domain = irq_domain_create_linear(dev_fwnode(&ofdev->dev), gc->ngpio, + &grgpio_irq_domain_ops, priv); if (!priv->domain) { dev_err(dev, "Could not add irq domain\n"); return -EINVAL; diff --git a/drivers/gpio/gpio-lpc18xx.c b/drivers/gpio/gpio-lpc18xx.c index b0a8da5c058d..2dbfbf90176c 100644 --- a/drivers/gpio/gpio-lpc18xx.c +++ b/drivers/gpio/gpio-lpc18xx.c @@ -249,8 +249,8 @@ static int lpc18xx_gpio_pin_ic_probe(struct lpc18xx_gpio_chip *gc) raw_spin_lock_init(&ic->lock); ic->domain = irq_domain_create_hierarchy(parent_domain, 0, NR_LPC18XX_GPIO_PIN_IC_IRQS, - of_fwnode_handle(dev->of_node), - &lpc18xx_gpio_pin_ic_domain_ops, ic); + dev_fwnode(dev), &lpc18xx_gpio_pin_ic_domain_ops, + ic); if (!ic->domain) { pr_err("unable to add irq domain\n"); ret = -ENODEV; diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index 57633a7b4270..24792b8eb083 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c @@ -1236,8 +1236,8 @@ static int mvebu_gpio_probe(struct platform_device *pdev) if (!have_irqs) return 0; - mvchip->domain = - irq_domain_create_linear(of_fwnode_handle(np), ngpios, &irq_generic_chip_ops, NULL); + mvchip->domain = irq_domain_create_linear(dev_fwnode(&pdev->dev), ngpios, + &irq_generic_chip_ops, NULL); if (!mvchip->domain) { dev_err(&pdev->dev, "couldn't allocate irq domain %s (DT).\n", mvchip->chip.label); diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c index fae1a30f8ae6..4af5a2972d12 100644 --- a/drivers/gpio/gpio-mxc.c +++ b/drivers/gpio/gpio-mxc.c @@ -509,8 +509,8 @@ static int mxc_gpio_probe(struct platform_device *pdev) goto out_bgio; } - port->domain = irq_domain_create_legacy(of_fwnode_handle(np), 32, irq_base, 0, - &irq_domain_simple_ops, NULL); + port->domain = irq_domain_create_legacy(dev_fwnode(&pdev->dev), 32, irq_base, 0, + &irq_domain_simple_ops, NULL); if (!port->domain) { err = -ENODEV; goto out_bgio; diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c index b418fbccb26c..0ea46f3d04e1 100644 --- a/drivers/gpio/gpio-mxs.c +++ b/drivers/gpio/gpio-mxs.c @@ -303,7 +303,7 @@ static int mxs_gpio_probe(struct platform_device *pdev) goto out_iounmap; } - port->domain = irq_domain_create_legacy(of_fwnode_handle(np), 32, irq_base, 0, + port->domain = irq_domain_create_legacy(dev_fwnode(&pdev->dev), 32, irq_base, 0, &irq_domain_simple_ops, NULL); if (!port->domain) { err = -ENODEV; diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index aead35ea090e..131ab79ebce7 100644 --- a/drivers/gpio/gpio-pxa.c +++ b/drivers/gpio/gpio-pxa.c @@ -642,9 +642,8 @@ static int pxa_gpio_probe(struct platform_device *pdev) if (!pxa_last_gpio) return -EINVAL; - pchip->irqdomain = irq_domain_create_legacy(of_fwnode_handle(pdev->dev.of_node), - pxa_last_gpio + 1, irq_base, 0, - &pxa_irq_domain_ops, pchip); + pchip->irqdomain = irq_domain_create_legacy(dev_fwnode(&pdev->dev), pxa_last_gpio + 1, + irq_base, 0, &pxa_irq_domain_ops, pchip); if (!pchip->irqdomain) return -ENOMEM; diff --git a/drivers/gpio/gpio-rockchip.c b/drivers/gpio/gpio-rockchip.c index c63352f2f1ec..64700a003f9a 100644 --- a/drivers/gpio/gpio-rockchip.c +++ b/drivers/gpio/gpio-rockchip.c @@ -521,8 +521,8 @@ static int rockchip_interrupts_register(struct rockchip_pin_bank *bank) struct irq_chip_generic *gc; int ret; - bank->domain = irq_domain_create_linear(of_fwnode_handle(bank->of_node), 32, - &irq_generic_chip_ops, NULL); + bank->domain = irq_domain_create_linear(dev_fwnode(bank->dev), 32, &irq_generic_chip_ops, + NULL); if (!bank->domain) { dev_warn(bank->dev, "could not init irq domain for bank %s\n", bank->name); diff --git a/drivers/gpio/gpio-sodaville.c b/drivers/gpio/gpio-sodaville.c index 6a3c4c625138..abd13c79ace0 100644 --- a/drivers/gpio/gpio-sodaville.c +++ b/drivers/gpio/gpio-sodaville.c @@ -169,8 +169,8 @@ static int sdv_register_irqsupport(struct sdv_gpio_chip_data *sd, IRQ_GC_INIT_MASK_CACHE, IRQ_NOREQUEST, IRQ_LEVEL | IRQ_NOPROBE); - sd->id = irq_domain_create_legacy(of_fwnode_handle(pdev->dev.of_node), SDV_NUM_PUB_GPIOS, - sd->irq_base, 0, &irq_domain_sdv_ops, sd); + sd->id = irq_domain_create_legacy(dev_fwnode(&pdev->dev), SDV_NUM_PUB_GPIOS, sd->irq_base, + 0, &irq_domain_sdv_ops, sd); if (!sd->id) return -ENODEV; diff --git a/drivers/gpio/gpio-tb10x.c b/drivers/gpio/gpio-tb10x.c index 8cf676fd0a0b..1869ee7f9423 100644 --- a/drivers/gpio/gpio-tb10x.c +++ b/drivers/gpio/gpio-tb10x.c @@ -183,9 +183,8 @@ static int tb10x_gpio_probe(struct platform_device *pdev) if (ret != 0) return ret; - tb10x_gpio->domain = irq_domain_create_linear(of_fwnode_handle(np), - tb10x_gpio->gc.ngpio, - &irq_generic_chip_ops, NULL); + tb10x_gpio->domain = irq_domain_create_linear(dev_fwnode(dev), tb10x_gpio->gc.ngpio, + &irq_generic_chip_ops, NULL); if (!tb10x_gpio->domain) { return -ENOMEM; } diff --git a/drivers/gpio/gpio-twl4030.c b/drivers/gpio/gpio-twl4030.c index 0d17985a5fdc..c5d7825f19c1 100644 --- a/drivers/gpio/gpio-twl4030.c +++ b/drivers/gpio/gpio-twl4030.c @@ -523,7 +523,7 @@ static int gpio_twl4030_probe(struct platform_device *pdev) return irq_base; } - irq_domain_create_legacy(of_fwnode_handle(pdev->dev.of_node), TWL4030_GPIO_MAX, irq_base, 0, + irq_domain_create_legacy(dev_fwnode(&pdev->dev), TWL4030_GPIO_MAX, irq_base, 0, &irq_domain_simple_ops, NULL); ret = twl4030_sih_setup(&pdev->dev, TWL4030_MODULE_GPIO, irq_base); -- 2.49.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 DDEA4C71137 for ; Wed, 11 Jun 2025 14:51:31 +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:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jiKQQeqUws+XJMSy/Ci/7f6EpgNFmc4gpzlR6lsdiAg=; b=MVGUnCsWptcymX 5jXmL1ychDPIxhFi05Vawjpjx4NedBdmA6Ay9QhiDodv7RtXq06QyF4xpIBND3isAq4T4q4OoxRzx MpAX/pH/WKKL37v4v6dQsnL6XOT/bv3At0wlak6smMLqQBFdInpZcXr+BlzTj4O0LIDnRQLqQz/NS kzwMNaNJUTaaqbkr1VLhUnrBMKtzQ9YCvdCyirYQQ5DDzuUgDdhJ9vQ4O1/Yo0xxCOsnskgObU3U/ qWwyVA1cIaCA/0wzY/aVvvCbqpt4WoA8qTXfhWEPfd/TIjyk3nG4joyLRA+WQCabkWAtMdU1cuYVM Vjl1fPfnQlVqCKqqubpg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uPMnU-0000000ADth-1iyW; Wed, 11 Jun 2025 14:51:24 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uPIwF-00000009e24-3s9G; Wed, 11 Jun 2025 10:44:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type :MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Sender:Reply-To:Content-ID:Content-Description; bh=ZiN17MsDmcOddfdWzv5/Ig0ypmiccMsoyOfR8oAdzAo=; b=I6DlYTZFVLieeivq4a9z5XE2hD PvXYlrSExcYvnR1AjADCZYJXKka9KR24eFJ7cleBnNbrPhiu0UsADu/P+Ncj/fyPkAa3KnQhoU6gU ZS3fPJvANlNhNjken9xLEoS7Fvib9c796n+tsVafWe+cXIDljnGCR6jFRTcwj/qvFrGot4oh/sbn3 p+vzMqh61S6rQ6MZc2P5EXyrrR0sZPo5xUIT7Lmp7x+wveBerhtZpPAMlQ/R5AWl/2/6JEWS2n1ge fvVBCmjBy9FOQur+5U1dllt4lyl/p6mODfRpwBC5rCnv0TNboRB8bbNgEDcMNHGAP3uhxOoUJnS88 zYL+ClQg==; Received: from sea.source.kernel.org ([172.234.252.31]) by desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uPIwC-00000002Hk6-3QpP; Wed, 11 Jun 2025 10:44:11 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id CD88B4A5F8; Wed, 11 Jun 2025 10:44:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27880C4CEF5; Wed, 11 Jun 2025 10:44:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1749638645; bh=tf+84qkD49mkgiTqaqohWtZ45kGhgnANEz56Oy08bFU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=myxu4jh3MOSHqF23dezEr7MYgL/yz1DGpqFQHtAi319lLeFQHJ3EV0br9Iz81FvA/ 9IlcvSxsosQFAFMWbkQu5gsTzgRRZs7SdayUMm3qEBIRYTgOQ4ABko6xCSsxNeFepg hw0YSfJCnz7rGVI0JSUUKmcIkyw8tlZodZXJezw1iiXlxlIxN3PXnBjnt6RZxAXVzt npmtX2X2BfrBtt/iO2uaF86b4mqR0F5Us4E7JdxDNDNOGyzW2BbYOGmyQrYMmH0I2E QMq6BmluIml5+k12aaCxsaJpGfRrrcv8/ifZm//dLuujnXs0i+ItiPdat41yYd4cc8 GRkAElb271Cgw== From: "Jiri Slaby (SUSE)" To: linux-kernel@vger.kernel.org Cc: tglx@linutronix.de, "Jiri Slaby (SUSE)" , Linus Walleij , Bartosz Golaszewski , Doug Berger , Florian Fainelli , Broadcom internal kernel review list , Keerthy , Vladimir Zapolskiy , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Robert Jarzmik , Heiko Stuebner , Andy Shevchenko , linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pwm@vger.kernel.org, imx@lists.linux.dev, linux-rockchip@lists.infradead.org Subject: [PATCH] gpio: Use dev_fwnode() Date: Wed, 11 Jun 2025 12:43:34 +0200 Message-ID: <20250611104348.192092-6-jirislaby@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250611104348.192092-1-jirislaby@kernel.org> References: <20250611104348.192092-1-jirislaby@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250611_114409_341914_0678B073 X-CRM114-Status: GOOD ( 16.71 ) 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 aXJxX2RvbWFpbl9jcmVhdGVfc2ltcGxlKCkgdGFrZXMgZndub2RlIGFzIHRoZSBmaXJzdCBhcmd1 bWVudC4gSXQgY2FuIGJlCmV4dHJhY3RlZCBmcm9tIHRoZSBzdHJ1Y3QgZGV2aWNlIHVzaW5nIGRl dl9md25vZGUoKSBoZWxwZXIgaW5zdGVhZCBvZgp1c2luZyBvZl9ub2RlIHdpdGggb2ZfZndub2Rl X2hhbmRsZSgpLgoKU28gdXNlIHRoZSBkZXZfZndub2RlKCkgaGVscGVyLgoKU2lnbmVkLW9mZi1i eTogSmlyaSBTbGFieSAoU1VTRSkgPGppcmlzbGFieUBrZXJuZWwub3JnPgpDYzogTGludXMgV2Fs bGVpaiA8bGludXMud2FsbGVpakBsaW5hcm8ub3JnPgpDYzogQmFydG9zeiBHb2xhc3pld3NraSA8 YnJnbEBiZ2Rldi5wbD4KCi0tLQpDYzogRG91ZyBCZXJnZXIgPG9wZW5kbWJAZ21haWwuY29tPgpD YzogRmxvcmlhbiBGYWluZWxsaSA8Zmxvcmlhbi5mYWluZWxsaUBicm9hZGNvbS5jb20+CkNjOiBC cm9hZGNvbSBpbnRlcm5hbCBrZXJuZWwgcmV2aWV3IGxpc3QgPGJjbS1rZXJuZWwtZmVlZGJhY2st bGlzdEBicm9hZGNvbS5jb20+CkNjOiBLZWVydGh5IDxqLWtlZXJ0aHlAdGkuY29tPgpDYzogVmxh ZGltaXIgWmFwb2xza2l5IDx2ekBtbGVpYS5jb20+CkNjOiAiVXdlIEtsZWluZS1Lw7ZuaWciIDx1 a2xlaW5la0BrZXJuZWwub3JnPgpDYzogU2hhd24gR3VvIDxzaGF3bmd1b0BrZXJuZWwub3JnPgpD YzogU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgpDYzogUGVuZ3V0cm9uaXgg S2VybmVsIFRlYW0gPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KQ2M6IEZhYmlvIEVzdGV2YW0gPGZl c3RldmFtQGdtYWlsLmNvbT4KQ2M6IFJvYmVydCBKYXJ6bWlrIDxyb2JlcnQuamFyem1pa0BmcmVl LmZyPgpDYzogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT4KQ2M6IEFuZHkgU2hldmNo ZW5rbyA8YW5keUBrZXJuZWwub3JnPgpDYzogbGludXgtZ3Bpb0B2Z2VyLmtlcm5lbC5vcmcKQ2M6 IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgtcHdtQHZnZXIu a2VybmVsLm9yZwpDYzogaW14QGxpc3RzLmxpbnV4LmRldgpDYzogbGludXgtcm9ja2NoaXBAbGlz dHMuaW5mcmFkZWFkLm9yZwotLS0KIGRyaXZlcnMvZ3Bpby9ncGlvLWJyY21zdGIuYyAgIHwgNiAr Ky0tLS0KIGRyaXZlcnMvZ3Bpby9ncGlvLWRhdmluY2kuYyAgIHwgMiArLQogZHJpdmVycy9ncGlv L2dwaW8tZW0uYyAgICAgICAgfCAzICstLQogZHJpdmVycy9ncGlvL2dwaW8tZ3JncGlvLmMgICAg fCA1ICsrLS0tCiBkcml2ZXJzL2dwaW8vZ3Bpby1scGMxOHh4LmMgICB8IDQgKystLQogZHJpdmVy cy9ncGlvL2dwaW8tbXZlYnUuYyAgICAgfCA0ICsrLS0KIGRyaXZlcnMvZ3Bpby9ncGlvLW14Yy5j ICAgICAgIHwgNCArKy0tCiBkcml2ZXJzL2dwaW8vZ3Bpby1teHMuYyAgICAgICB8IDIgKy0KIGRy aXZlcnMvZ3Bpby9ncGlvLXB4YS5jICAgICAgIHwgNSArKy0tLQogZHJpdmVycy9ncGlvL2dwaW8t cm9ja2NoaXAuYyAgfCA0ICsrLS0KIGRyaXZlcnMvZ3Bpby9ncGlvLXNvZGF2aWxsZS5jIHwgNCAr Ky0tCiBkcml2ZXJzL2dwaW8vZ3Bpby10YjEweC5jICAgICB8IDUgKystLS0KIGRyaXZlcnMvZ3Bp by9ncGlvLXR3bDQwMzAuYyAgIHwgMiArLQogMTMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9u cygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8tYnJj bXN0Yi5jIGIvZHJpdmVycy9ncGlvL2dwaW8tYnJjbXN0Yi5jCmluZGV4IGU3NjcxYmNkNWMwNy4u ZTI5YTk1ODliM2NjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwaW8vZ3Bpby1icmNtc3RiLmMKKysr IGIvZHJpdmVycy9ncGlvL2dwaW8tYnJjbXN0Yi5jCkBAIC00MzYsMTAgKzQzNiw4IEBAIHN0YXRp YyBpbnQgYnJjbXN0Yl9ncGlvX2lycV9zZXR1cChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 LAogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBkZXYtPm9mX25vZGU7CiAJaW50IGVycjsKIAot CXByaXYtPmlycV9kb21haW4gPQotCQlpcnFfZG9tYWluX2NyZWF0ZV9saW5lYXIob2ZfZndub2Rl X2hhbmRsZShucCksIHByaXYtPm51bV9ncGlvcywKLQkJCQkgICAgICAmYnJjbXN0Yl9ncGlvX2ly cV9kb21haW5fb3BzLAotCQkJCSAgICAgIHByaXYpOworCXByaXYtPmlycV9kb21haW4gPSBpcnFf ZG9tYWluX2NyZWF0ZV9saW5lYXIoZGV2X2Z3bm9kZShkZXYpLCBwcml2LT5udW1fZ3Bpb3MsCisJ CQkJCQkgICAgJmJyY21zdGJfZ3Bpb19pcnFfZG9tYWluX29wcywgcHJpdik7CiAJaWYgKCFwcml2 LT5pcnFfZG9tYWluKSB7CiAJCWRldl9lcnIoZGV2LCAiQ291bGRuJ3QgYWxsb2NhdGUgSVJRIGRv bWFpblxuIik7CiAJCXJldHVybiAtRU5YSU87CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vZ3Bp by1kYXZpbmNpLmMgYi9kcml2ZXJzL2dwaW8vZ3Bpby1kYXZpbmNpLmMKaW5kZXggODBhODI0OTIx NzFlLi44ZjNhMzZkMDE5MWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLWRhdmluY2ku YworKysgYi9kcml2ZXJzL2dwaW8vZ3Bpby1kYXZpbmNpLmMKQEAgLTQ3OCw3ICs0NzgsNyBAQCBz dGF0aWMgaW50IGRhdmluY2lfZ3Bpb19pcnFfc2V0dXAoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKIAkJCXJldHVybiBpcnE7CiAJCX0KIAotCQlpcnFfZG9tYWluID0gaXJxX2RvbWFpbl9j cmVhdGVfbGVnYWN5KG9mX2Z3bm9kZV9oYW5kbGUoZGV2LT5vZl9ub2RlKSwgbmdwaW8sIGlycSwg MCwKKwkJaXJxX2RvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xlZ2FjeShkZXZfZndub2RlKGRl diksIG5ncGlvLCBpcnEsIDAsCiAJCQkJCQkgICAgICAmZGF2aW5jaV9ncGlvX2lycV9vcHMsIGNo aXBzKTsKIAkJaWYgKCFpcnFfZG9tYWluKSB7CiAJCQlkZXZfZXJyKGRldiwgIkNvdWxkbid0IHJl Z2lzdGVyIGFuIElSUSBkb21haW5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8t ZW0uYyBiL2RyaXZlcnMvZ3Bpby9ncGlvLWVtLmMKaW5kZXggYTVlNmU0NDZmMzljLi4wMTVmMWFj MzJkZDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLWVtLmMKKysrIGIvZHJpdmVycy9n cGlvL2dwaW8tZW0uYwpAQCAtMzI1LDggKzMyNSw3IEBAIHN0YXRpYyBpbnQgZW1fZ2lvX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJaXJxX2NoaXAtPmlycV9yZWxlYXNlX3Jl c291cmNlcyA9IGVtX2dpb19pcnFfcmVscmVzOwogCWlycV9jaGlwLT5mbGFncwk9IElSUUNISVBf U0tJUF9TRVRfV0FLRSB8IElSUUNISVBfTUFTS19PTl9TVVNQRU5EOwogCi0JcC0+aXJxX2RvbWFp biA9IGlycV9kb21haW5fY3JlYXRlX3NpbXBsZShvZl9md25vZGVfaGFuZGxlKGRldi0+b2Zfbm9k ZSksCi0JCQkJCQkgbmdwaW9zLCAwLAorCXAtPmlycV9kb21haW4gPSBpcnFfZG9tYWluX2NyZWF0 ZV9zaW1wbGUoZGV2X2Z3bm9kZShkZXYpLCBuZ3Bpb3MsIDAsCiAJCQkJCQkgJmVtX2dpb19pcnFf ZG9tYWluX29wcywgcCk7CiAJaWYgKCFwLT5pcnFfZG9tYWluKSB7CiAJCWRldl9lcnIoZGV2LCAi Y2Fubm90IGluaXRpYWxpemUgaXJxIGRvbWFpblxuIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw aW8vZ3Bpby1ncmdwaW8uYyBiL2RyaXZlcnMvZ3Bpby9ncGlvLWdyZ3Bpby5jCmluZGV4IGQzOGEy ZDk4NTRjYS4uZjNmOGJhYjYyZjk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwaW8vZ3Bpby1ncmdw aW8uYworKysgYi9kcml2ZXJzL2dwaW8vZ3Bpby1ncmdwaW8uYwpAQCAtNDAyLDkgKzQwMiw4IEBA IHN0YXRpYyBpbnQgZ3JncGlvX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm9mZGV2KQog CQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAotCQlwcml2LT5kb21haW4gPSBpcnFfZG9tYWluX2Ny ZWF0ZV9saW5lYXIob2ZfZndub2RlX2hhbmRsZShucCksIGdjLT5uZ3BpbywKLQkJCQkJCSAgICAg JmdyZ3Bpb19pcnFfZG9tYWluX29wcywKLQkJCQkJCSAgICAgcHJpdik7CisJCXByaXYtPmRvbWFp biA9IGlycV9kb21haW5fY3JlYXRlX2xpbmVhcihkZXZfZndub2RlKCZvZmRldi0+ZGV2KSwgZ2Mt Pm5ncGlvLAorCQkJCQkJCSZncmdwaW9faXJxX2RvbWFpbl9vcHMsIHByaXYpOwogCQlpZiAoIXBy aXYtPmRvbWFpbikgewogCQkJZGV2X2VycihkZXYsICJDb3VsZCBub3QgYWRkIGlycSBkb21haW5c biIpOwogCQkJcmV0dXJuIC1FSU5WQUw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vZ3Bpby1s cGMxOHh4LmMgYi9kcml2ZXJzL2dwaW8vZ3Bpby1scGMxOHh4LmMKaW5kZXggYjBhOGRhNWMwNThk Li4yZGJmYmY5MDE3NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLWxwYzE4eHguYwor KysgYi9kcml2ZXJzL2dwaW8vZ3Bpby1scGMxOHh4LmMKQEAgLTI0OSw4ICsyNDksOCBAQCBzdGF0 aWMgaW50IGxwYzE4eHhfZ3Bpb19waW5faWNfcHJvYmUoc3RydWN0IGxwYzE4eHhfZ3Bpb19jaGlw ICpnYykKIAlyYXdfc3Bpbl9sb2NrX2luaXQoJmljLT5sb2NrKTsKIAogCWljLT5kb21haW4gPSBp cnFfZG9tYWluX2NyZWF0ZV9oaWVyYXJjaHkocGFyZW50X2RvbWFpbiwgMCwgTlJfTFBDMThYWF9H UElPX1BJTl9JQ19JUlFTLAotCQkJCQkJIG9mX2Z3bm9kZV9oYW5kbGUoZGV2LT5vZl9ub2RlKSwK LQkJCQkJCSAmbHBjMTh4eF9ncGlvX3Bpbl9pY19kb21haW5fb3BzLCBpYyk7CisJCQkJCQkgZGV2 X2Z3bm9kZShkZXYpLCAmbHBjMTh4eF9ncGlvX3Bpbl9pY19kb21haW5fb3BzLAorCQkJCQkJIGlj KTsKIAlpZiAoIWljLT5kb21haW4pIHsKIAkJcHJfZXJyKCJ1bmFibGUgdG8gYWRkIGlycSBkb21h aW5cbiIpOwogCQlyZXQgPSAtRU5PREVWOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8t bXZlYnUuYyBiL2RyaXZlcnMvZ3Bpby9ncGlvLW12ZWJ1LmMKaW5kZXggNTc2MzNhN2I0MjcwLi4y NDc5MmI4ZWIwODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLW12ZWJ1LmMKKysrIGIv ZHJpdmVycy9ncGlvL2dwaW8tbXZlYnUuYwpAQCAtMTIzNiw4ICsxMjM2LDggQEAgc3RhdGljIGlu dCBtdmVidV9ncGlvX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJaWYgKCFo YXZlX2lycXMpCiAJCXJldHVybiAwOwogCi0JbXZjaGlwLT5kb21haW4gPQotCSAgICBpcnFfZG9t YWluX2NyZWF0ZV9saW5lYXIob2ZfZndub2RlX2hhbmRsZShucCksIG5ncGlvcywgJmlycV9nZW5l cmljX2NoaXBfb3BzLCBOVUxMKTsKKwltdmNoaXAtPmRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRl X2xpbmVhcihkZXZfZndub2RlKCZwZGV2LT5kZXYpLCBuZ3Bpb3MsCisJCQkJCQkgICZpcnFfZ2Vu ZXJpY19jaGlwX29wcywgTlVMTCk7CiAJaWYgKCFtdmNoaXAtPmRvbWFpbikgewogCQlkZXZfZXJy KCZwZGV2LT5kZXYsICJjb3VsZG4ndCBhbGxvY2F0ZSBpcnEgZG9tYWluICVzIChEVCkuXG4iLAog CQkJbXZjaGlwLT5jaGlwLmxhYmVsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3Bpby9ncGlvLW14 Yy5jIGIvZHJpdmVycy9ncGlvL2dwaW8tbXhjLmMKaW5kZXggZmFlMWEzMGY4YWU2Li40YWY1YTI5 NzJkMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLW14Yy5jCisrKyBiL2RyaXZlcnMv Z3Bpby9ncGlvLW14Yy5jCkBAIC01MDksOCArNTA5LDggQEAgc3RhdGljIGludCBteGNfZ3Bpb19w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlnb3RvIG91dF9iZ2lvOwogCX0K IAotCXBvcnQtPmRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xlZ2FjeShvZl9md25vZGVfaGFu ZGxlKG5wKSwgMzIsIGlycV9iYXNlLCAwLAotCQkJCQkgICAgICZpcnFfZG9tYWluX3NpbXBsZV9v cHMsIE5VTEwpOworCXBvcnQtPmRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xlZ2FjeShkZXZf Zndub2RlKCZwZGV2LT5kZXYpLCAzMiwgaXJxX2Jhc2UsIDAsCisJCQkJCQkmaXJxX2RvbWFpbl9z aW1wbGVfb3BzLCBOVUxMKTsKIAlpZiAoIXBvcnQtPmRvbWFpbikgewogCQllcnIgPSAtRU5PREVW OwogCQlnb3RvIG91dF9iZ2lvOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8tbXhzLmMg Yi9kcml2ZXJzL2dwaW8vZ3Bpby1teHMuYwppbmRleCBiNDE4ZmJjY2IyNmMuLjBlYTQ2ZjNkMDRl MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncGlvL2dwaW8tbXhzLmMKKysrIGIvZHJpdmVycy9ncGlv L2dwaW8tbXhzLmMKQEAgLTMwMyw3ICszMDMsNyBAQCBzdGF0aWMgaW50IG14c19ncGlvX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCWdvdG8gb3V0X2lvdW5tYXA7CiAJfQog Ci0JcG9ydC0+ZG9tYWluID0gaXJxX2RvbWFpbl9jcmVhdGVfbGVnYWN5KG9mX2Z3bm9kZV9oYW5k bGUobnApLCAzMiwgaXJxX2Jhc2UsIDAsCisJcG9ydC0+ZG9tYWluID0gaXJxX2RvbWFpbl9jcmVh dGVfbGVnYWN5KGRldl9md25vZGUoJnBkZXYtPmRldiksIDMyLCBpcnFfYmFzZSwgMCwKIAkJCQkJ CSZpcnFfZG9tYWluX3NpbXBsZV9vcHMsIE5VTEwpOwogCWlmICghcG9ydC0+ZG9tYWluKSB7CiAJ CWVyciA9IC1FTk9ERVY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vZ3Bpby1weGEuYyBiL2Ry aXZlcnMvZ3Bpby9ncGlvLXB4YS5jCmluZGV4IGFlYWQzNWVhMDkwZS4uMTMxYWI3OWViY2U3IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwaW8vZ3Bpby1weGEuYworKysgYi9kcml2ZXJzL2dwaW8vZ3Bp by1weGEuYwpAQCAtNjQyLDkgKzY0Miw4IEBAIHN0YXRpYyBpbnQgcHhhX2dwaW9fcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlpZiAoIXB4YV9sYXN0X2dwaW8pCiAJCXJldHVy biAtRUlOVkFMOwogCi0JcGNoaXAtPmlycWRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xlZ2Fj eShvZl9md25vZGVfaGFuZGxlKHBkZXYtPmRldi5vZl9ub2RlKSwKLQkJCQkJCSAgICBweGFfbGFz dF9ncGlvICsgMSwgaXJxX2Jhc2UsIDAsCi0JCQkJCQkgICAgJnB4YV9pcnFfZG9tYWluX29wcywg cGNoaXApOworCXBjaGlwLT5pcnFkb21haW4gPSBpcnFfZG9tYWluX2NyZWF0ZV9sZWdhY3koZGV2 X2Z3bm9kZSgmcGRldi0+ZGV2KSwgcHhhX2xhc3RfZ3BpbyArIDEsCisJCQkJCQkgICAgaXJxX2Jh c2UsIDAsICZweGFfaXJxX2RvbWFpbl9vcHMsIHBjaGlwKTsKIAlpZiAoIXBjaGlwLT5pcnFkb21h aW4pCiAJCXJldHVybiAtRU5PTUVNOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vZ3Bpby1y b2NrY2hpcC5jIGIvZHJpdmVycy9ncGlvL2dwaW8tcm9ja2NoaXAuYwppbmRleCBjNjMzNTJmMmYx ZWMuLjY0NzAwYTAwM2Y5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncGlvL2dwaW8tcm9ja2NoaXAu YworKysgYi9kcml2ZXJzL2dwaW8vZ3Bpby1yb2NrY2hpcC5jCkBAIC01MjEsOCArNTIxLDggQEAg c3RhdGljIGludCByb2NrY2hpcF9pbnRlcnJ1cHRzX3JlZ2lzdGVyKHN0cnVjdCByb2NrY2hpcF9w aW5fYmFuayAqYmFuaykKIAlzdHJ1Y3QgaXJxX2NoaXBfZ2VuZXJpYyAqZ2M7CiAJaW50IHJldDsK IAotCWJhbmstPmRvbWFpbiA9IGlycV9kb21haW5fY3JlYXRlX2xpbmVhcihvZl9md25vZGVfaGFu ZGxlKGJhbmstPm9mX25vZGUpLCAzMiwKLQkJCQkJJmlycV9nZW5lcmljX2NoaXBfb3BzLCBOVUxM KTsKKwliYW5rLT5kb21haW4gPSBpcnFfZG9tYWluX2NyZWF0ZV9saW5lYXIoZGV2X2Z3bm9kZShi YW5rLT5kZXYpLCAzMiwgJmlycV9nZW5lcmljX2NoaXBfb3BzLAorCQkJCQkJTlVMTCk7CiAJaWYg KCFiYW5rLT5kb21haW4pIHsKIAkJZGV2X3dhcm4oYmFuay0+ZGV2LCAiY291bGQgbm90IGluaXQg aXJxIGRvbWFpbiBmb3IgYmFuayAlc1xuIiwKIAkJCSBiYW5rLT5uYW1lKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3Bpby9ncGlvLXNvZGF2aWxsZS5jIGIvZHJpdmVycy9ncGlvL2dwaW8tc29kYXZp bGxlLmMKaW5kZXggNmEzYzRjNjI1MTM4Li5hYmQxM2M3OWFjZTAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3Bpby9ncGlvLXNvZGF2aWxsZS5jCisrKyBiL2RyaXZlcnMvZ3Bpby9ncGlvLXNvZGF2aWxs ZS5jCkBAIC0xNjksOCArMTY5LDggQEAgc3RhdGljIGludCBzZHZfcmVnaXN0ZXJfaXJxc3VwcG9y dChzdHJ1Y3Qgc2R2X2dwaW9fY2hpcF9kYXRhICpzZCwKIAkJCUlSUV9HQ19JTklUX01BU0tfQ0FD SEUsIElSUV9OT1JFUVVFU1QsCiAJCQlJUlFfTEVWRUwgfCBJUlFfTk9QUk9CRSk7CiAKLQlzZC0+ aWQgPSBpcnFfZG9tYWluX2NyZWF0ZV9sZWdhY3kob2ZfZndub2RlX2hhbmRsZShwZGV2LT5kZXYu b2Zfbm9kZSksIFNEVl9OVU1fUFVCX0dQSU9TLAotCQkJCXNkLT5pcnFfYmFzZSwgMCwgJmlycV9k b21haW5fc2R2X29wcywgc2QpOworCXNkLT5pZCA9IGlycV9kb21haW5fY3JlYXRlX2xlZ2FjeShk ZXZfZndub2RlKCZwZGV2LT5kZXYpLCBTRFZfTlVNX1BVQl9HUElPUywgc2QtPmlycV9iYXNlLAor CQkJCQkgIDAsICZpcnFfZG9tYWluX3Nkdl9vcHMsIHNkKTsKIAlpZiAoIXNkLT5pZCkKIAkJcmV0 dXJuIC1FTk9ERVY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3Bpby9ncGlvLXRiMTB4LmMgYi9k cml2ZXJzL2dwaW8vZ3Bpby10YjEweC5jCmluZGV4IDhjZjY3NmZkMGEwYi4uMTg2OWVlN2Y5NDIz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwaW8vZ3Bpby10YjEweC5jCisrKyBiL2RyaXZlcnMvZ3Bp by9ncGlvLXRiMTB4LmMKQEAgLTE4Myw5ICsxODMsOCBAQCBzdGF0aWMgaW50IHRiMTB4X2dwaW9f cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJaWYgKHJldCAhPSAwKQogCQkJ cmV0dXJuIHJldDsKIAotCQl0YjEweF9ncGlvLT5kb21haW4gPSBpcnFfZG9tYWluX2NyZWF0ZV9s aW5lYXIob2ZfZndub2RlX2hhbmRsZShucCksCi0JCQkJCQl0YjEweF9ncGlvLT5nYy5uZ3BpbywK LQkJCQkJCSZpcnFfZ2VuZXJpY19jaGlwX29wcywgTlVMTCk7CisJCXRiMTB4X2dwaW8tPmRvbWFp biA9IGlycV9kb21haW5fY3JlYXRlX2xpbmVhcihkZXZfZndub2RlKGRldiksIHRiMTB4X2dwaW8t PmdjLm5ncGlvLAorCQkJCQkJCSAgICAgICZpcnFfZ2VuZXJpY19jaGlwX29wcywgTlVMTCk7CiAJ CWlmICghdGIxMHhfZ3Bpby0+ZG9tYWluKSB7CiAJCQlyZXR1cm4gLUVOT01FTTsKIAkJfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8tdHdsNDAzMC5jIGIvZHJpdmVycy9ncGlvL2dwaW8t dHdsNDAzMC5jCmluZGV4IDBkMTc5ODVhNWZkYy4uYzVkNzgyNWYxOWMxIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwaW8vZ3Bpby10d2w0MDMwLmMKKysrIGIvZHJpdmVycy9ncGlvL2dwaW8tdHdsNDAz MC5jCkBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIGludCBncGlvX3R3bDQwMzBfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcmV0dXJuIGlycV9iYXNlOwogCX0KIAotCWly cV9kb21haW5fY3JlYXRlX2xlZ2FjeShvZl9md25vZGVfaGFuZGxlKHBkZXYtPmRldi5vZl9ub2Rl KSwgVFdMNDAzMF9HUElPX01BWCwgaXJxX2Jhc2UsIDAsCisJaXJxX2RvbWFpbl9jcmVhdGVfbGVn YWN5KGRldl9md25vZGUoJnBkZXYtPmRldiksIFRXTDQwMzBfR1BJT19NQVgsIGlycV9iYXNlLCAw LAogCQkJCSAmaXJxX2RvbWFpbl9zaW1wbGVfb3BzLCBOVUxMKTsKIAogCXJldCA9IHR3bDQwMzBf c2loX3NldHVwKCZwZGV2LT5kZXYsIFRXTDQwMzBfTU9EVUxFX0dQSU8sIGlycV9iYXNlKTsKLS0g CjIuNDkuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt cm9ja2NoaXAK