From nobody Sun May 10 23:28:30 2026 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 8D507C433EF for ; Thu, 21 Apr 2022 09:43:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1387793AbiDUJpt (ORCPT ); Thu, 21 Apr 2022 05:45:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1387774AbiDUJpl (ORCPT ); Thu, 21 Apr 2022 05:45:41 -0400 Received: from mo-csw.securemx.jp (mo-csw1514.securemx.jp [210.130.202.153]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B25B824BD7 for ; Thu, 21 Apr 2022 02:42:51 -0700 (PDT) Received: by mo-csw.securemx.jp (mx-mo-csw1514) id 23L9gb8O004596; Thu, 21 Apr 2022 18:42:37 +0900 X-Iguazu-Qid: 34trQigfsM9AOe1oBN X-Iguazu-QSIG: v=2; s=0; t=1650534157; q=34trQigfsM9AOe1oBN; m=Ut1SpkpRGkVEB/JCPVblskph/aglZB/76Gj0Mthtm54= Received: from imx12-a.toshiba.co.jp (imx12-a.toshiba.co.jp [61.202.160.135]) by relay.securemx.jp (mx-mr1512) id 23L9gaNb039362 (version=TLSv1.2 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Thu, 21 Apr 2022 18:42:36 +0900 From: Nobuhiro Iwamatsu To: Bartosz Golaszewski , Linus Walleij Cc: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Nobuhiro Iwamatsu Subject: [PATCH v2] gpio: visconti: Fix fwnode of GPIO IRQ Date: Thu, 21 Apr 2022 18:42:28 +0900 X-TSB-HOP2: ON Message-Id: <20220421094228.2141569-1-nobuhiro1.iwamatsu@toshiba.co.jp> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The fwnode of GPIO IRQ must be set to its own fwnode, not the fwnode of the parent IRQ. Therefore, this sets own fwnode instead of the parent IRQ fwnod= e to GPIO IRQ's. Fixes: 2ad74f40dacc ("gpio: visconti: Add Toshiba Visconti GPIO support") Signed-off-by: Nobuhiro Iwamatsu Reviewed-by: Linus Walleij --- v2: Add Fixes tag. drivers/gpio/gpio-visconti.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-visconti.c b/drivers/gpio/gpio-visconti.c index 47455810bdb9..e6534ea1eaa7 100644 --- a/drivers/gpio/gpio-visconti.c +++ b/drivers/gpio/gpio-visconti.c @@ -130,7 +130,6 @@ static int visconti_gpio_probe(struct platform_device *= pdev) struct gpio_irq_chip *girq; struct irq_domain *parent; struct device_node *irq_parent; - struct fwnode_handle *fwnode; int ret; =20 priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); @@ -150,14 +149,12 @@ static int visconti_gpio_probe(struct platform_device= *pdev) } =20 parent =3D irq_find_host(irq_parent); + of_node_put(irq_parent); if (!parent) { dev_err(dev, "No IRQ parent domain\n"); return -ENODEV; } =20 - fwnode =3D of_node_to_fwnode(irq_parent); - of_node_put(irq_parent); - ret =3D bgpio_init(&priv->gpio_chip, dev, 4, priv->base + GPIO_IDATA, priv->base + GPIO_OSET, @@ -180,7 +177,7 @@ static int visconti_gpio_probe(struct platform_device *= pdev) =20 girq =3D &priv->gpio_chip.irq; girq->chip =3D irq_chip; - girq->fwnode =3D fwnode; + girq->fwnode =3D of_node_to_fwnode(dev->of_node); girq->parent_domain =3D parent; girq->child_to_parent_hwirq =3D visconti_gpio_child_to_parent_hwirq; girq->populate_parent_alloc_arg =3D visconti_gpio_populate_parent_fwspec; --=20 2.34.1