From nobody Wed Dec 17 08:52:31 2025 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 E2C7A256C65 for ; Wed, 19 Mar 2025 09:31:24 +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=1742376685; cv=none; b=Y7x7gnBdugzXpSw2A9cGsdjBpiw600fhb08mJNF7bgcqzEoHuzQ7pCpiIlb28vo/hpaOAIjdEbgjIol+CpMQC5ZPXbpQzSSAHDUqKxvlAXrVTGwJqz2Vfk9uVK+9Za+916afqVGoohvddm5ONfg2OVEt9m7nKGYHD3KrnmpNSbQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742376685; c=relaxed/simple; bh=IRPy6rdQAf8FH/TYZqrfLoaXvOKxAtAADXQKa7/vbmg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tweAYa4Dso0On7jtOfImJj8W9uB722ZtZ23MbwiTp4lD2Ycf0ANN/5c43b7MM6WF82pRwWdOVEWTK/DBUCcKAhiiWSJ4rUGVRaVbh41ekCSQEt2prhgVpquMwz0up5ZLyMibz9lOIvKe7tqkrNOj8G2ikuy8TxtpqPKC1DEuJW4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lch0q9mJ; 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="lch0q9mJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0C3BEC4CEEA; Wed, 19 Mar 2025 09:31:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742376684; bh=IRPy6rdQAf8FH/TYZqrfLoaXvOKxAtAADXQKa7/vbmg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lch0q9mJZEHRTrKV1pGlv6crfvvguqWqaywvDVeUuQ5Kri/RQi8b2Ng3Eqgt1rPn4 ZZ8M7tEMphO9VPKS6Gc23v9o+U+lmU6hEF2Bri3hGhISPU0q2v3Yv5UejnpU6e/Ixi 3DEzK7AFej9W0dReVe42kwP2V6V4aoRCJk9ULHh1g2TSnNNNvxJv9gZyzJeiFmCoYi iZUY8TV7GjKp1PSAu3NJTeDAOdg3fT2ruJdaA/+iRA3Mq1+RgQrp298d5bfb7nMXTY /5k4SD5GYQTJcpEIizD/mXD7nUlIhawj+knyrHbdTbB32VCZ65fHaPvvmXFwDsMiA9 WHZomiqtTKm7g== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Russell King , Krzysztof Kozlowski , Alim Akhtar , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Aaro Koskinen , Janusz Krzysztofik , Tony Lindgren , Andreas Kemnade , Kevin Hilman , Roger Quadros , Daniel Mack , Haojian Zhuang , Robert Jarzmik , Andrew Lunn , Sebastian Hesselbarth , Gregory Clement , linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 14/57] irqdomain: arm: Switch to irq_domain_create_*() Date: Wed, 19 Mar 2025 10:29:07 +0100 Message-ID: <20250319092951.37667-15-jirislaby@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250319092951.37667-1-jirislaby@kernel.org> References: <20250319092951.37667-1-jirislaby@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" irq_domain_add_*() interfaces are going away as being obsolete now. Switch to the preferred irq_domain_create_*() ones. Those differ in the node parameter: They take more generic struct fwnode_handle instead of struct device_node. Therefore, of_fwnode_handle() is added around the original parameter. Note some of the users can likely use dev->fwnode directly instead of indirect of_fwnode_handle(dev->of_node). But dev->fwnode is not guaranteed to be set for all, so this has to be investigated on case to case basis (by people who can actually test with the HW). Signed-off-by: Jiri Slaby (SUSE) Cc: Russell King Cc: Krzysztof Kozlowski Cc: Alim Akhtar Cc: Shawn Guo Cc: Sascha Hauer Cc: Pengutronix Kernel Team Cc: Fabio Estevam Cc: Aaro Koskinen Cc: Janusz Krzysztofik Cc: Tony Lindgren Cc: Andreas Kemnade Cc: Kevin Hilman Cc: Roger Quadros Cc: Daniel Mack Cc: Haojian Zhuang Cc: Robert Jarzmik Cc: Andrew Lunn Cc: Sebastian Hesselbarth Cc: Gregory Clement Cc: linux-arm-kernel@lists.infradead.org --- arch/arm/common/sa1111.c | 6 +++--- arch/arm/mach-exynos/suspend.c | 5 ++--- arch/arm/mach-imx/avic.c | 4 ++-- arch/arm/mach-imx/gpc.c | 5 ++--- arch/arm/mach-imx/tzic.c | 4 ++-- arch/arm/mach-omap1/irq.c | 3 +-- arch/arm/mach-omap2/omap-wakeupgen.c | 5 ++--- arch/arm/mach-pxa/irq.c | 5 ++--- arch/arm/plat-orion/gpio.c | 12 ++++++------ 9 files changed, 22 insertions(+), 27 deletions(-) diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 9846f30990f7..02eda44a6faa 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c @@ -416,9 +416,9 @@ static int sa1111_setup_irq(struct sa1111 *sachip, unsi= gned irq_base) writel_relaxed(~0, irqbase + SA1111_INTSTATCLR0); writel_relaxed(~0, irqbase + SA1111_INTSTATCLR1); =20 - sachip->irqdomain =3D irq_domain_add_linear(NULL, SA1111_IRQ_NR, - &sa1111_irqdomain_ops, - sachip); + sachip->irqdomain =3D irq_domain_create_linear(NULL, SA1111_IRQ_NR, + &sa1111_irqdomain_ops, + sachip); if (!sachip->irqdomain) { irq_free_descs(sachip->irq_base, SA1111_IRQ_NR); return -ENOMEM; diff --git a/arch/arm/mach-exynos/suspend.c b/arch/arm/mach-exynos/suspend.c index cac4e82f6c82..150a1e56dcae 100644 --- a/arch/arm/mach-exynos/suspend.c +++ b/arch/arm/mach-exynos/suspend.c @@ -209,9 +209,8 @@ static int __init exynos_pmu_irq_init(struct device_nod= e *node, return -ENOMEM; } =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, 0, - node, &exynos_pmu_domain_ops, - NULL); + domain =3D irq_domain_create_hierarchy(parent_domain, 0, 0, of_fwnode_han= dle(node), + &exynos_pmu_domain_ops, NULL); if (!domain) { iounmap(pmu_base_addr); pmu_base_addr =3D NULL; diff --git a/arch/arm/mach-imx/avic.c b/arch/arm/mach-imx/avic.c index cf6546ddc7a3..3067c06b4b8e 100644 --- a/arch/arm/mach-imx/avic.c +++ b/arch/arm/mach-imx/avic.c @@ -201,8 +201,8 @@ static void __init mxc_init_irq(void __iomem *irqbase) WARN_ON(irq_base < 0); =20 np =3D of_find_compatible_node(NULL, NULL, "fsl,avic"); - domain =3D irq_domain_add_legacy(np, AVIC_NUM_IRQS, irq_base, 0, - &irq_domain_simple_ops, NULL); + domain =3D irq_domain_create_legacy(of_fwnode_handle(np), AVIC_NUM_IRQS, = irq_base, 0, + &irq_domain_simple_ops, NULL); WARN_ON(!domain); =20 for (i =3D 0; i < AVIC_NUM_IRQS / 32; i++, irq_base +=3D 32) diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c index 5909088d5482..2e633569d2f8 100644 --- a/arch/arm/mach-imx/gpc.c +++ b/arch/arm/mach-imx/gpc.c @@ -245,9 +245,8 @@ static int __init imx_gpc_init(struct device_node *node, if (WARN_ON(!gpc_base)) return -ENOMEM; =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, GPC_MAX_IRQS, - node, &imx_gpc_domain_ops, - NULL); + domain =3D irq_domain_create_hierarchy(parent_domain, 0, GPC_MAX_IRQS, of= _fwnode_handle(node), + &imx_gpc_domain_ops, NULL); if (!domain) { iounmap(gpc_base); return -ENOMEM; diff --git a/arch/arm/mach-imx/tzic.c b/arch/arm/mach-imx/tzic.c index 8b3d98d288d9..50a5668e65d2 100644 --- a/arch/arm/mach-imx/tzic.c +++ b/arch/arm/mach-imx/tzic.c @@ -175,8 +175,8 @@ static int __init tzic_init_dt(struct device_node *np, = struct device_node *p) irq_base =3D irq_alloc_descs(-1, 0, TZIC_NUM_IRQS, numa_node_id()); WARN_ON(irq_base < 0); =20 - domain =3D irq_domain_add_legacy(np, TZIC_NUM_IRQS, irq_base, 0, - &irq_domain_simple_ops, NULL); + domain =3D irq_domain_create_legacy(of_fwnode_handle(np), TZIC_NUM_IRQS, = irq_base, 0, + &irq_domain_simple_ops, NULL); WARN_ON(!domain); =20 for (i =3D 0; i < 4; i++, irq_base +=3D 32) diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c index 9b587ecebb1c..bb1bc060ecd8 100644 --- a/arch/arm/mach-omap1/irq.c +++ b/arch/arm/mach-omap1/irq.c @@ -220,8 +220,7 @@ void __init omap1_init_irq(void) omap_l2_irq =3D irq_base; omap_l2_irq -=3D NR_IRQS_LEGACY; =20 - domain =3D irq_domain_add_legacy(NULL, nr_irqs, irq_base, 0, - &irq_domain_simple_ops, NULL); + domain =3D irq_domain_create_legacy(NULL, nr_irqs, irq_base, 0, &irq_doma= in_simple_ops, NULL); =20 pr_info("Total of %lu interrupts in %i interrupt banks\n", nr_irqs, irq_bank_count); diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/oma= p-wakeupgen.c index 6f0d6120c174..a66b1dc61571 100644 --- a/arch/arm/mach-omap2/omap-wakeupgen.c +++ b/arch/arm/mach-omap2/omap-wakeupgen.c @@ -585,9 +585,8 @@ static int __init wakeupgen_init(struct device_node *no= de, wakeupgen_ops =3D &am43xx_wakeupgen_ops; } =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, max_irqs, - node, &wakeupgen_domain_ops, - NULL); + domain =3D irq_domain_create_hierarchy(parent_domain, 0, max_irqs, of_fwn= ode_handle(node), + &wakeupgen_domain_ops, NULL); if (!domain) { iounmap(wakeupgen_base); return -ENOMEM; diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index d9cadd97748a..5bfce8aa4102 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c @@ -147,9 +147,8 @@ pxa_init_irq_common(struct device_node *node, int irq_n= r, int n; =20 pxa_internal_irq_nr =3D irq_nr; - pxa_irq_domain =3D irq_domain_add_legacy(node, irq_nr, - PXA_IRQ(0), 0, - &pxa_irq_ops, NULL); + pxa_irq_domain =3D irq_domain_create_legacy(of_fwnode_handle(node), irq_n= r, PXA_IRQ(0), 0, + &pxa_irq_ops, NULL); if (!pxa_irq_domain) panic("Unable to add PXA IRQ domain\n"); irq_set_default_domain(pxa_irq_domain); diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c index 595e9cb33c1d..a15f47450084 100644 --- a/arch/arm/plat-orion/gpio.c +++ b/arch/arm/plat-orion/gpio.c @@ -602,12 +602,12 @@ void __init orion_gpio_init(int gpio_base, int ngpio, IRQ_NOREQUEST, IRQ_LEVEL | IRQ_NOPROBE); =20 /* Setup irq domain on top of the generic chip. */ - ochip->domain =3D irq_domain_add_legacy(NULL, - ochip->chip.ngpio, - ochip->secondary_irq_base, - ochip->secondary_irq_base, - &irq_domain_simple_ops, - ochip); + ochip->domain =3D irq_domain_create_legacy(NULL, + ochip->chip.ngpio, + ochip->secondary_irq_base, + ochip->secondary_irq_base, + &irq_domain_simple_ops, + ochip); if (!ochip->domain) panic("%s: couldn't allocate irq domain (DT).\n", ochip->chip.label); --=20 2.49.0