From nobody Thu Dec 18 03:57:05 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 6FCD81E7C20 for ; Wed, 15 Jan 2025 08:54:15 +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=1736931255; cv=none; b=oCjxhaygVDAzAY///HCuH2aL5zzIm3BPmHWA2GD9GMmj9lCuLiutgyU5kbc2sGuj5vR69JrFwx5DeaAcstt1DavS4m/t6cTDssiOxOkBuhAswoOK5+9z6lqiPZKIMrtw1Jbxae4yOBcHboD477iVXlk2pL372yjDlM7+wAZIuPo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931255; c=relaxed/simple; bh=qnAtTFndmKakXnU4Ctv6C2JLD5buOFqgAKMY/rAGSxc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S40HYX6ATo2uRZI9if9YAilaVfxiXw9hSmkgxgIIGCl69btxN9VBw2ywa//Yoc3hO2toOP9/w/uQUObrmhZ3+e+boDm56qCJYfUjQhZqejW1WCqc28na/K1extFxcSzqiSoLW2yl1WOkKbxnRyGIWzAHqSL3MQSHd7kQkNkDuX8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=M9MW2ZmE; 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="M9MW2ZmE" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0B8B4C4CEE4; Wed, 15 Jan 2025 08:54:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931255; bh=qnAtTFndmKakXnU4Ctv6C2JLD5buOFqgAKMY/rAGSxc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=M9MW2ZmEo+nZga/z78LaNv9aJYDE5Ouuk1UZP/aLpqw+rMsVxnBduVbchsc2yY2GH 5EwDMZQcARO3JKxY2s5MX//n0ZdcGqvqIuUNH66CqFRHdkBsYslsd8Lwi5LtlKZ9MV kcNLFp7bsZqPuiEFgmgD2LoFNQpx9RX1BVhdGV32GwnfFuDpA/igU9n/9nUKxIfPPw CcUHTdCMEnAi08uYDOSyMwrJMXjGzHtJvDfC4Dteps7hYOWO5p5+b+Xp7r9lzcifQk /qzwegA663UVoRWxeowyyuzVP2lWWQ0Dhatcj1pG+Pxudt7thqsu522pgUjmHHrYAy 4Yz6NQoP1KgmA== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 01/18] irqdomain.h: Remove extern from function declarations Date: Wed, 15 Jan 2025 09:53:50 +0100 Message-ID: <20250115085409.1629787-2-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" 'extern' is not needed for function declarations. So remove it from irqdomain.h. Note that the declarations are now unified as some had 'extern' (all these) and some did not (like msi_device_domain_alloc_wired()). An upside of this change is that parameters are shifted a bit to the left, so the whole code is now more readable. Signed-off-by: Jiri Slaby (SUSE) --- include/linux/irqdomain.h | 140 +++++++++++++++++++------------------- 1 file changed, 71 insertions(+), 69 deletions(-) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index e432b6a12a32..5c0ec335d980 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -350,13 +350,13 @@ struct irq_domain *irq_domain_create_legacy(struct fw= node_handle *fwnode, irq_hw_number_t first_hwirq, const struct irq_domain_ops *ops, void *host_data); -extern struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwsp= ec, - enum irq_domain_bus_token bus_token); -extern void irq_set_default_host(struct irq_domain *host); -extern struct irq_domain *irq_get_default_host(void); -extern int irq_domain_alloc_descs(int virq, unsigned int nr_irqs, - irq_hw_number_t hwirq, int node, - const struct irq_affinity_desc *affinity); +struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec, + enum irq_domain_bus_token bus_token); +void irq_set_default_host(struct irq_domain *host); +struct irq_domain *irq_get_default_host(void); +int irq_domain_alloc_descs(int virq, unsigned int nr_irqs, + irq_hw_number_t hwirq, int node, + const struct irq_affinity_desc *affinity); =20 static inline struct fwnode_handle *of_node_to_fwnode(struct device_node *= node) { @@ -370,8 +370,8 @@ static inline bool is_fwnode_irqchip(const struct fwnod= e_handle *fwnode) return fwnode && fwnode->ops =3D=3D &irqchip_fwnode_ops; } =20 -extern void irq_domain_update_bus_token(struct irq_domain *domain, - enum irq_domain_bus_token bus_token); +void irq_domain_update_bus_token(struct irq_domain *domain, + enum irq_domain_bus_token bus_token); =20 static inline struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode, @@ -454,7 +454,7 @@ static inline struct irq_domain *irq_domain_add_nomap(s= truct device_node *of_nod return IS_ERR(d) ? NULL : d; } =20 -extern unsigned int irq_create_direct_mapping(struct irq_domain *host); +unsigned int irq_create_direct_mapping(struct irq_domain *host); #endif =20 static inline struct irq_domain *irq_domain_add_tree(struct device_node *o= f_node, @@ -507,19 +507,19 @@ static inline struct irq_domain *irq_domain_create_tr= ee(struct fwnode_handle *fw return IS_ERR(d) ? NULL : d; } =20 -extern void irq_domain_remove(struct irq_domain *host); +void irq_domain_remove(struct irq_domain *host); =20 -extern int irq_domain_associate(struct irq_domain *domain, unsigned int ir= q, - irq_hw_number_t hwirq); -extern void irq_domain_associate_many(struct irq_domain *domain, - unsigned int irq_base, - irq_hw_number_t hwirq_base, int count); +int irq_domain_associate(struct irq_domain *domain, unsigned int irq, + irq_hw_number_t hwirq); +void irq_domain_associate_many(struct irq_domain *domain, + unsigned int irq_base, + irq_hw_number_t hwirq_base, int count); =20 -extern unsigned int irq_create_mapping_affinity(struct irq_domain *host, - irq_hw_number_t hwirq, - const struct irq_affinity_desc *affinity); -extern unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec); -extern void irq_dispose_mapping(unsigned int virq); +unsigned int irq_create_mapping_affinity(struct irq_domain *host, + irq_hw_number_t hwirq, + const struct irq_affinity_desc *affinity); +unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec); +void irq_dispose_mapping(unsigned int virq); =20 static inline unsigned int irq_create_mapping(struct irq_domain *host, irq_hw_number_t hwirq) @@ -527,9 +527,9 @@ static inline unsigned int irq_create_mapping(struct ir= q_domain *host, return irq_create_mapping_affinity(host, hwirq, NULL); } =20 -extern struct irq_desc *__irq_resolve_mapping(struct irq_domain *domain, - irq_hw_number_t hwirq, - unsigned int *irq); +struct irq_desc *__irq_resolve_mapping(struct irq_domain *domain, + irq_hw_number_t hwirq, + unsigned int *irq); =20 static inline struct irq_desc *irq_resolve_mapping(struct irq_domain *doma= in, irq_hw_number_t hwirq) @@ -587,19 +587,21 @@ int irq_reserve_ipi(struct irq_domain *domain, const = struct cpumask *dest); int irq_destroy_ipi(unsigned int irq, const struct cpumask *dest); =20 /* V2 interfaces to support hierarchy IRQ domains. */ -extern struct irq_data *irq_domain_get_irq_data(struct irq_domain *domain, - unsigned int virq); -extern void irq_domain_set_info(struct irq_domain *domain, unsigned int vi= rq, - irq_hw_number_t hwirq, - const struct irq_chip *chip, - void *chip_data, irq_flow_handler_t handler, - void *handler_data, const char *handler_name); -extern void irq_domain_reset_irq_data(struct irq_data *irq_data); +struct irq_data *irq_domain_get_irq_data(struct irq_domain *domain, + unsigned int virq); +void irq_domain_set_info(struct irq_domain *domain, unsigned int virq, + irq_hw_number_t hwirq, + const struct irq_chip *chip, + void *chip_data, irq_flow_handler_t handler, + void *handler_data, const char *handler_name); +void irq_domain_reset_irq_data(struct irq_data *irq_data); #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY -extern struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *p= arent, - unsigned int flags, unsigned int size, - struct fwnode_handle *fwnode, - const struct irq_domain_ops *ops, void *host_data); +struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent, + unsigned int flags, + unsigned int size, + struct fwnode_handle *fwnode, + const struct irq_domain_ops *ops, + void *host_data); =20 static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domai= n *parent, unsigned int flags, @@ -613,13 +615,13 @@ static inline struct irq_domain *irq_domain_add_hiera= rchy(struct irq_domain *par ops, host_data); } =20 -extern int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base, - unsigned int nr_irqs, int node, void *arg, - bool realloc, - const struct irq_affinity_desc *affinity); -extern void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs); -extern int irq_domain_activate_irq(struct irq_data *irq_data, bool early); -extern void irq_domain_deactivate_irq(struct irq_data *irq_data); +int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base, + unsigned int nr_irqs, int node, void *arg, + bool realloc, + const struct irq_affinity_desc *affinity); +void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs); +int irq_domain_activate_irq(struct irq_data *irq_data, bool early); +void irq_domain_deactivate_irq(struct irq_data *irq_data); =20 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, unsigned int nr_irqs, int node, void *arg) @@ -628,32 +630,32 @@ static inline int irq_domain_alloc_irqs(struct irq_do= main *domain, NULL); } =20 -extern int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain, - unsigned int irq_base, - unsigned int nr_irqs, void *arg); -extern int irq_domain_set_hwirq_and_chip(struct irq_domain *domain, - unsigned int virq, - irq_hw_number_t hwirq, - const struct irq_chip *chip, - void *chip_data); -extern void irq_domain_free_irqs_common(struct irq_domain *domain, - unsigned int virq, - unsigned int nr_irqs); -extern void irq_domain_free_irqs_top(struct irq_domain *domain, - unsigned int virq, unsigned int nr_irqs); - -extern int irq_domain_push_irq(struct irq_domain *domain, int virq, void *= arg); -extern int irq_domain_pop_irq(struct irq_domain *domain, int virq); - -extern int irq_domain_alloc_irqs_parent(struct irq_domain *domain, - unsigned int irq_base, - unsigned int nr_irqs, void *arg); - -extern void irq_domain_free_irqs_parent(struct irq_domain *domain, - unsigned int irq_base, - unsigned int nr_irqs); - -extern int irq_domain_disconnect_hierarchy(struct irq_domain *domain, +int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain, + unsigned int irq_base, + unsigned int nr_irqs, void *arg); +int irq_domain_set_hwirq_and_chip(struct irq_domain *domain, + unsigned int virq, + irq_hw_number_t hwirq, + const struct irq_chip *chip, + void *chip_data); +void irq_domain_free_irqs_common(struct irq_domain *domain, + unsigned int virq, + unsigned int nr_irqs); +void irq_domain_free_irqs_top(struct irq_domain *domain, + unsigned int virq, unsigned int nr_irqs); + +int irq_domain_push_irq(struct irq_domain *domain, int virq, void *arg); +int irq_domain_pop_irq(struct irq_domain *domain, int virq); + +int irq_domain_alloc_irqs_parent(struct irq_domain *domain, + unsigned int irq_base, + unsigned int nr_irqs, void *arg); + +void irq_domain_free_irqs_parent(struct irq_domain *domain, + unsigned int irq_base, + unsigned int nr_irqs); + +int irq_domain_disconnect_hierarchy(struct irq_domain *domain, unsigned int virq); =20 static inline bool irq_domain_is_hierarchy(struct irq_domain *domain) --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 3360F1EEA25 for ; Wed, 15 Jan 2025 08:54:16 +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=1736931257; cv=none; b=sGurO9w4Mp8FnI83zJUVm5J2AtpyDD261n4K7jB7hR7ydY1Bli8ff2kc+buC37bvwqR1m2mWbquf2j6ANLM898/b6sNoNTIZO3ukBvAgllV650ZArKwdrdOVf1duNkQyx78vZh2bOSNvFTYOEryhuFmzy0jzhamtqI5mYGumknw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931257; c=relaxed/simple; bh=hDq/qRPbiqjUuPNqxFKGIH4x5Pc5ygPQN/gmM8JWhMI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OEEcEeJVGFggso/Lea0mRQOYcOtJvtOldyUcLg5RGjg6Uj1hiigqb+YVdRpfrT53kaiCTq4fYcvcrEHZoWoiZITVZfhUnCjo/hCsl0tcLpkXIMcOXjW8prmNFyR5z+wFTEJq6w3Mx6qMyhHQjKbvB/uq7jsNlmAmVqfZtQ44Hqc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Vy9TKnOb; 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="Vy9TKnOb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90C20C4CEE4; Wed, 15 Jan 2025 08:54:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931256; bh=hDq/qRPbiqjUuPNqxFKGIH4x5Pc5ygPQN/gmM8JWhMI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Vy9TKnObwTotbUmDzkfx0sqD4/MJ2w/gxZ1TPMh9DDl+l1ey1ah6N0WZ4BNOYSQNE cX9jxKmttBSCU8BNq2nDggIoPiADzB29AgLQ8hQyKpu8mpKVpjkK29e00z14dQP/xn TlHssE+aHR4Vju3+mPKstajaW+hkMDIAGo0ghunfvUvhdlNDNHhFL1lqfCdn9h2SpU T73JVPfOQrDcc61cn9cWRJD8Kx758OC4VaHw3Q548JnVvHo+93GtcatfNM2aUadXr4 +sw92xkOG8mE5Cdwlfi+Gynh+7R6wnKT6Ewjbs844r7u4ErVZ7SQPaM4FYV54GIwjw WYipSGJuFB6Jw== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 02/18] irqdomain: Rename irq_set_default_host() to irq_set_default_domain() Date: Wed, 15 Jan 2025 09:53:51 +0100 Message-ID: <20250115085409.1629787-3-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" Call the irq_domain consistently a domain, not host. Here, rename irq_set_default_host() to irq_set_default_domain(). Signed-off-by: Jiri Slaby (SUSE) --- arch/arc/kernel/intc-arcv2.c | 2 +- arch/arc/kernel/intc-compact.c | 2 +- arch/arm/mach-pxa/irq.c | 2 +- arch/mips/cavium-octeon/octeon-irq.c | 6 +++--- arch/mips/sgi-ip27/ip27-irq.c | 2 +- arch/mips/sgi-ip30/ip30-irq.c | 2 +- arch/nios2/kernel/irq.c | 2 +- arch/powerpc/platforms/44x/uic.c | 2 +- arch/powerpc/platforms/52xx/mpc52xx_pic.c | 2 +- arch/powerpc/platforms/amigaone/setup.c | 2 +- arch/powerpc/platforms/cell/interrupt.c | 2 +- arch/powerpc/platforms/chrp/setup.c | 2 +- arch/powerpc/platforms/embedded6xx/flipper-pic.c | 2 +- arch/powerpc/platforms/pasemi/setup.c | 2 +- arch/powerpc/platforms/powermac/pic.c | 2 +- arch/powerpc/platforms/ps3/interrupt.c | 2 +- arch/powerpc/sysdev/ehv_pic.c | 2 +- arch/powerpc/sysdev/ipic.c | 2 +- arch/powerpc/sysdev/mpic.c | 2 +- arch/powerpc/sysdev/xics/xics-common.c | 2 +- arch/powerpc/sysdev/xive/common.c | 2 +- arch/x86/kernel/apic/vector.c | 2 +- drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-clps711x.c | 2 +- drivers/irqchip/irq-imx-gpcv2.c | 2 +- drivers/irqchip/irq-pic32-evic.c | 2 +- drivers/irqchip/irq-xilinx-intc.c | 2 +- drivers/irqchip/irq-xtensa-mx.c | 2 +- drivers/irqchip/irq-xtensa-pic.c | 4 ++-- include/linux/irqdomain.h | 2 +- kernel/irq/irqdomain.c | 8 ++++---- 31 files changed, 37 insertions(+), 37 deletions(-) diff --git a/arch/arc/kernel/intc-arcv2.c b/arch/arc/kernel/intc-arcv2.c index f324f0e3341a..fea29d9d18d6 100644 --- a/arch/arc/kernel/intc-arcv2.c +++ b/arch/arc/kernel/intc-arcv2.c @@ -178,7 +178,7 @@ init_onchip_IRQ(struct device_node *intc, struct device= _node *parent) * Needed for primary domain lookup to succeed * This is a primary irqchip, and can never have a parent */ - irq_set_default_host(root_domain); + irq_set_default_domain(root_domain); =20 #ifdef CONFIG_SMP irq_create_mapping(root_domain, IPI_IRQ); diff --git a/arch/arc/kernel/intc-compact.c b/arch/arc/kernel/intc-compact.c index 6885e422870e..1d2ff1c6a61b 100644 --- a/arch/arc/kernel/intc-compact.c +++ b/arch/arc/kernel/intc-compact.c @@ -121,7 +121,7 @@ init_onchip_IRQ(struct device_node *intc, struct device= _node *parent) * Needed for primary domain lookup to succeed * This is a primary irqchip, and can never have a parent */ - irq_set_default_host(root_domain); + irq_set_default_domain(root_domain); =20 return 0; } diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index a9ef71008147..d9cadd97748a 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c @@ -152,7 +152,7 @@ pxa_init_irq_common(struct device_node *node, int irq_n= r, &pxa_irq_ops, NULL); if (!pxa_irq_domain) panic("Unable to add PXA IRQ domain\n"); - irq_set_default_host(pxa_irq_domain); + irq_set_default_domain(pxa_irq_domain); =20 for (n =3D 0; n < irq_nr; n +=3D 32) { void __iomem *base =3D irq_base(n >> 5); diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon= /octeon-irq.c index 8425a6b38aa2..e6b4d9c0c169 100644 --- a/arch/mips/cavium-octeon/octeon-irq.c +++ b/arch/mips/cavium-octeon/octeon-irq.c @@ -1505,7 +1505,7 @@ static int __init octeon_irq_init_ciu( =20 ciu_domain =3D irq_domain_add_tree( ciu_node, &octeon_irq_domain_ciu_ops, dd); - irq_set_default_host(ciu_domain); + irq_set_default_domain(ciu_domain); =20 /* CIU_0 */ for (i =3D 0; i < 16; i++) { @@ -2076,7 +2076,7 @@ static int __init octeon_irq_init_ciu2( =20 ciu_domain =3D irq_domain_add_tree( ciu_node, &octeon_irq_domain_ciu2_ops, NULL); - irq_set_default_host(ciu_domain); + irq_set_default_domain(ciu_domain); =20 /* CUI2 */ for (i =3D 0; i < 64; i++) { @@ -2929,7 +2929,7 @@ static int __init octeon_irq_init_ciu3(struct device_= node *ciu_node, /* Only do per CPU things if it is the CIU of the boot node. */ octeon_irq_ciu3_alloc_resources(ciu3_info); if (node =3D=3D 0) - irq_set_default_host(domain); + irq_set_default_domain(domain); =20 octeon_irq_use_ip4 =3D false; /* Enable the CIU lines */ diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index 00e63e9ef61d..288d4d17eddd 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c @@ -297,7 +297,7 @@ void __init arch_init_irq(void) if (WARN_ON(domain =3D=3D NULL)) return; =20 - irq_set_default_host(domain); + irq_set_default_domain(domain); =20 irq_set_percpu_devid(IP27_HUB_PEND0_IRQ); irq_set_chained_handler_and_data(IP27_HUB_PEND0_IRQ, ip27_do_irq_mask0, diff --git a/arch/mips/sgi-ip30/ip30-irq.c b/arch/mips/sgi-ip30/ip30-irq.c index 423c32cb66ed..9fb905e2cf14 100644 --- a/arch/mips/sgi-ip30/ip30-irq.c +++ b/arch/mips/sgi-ip30/ip30-irq.c @@ -313,7 +313,7 @@ void __init arch_init_irq(void) if (!domain) return; =20 - irq_set_default_host(domain); + irq_set_default_domain(domain); =20 irq_set_percpu_devid(IP30_HEART_L0_IRQ); irq_set_chained_handler_and_data(IP30_HEART_L0_IRQ, ip30_normal_irq, diff --git a/arch/nios2/kernel/irq.c b/arch/nios2/kernel/irq.c index 6b7890e5f7af..8fa280660051 100644 --- a/arch/nios2/kernel/irq.c +++ b/arch/nios2/kernel/irq.c @@ -72,7 +72,7 @@ void __init init_IRQ(void) domain =3D irq_domain_add_linear(node, NIOS2_CPU_NR_IRQS, &irq_ops, NULL); BUG_ON(!domain); =20 - irq_set_default_host(domain); + irq_set_default_domain(domain); of_node_put(node); /* Load the initial ienable value */ ienable =3D RDCTL(CTL_IENABLE); diff --git a/arch/powerpc/platforms/44x/uic.c b/arch/powerpc/platforms/44x/= uic.c index e3e148b9dd18..f49214f4f4a9 100644 --- a/arch/powerpc/platforms/44x/uic.c +++ b/arch/powerpc/platforms/44x/uic.c @@ -291,7 +291,7 @@ void __init uic_init_tree(void) if (!primary_uic) panic("Unable to initialize primary UIC %pOF\n", np); =20 - irq_set_default_host(primary_uic->irqhost); + irq_set_default_domain(primary_uic->irqhost); of_node_put(np); =20 /* The scan again for cascaded UICs */ diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pic.c b/arch/powerpc/platf= orms/52xx/mpc52xx_pic.c index 1e0a5e9644dc..43c881d31ca6 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c @@ -453,7 +453,7 @@ void __init mpc52xx_init_irq(void) if (!mpc52xx_irqhost) panic(__FILE__ ": Cannot allocate the IRQ host\n"); =20 - irq_set_default_host(mpc52xx_irqhost); + irq_set_default_domain(mpc52xx_irqhost); =20 pr_info("MPC52xx PIC is up and running!\n"); } diff --git a/arch/powerpc/platforms/amigaone/setup.c b/arch/powerpc/platfor= ms/amigaone/setup.c index 2c8dc0886912..33f852a7625f 100644 --- a/arch/powerpc/platforms/amigaone/setup.c +++ b/arch/powerpc/platforms/amigaone/setup.c @@ -109,7 +109,7 @@ static void __init amigaone_init_IRQ(void) =20 i8259_init(pic, int_ack); ppc_md.get_irq =3D i8259_irq; - irq_set_default_host(i8259_get_host()); + irq_set_default_domain(i8259_get_host()); } =20 static int __init request_isa_regions(void) diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platfor= ms/cell/interrupt.c index 03ee8152ee97..887f3eef3e07 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c @@ -360,7 +360,7 @@ void __init iic_init_IRQ(void) iic_host =3D irq_domain_add_linear(NULL, IIC_SOURCE_COUNT, &iic_host_ops, NULL); BUG_ON(iic_host =3D=3D NULL); - irq_set_default_host(iic_host); + irq_set_default_domain(iic_host); =20 /* Discover and initialize iics */ if (setup_iic() < 0) diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/c= hrp/setup.c index 36ee3a5056a1..c1bfa4c3444c 100644 --- a/arch/powerpc/platforms/chrp/setup.c +++ b/arch/powerpc/platforms/chrp/setup.c @@ -486,7 +486,7 @@ static void __init chrp_find_8259(void) i8259_init(pic, chrp_int_ack); if (ppc_md.get_irq =3D=3D NULL) { ppc_md.get_irq =3D i8259_irq; - irq_set_default_host(i8259_get_host()); + irq_set_default_domain(i8259_get_host()); } if (chrp_mpic !=3D NULL) { cascade_irq =3D irq_of_parse_and_map(pic, 0); diff --git a/arch/powerpc/platforms/embedded6xx/flipper-pic.c b/arch/powerp= c/platforms/embedded6xx/flipper-pic.c index 4d9200bdba78..013d66304c31 100644 --- a/arch/powerpc/platforms/embedded6xx/flipper-pic.c +++ b/arch/powerpc/platforms/embedded6xx/flipper-pic.c @@ -190,7 +190,7 @@ void __init flipper_pic_probe(void) flipper_irq_host =3D flipper_pic_init(np); BUG_ON(!flipper_irq_host); =20 - irq_set_default_host(flipper_irq_host); + irq_set_default_domain(flipper_irq_host); =20 of_node_put(np); } diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms= /pasemi/setup.c index 0761d98e5be3..d03b41336901 100644 --- a/arch/powerpc/platforms/pasemi/setup.c +++ b/arch/powerpc/platforms/pasemi/setup.c @@ -228,7 +228,7 @@ static void __init nemo_init_IRQ(struct mpic *mpic) irq_set_chained_handler(gpio_virq, sb600_8259_cascade); mpic_unmask_irq(irq_get_irq_data(gpio_virq)); =20 - irq_set_default_host(mpic->irqhost); + irq_set_default_domain(mpic->irqhost); } =20 #else diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms= /powermac/pic.c index 2202bf77c7a3..03a7c51f2645 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c @@ -330,7 +330,7 @@ static void __init pmac_pic_probe_oldstyle(void) pmac_pic_host =3D irq_domain_add_linear(master, max_irqs, &pmac_pic_host_ops, NULL); BUG_ON(pmac_pic_host =3D=3D NULL); - irq_set_default_host(pmac_pic_host); + irq_set_default_domain(pmac_pic_host); =20 /* Get addresses of first controller if we have a node for it */ BUG_ON(of_address_to_resource(master, 0, &r)); diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platform= s/ps3/interrupt.c index af3fe9f04f24..95e96bd61a20 100644 --- a/arch/powerpc/platforms/ps3/interrupt.c +++ b/arch/powerpc/platforms/ps3/interrupt.c @@ -744,7 +744,7 @@ void __init ps3_init_IRQ(void) struct irq_domain *host; =20 host =3D irq_domain_add_nomap(NULL, PS3_PLUG_MAX + 1, &ps3_host_ops, NULL= ); - irq_set_default_host(host); + irq_set_default_domain(host); =20 for_each_possible_cpu(cpu) { struct ps3_private *pd =3D &per_cpu(ps3_private, cpu); diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c index 040827671d21..fb502b72fca1 100644 --- a/arch/powerpc/sysdev/ehv_pic.c +++ b/arch/powerpc/sysdev/ehv_pic.c @@ -291,5 +291,5 @@ void __init ehv_pic_init(void) ehv_pic->coreint_flag =3D of_property_read_bool(np, "has-external-proxy"); =20 global_ehv_pic =3D ehv_pic; - irq_set_default_host(global_ehv_pic->irqhost); + irq_set_default_domain(global_ehv_pic->irqhost); } diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index 5f69e2d50f26..075297e91e0b 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c @@ -757,7 +757,7 @@ struct ipic * __init ipic_init(struct device_node *node= , unsigned int flags) ipic_write(ipic->regs, IPIC_SEMSR, temp); =20 primary_ipic =3D ipic; - irq_set_default_host(primary_ipic->irqhost); + irq_set_default_domain(primary_ipic->irqhost); =20 ipic_write(ipic->regs, IPIC_SIMSR_H, 0); ipic_write(ipic->regs, IPIC_SIMSR_L, 0); diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index d94cf36b0f65..4afbab83a2e2 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@ -1520,7 +1520,7 @@ struct mpic * __init mpic_alloc(struct device_node *n= ode, =20 if (!(mpic->flags & MPIC_SECONDARY)) { mpic_primary =3D mpic; - irq_set_default_host(mpic->irqhost); + irq_set_default_domain(mpic->irqhost); } =20 return mpic; diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/x= ics/xics-common.c index d3a4156e8788..c3fa539a9898 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c @@ -472,7 +472,7 @@ static int __init xics_allocate_domain(void) return -ENOMEM; } =20 - irq_set_default_host(xics_host); + irq_set_default_domain(xics_host); return 0; } =20 diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/c= ommon.c index a6c388bdf5d0..dc2e61837396 100644 --- a/arch/powerpc/sysdev/xive/common.c +++ b/arch/powerpc/sysdev/xive/common.c @@ -1467,7 +1467,7 @@ static void __init xive_init_host(struct device_node = *np) xive_irq_domain =3D irq_domain_add_tree(np, &xive_irq_domain_ops, NULL); if (WARN_ON(xive_irq_domain =3D=3D NULL)) return; - irq_set_default_host(xive_irq_domain); + irq_set_default_domain(xive_irq_domain); } =20 static void xive_cleanup_cpu_queues(unsigned int cpu, struct xive_cpu *xc) diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c index 736f62812f5c..38e53cb18dd6 100644 --- a/arch/x86/kernel/apic/vector.c +++ b/arch/x86/kernel/apic/vector.c @@ -799,7 +799,7 @@ int __init arch_early_irq_init(void) x86_vector_domain =3D irq_domain_create_tree(fn, &x86_vector_domain_ops, NULL); BUG_ON(x86_vector_domain =3D=3D NULL); - irq_set_default_host(x86_vector_domain); + irq_set_default_domain(x86_vector_domain); =20 BUG_ON(!alloc_cpumask_var(&vector_searchmask, GFP_KERNEL)); =20 diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-arma= da-370-xp.c index d7c5ef248474..6218e5d20b50 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -880,7 +880,7 @@ static int __init mpic_of_init(struct device_node *node= , struct device_node *par } =20 if (mpic_is_ipi_available(mpic)) { - irq_set_default_host(mpic->domain); + irq_set_default_domain(mpic->domain); set_handle_irq(mpic_handle_irq); #ifdef CONFIG_SMP err =3D mpic_ipi_init(mpic, node); diff --git a/drivers/irqchip/irq-clps711x.c b/drivers/irqchip/irq-clps711x.c index 806ebb1de201..48c73c948ddf 100644 --- a/drivers/irqchip/irq-clps711x.c +++ b/drivers/irqchip/irq-clps711x.c @@ -191,7 +191,7 @@ static int __init _clps711x_intc_init(struct device_nod= e *np, goto out_irqfree; } =20 - irq_set_default_host(clps711x_intc->domain); + irq_set_default_domain(clps711x_intc->domain); set_handle_irq(clps711x_irqh); =20 #ifdef CONFIG_FIQ diff --git a/drivers/irqchip/irq-imx-gpcv2.c b/drivers/irqchip/irq-imx-gpcv= 2.c index 8a0e82067924..095ae8e3217e 100644 --- a/drivers/irqchip/irq-imx-gpcv2.c +++ b/drivers/irqchip/irq-imx-gpcv2.c @@ -247,7 +247,7 @@ static int __init imx_gpcv2_irqchip_init(struct device_= node *node, kfree(cd); return -ENOMEM; } - irq_set_default_host(domain); + irq_set_default_domain(domain); =20 /* Initially mask all interrupts */ for (i =3D 0; i < IMR_NUM; i++) { diff --git a/drivers/irqchip/irq-pic32-evic.c b/drivers/irqchip/irq-pic32-e= vic.c index eb6ca516a166..b546b1036e12 100644 --- a/drivers/irqchip/irq-pic32-evic.c +++ b/drivers/irqchip/irq-pic32-evic.c @@ -291,7 +291,7 @@ static int __init pic32_of_init(struct device_node *nod= e, gc->private =3D &priv[i]; } =20 - irq_set_default_host(evic_irq_domain); + irq_set_default_domain(evic_irq_domain); =20 /* * External interrupts have software configurable edge polarity. These diff --git a/drivers/irqchip/irq-xilinx-intc.c b/drivers/irqchip/irq-xilinx= -intc.c index 7e08714d507f..38727e9cc713 100644 --- a/drivers/irqchip/irq-xilinx-intc.c +++ b/drivers/irqchip/irq-xilinx-intc.c @@ -233,7 +233,7 @@ static int __init xilinx_intc_of_init(struct device_nod= e *intc, } } else { primary_intc =3D irqc; - irq_set_default_host(primary_intc->root_domain); + irq_set_default_domain(primary_intc->root_domain); set_handle_irq(xil_intc_handle_irq); } =20 diff --git a/drivers/irqchip/irq-xtensa-mx.c b/drivers/irqchip/irq-xtensa-m= x.c index 7f314e58f3ce..9b441d180299 100644 --- a/drivers/irqchip/irq-xtensa-mx.c +++ b/drivers/irqchip/irq-xtensa-mx.c @@ -156,7 +156,7 @@ static void __init xtensa_mx_init_common(struct irq_dom= ain *root_domain) { unsigned int i; =20 - irq_set_default_host(root_domain); + irq_set_default_domain(root_domain); secondary_init_irq(); =20 /* Initialize default IRQ routing to CPU 0 */ diff --git a/drivers/irqchip/irq-xtensa-pic.c b/drivers/irqchip/irq-xtensa-= pic.c index f9d6fce4da33..9be7b7c5cd23 100644 --- a/drivers/irqchip/irq-xtensa-pic.c +++ b/drivers/irqchip/irq-xtensa-pic.c @@ -87,7 +87,7 @@ int __init xtensa_pic_init_legacy(struct device_node *int= errupt_parent) struct irq_domain *root_domain =3D irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0, &xtensa_irq_domain_ops, &xtensa_irq_chip); - irq_set_default_host(root_domain); + irq_set_default_domain(root_domain); return 0; } =20 @@ -97,7 +97,7 @@ static int __init xtensa_pic_init(struct device_node *np, struct irq_domain *root_domain =3D irq_domain_add_linear(np, NR_IRQS, &xtensa_irq_domain_ops, &xtensa_irq_chip); - irq_set_default_host(root_domain); + irq_set_default_domain(root_domain); return 0; } IRQCHIP_DECLARE(xtensa_irq_chip, "cdns,xtensa-pic", xtensa_pic_init); diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 5c0ec335d980..d99c7946e601 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -352,7 +352,7 @@ struct irq_domain *irq_domain_create_legacy(struct fwno= de_handle *fwnode, void *host_data); struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec, enum irq_domain_bus_token bus_token); -void irq_set_default_host(struct irq_domain *host); +void irq_set_default_domain(struct irq_domain *domain); struct irq_domain *irq_get_default_host(void); int irq_domain_alloc_descs(int virq, unsigned int nr_irqs, irq_hw_number_t hwirq, int node, diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index ec6d8e72d980..6ca720cb6ece 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -398,7 +398,7 @@ void irq_domain_remove(struct irq_domain *domain) * If the going away domain is the default one, reset it. */ if (unlikely(irq_default_domain =3D=3D domain)) - irq_set_default_host(NULL); + irq_set_default_domain(NULL); =20 mutex_unlock(&irq_domain_mutex); =20 @@ -573,7 +573,7 @@ struct irq_domain *irq_find_matching_fwspec(struct irq_= fwspec *fwspec, EXPORT_SYMBOL_GPL(irq_find_matching_fwspec); =20 /** - * irq_set_default_host() - Set a "default" irq domain + * irq_set_default_domain() - Set a "default" irq domain * @domain: default domain pointer * * For convenience, it's possible to set a "default" domain that will be u= sed @@ -581,13 +581,13 @@ EXPORT_SYMBOL_GPL(irq_find_matching_fwspec); * platforms that want to manipulate a few hard coded interrupt numbers th= at * aren't properly represented in the device-tree. */ -void irq_set_default_host(struct irq_domain *domain) +void irq_set_default_domain(struct irq_domain *domain) { pr_debug("Default domain set to @0x%p\n", domain); =20 irq_default_domain =3D domain; } -EXPORT_SYMBOL_GPL(irq_set_default_host); +EXPORT_SYMBOL_GPL(irq_set_default_domain); =20 /** * irq_get_default_host() - Retrieve the "default" irq domain --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 ADD821EEA41 for ; Wed, 15 Jan 2025 08:54:18 +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=1736931258; cv=none; b=SOi1gdzEROW27Tw1I9JFlxx6n7BroUorH6LoIWNqB94Xjs3lzat5ms4amwyumEo1UpmGv0RnV1+V76LhC/nmJQhrqbAgrqwxBfOK/QrvgPFeDcTvK+xRUUHncDkda2zr1uDQ7h3oySpIEXXfpJbabPmPi+fIhWk/LeMtluPq344= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931258; c=relaxed/simple; bh=RhgNh+i3OQWvng5Gm4719cXt015/SJWdpbz37Gjm+jg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XPJ9zdxVUVgmwDmxArCN7oL5rhUS4rhNGa43a694YWgtq9zJwRvyqflOE8BwbnUiIFcaRHkIwlzAk9xoxAimMEGJb2fgTDRck/JAYbqcgZuuA2YgaqkskM/FtvQ8IzgQ6H9bpFL5FzjHs9jmZEkDBRzD3l7jBKsvCLszMt+cn14= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WRI7RaZc; 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="WRI7RaZc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 22ECAC4CEE3; Wed, 15 Jan 2025 08:54:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931258; bh=RhgNh+i3OQWvng5Gm4719cXt015/SJWdpbz37Gjm+jg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WRI7RaZcPJlwXCkyW3gxta93w71ODZ7uA0Q6gxlLMo5NbW6aHO4FxId5+o0sfAs/P 2AlzL5n+PLT45AgauqHcuDmIX+2qw+sJkJPjAZyVqYOe+fz+4KHP9g/3L37+/XGh9i OWDWYEJ5MXcWMboBLLDEeCKrX3U2e9oY6vvwLMxBMlEqn92BW+AU2LOHLK5w9ugZDM wPAWZHN7gwmmFxfAN1f1O/hcue/7c0dvFWDENM43GfDEv8vEizj4DAuaC2ip0uZbW3 mvEZ7imKTSZxTS9PzACE8Q/uCQudMW9QxgJRPVbINhPHzEuoRiYjMHLvFuohvItr5f DZppKkgzDmHkg== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 03/18] irqdomain: Rename irq_get_default_host() to irq_get_default_domain() Date: Wed, 15 Jan 2025 09:53:52 +0100 Message-ID: <20250115085409.1629787-4-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" Call the irq_domain consistently a domain, not host. Here, rename irq_get_default_host() to irq_get_default_domain(). Signed-off-by: Jiri Slaby (SUSE) --- arch/mips/pci/pci-xtalk-bridge.c | 2 +- arch/powerpc/kvm/book3s_hv.c | 2 +- arch/powerpc/kvm/book3s_xive.c | 2 +- arch/powerpc/platforms/powernv/pci-ioda.c | 2 +- arch/powerpc/platforms/pseries/msi.c | 2 +- drivers/irqchip/irq-armada-370-xp.c | 4 ++-- include/linux/irqdomain.h | 2 +- kernel/irq/irqdomain.c | 6 +++--- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/mips/pci/pci-xtalk-bridge.c b/arch/mips/pci/pci-xtalk-bri= dge.c index dae856fb3e5b..e00c38620d14 100644 --- a/arch/mips/pci/pci-xtalk-bridge.c +++ b/arch/mips/pci/pci-xtalk-bridge.c @@ -620,7 +620,7 @@ static int bridge_probe(struct platform_device *pdev) if (bridge_get_partnum(virt_to_phys((void *)bd->bridge_addr), partnum)) return -EPROBE_DEFER; /* not available yet */ =20 - parent =3D irq_get_default_host(); + parent =3D irq_get_default_domain(); if (!parent) return -ENODEV; fn =3D irq_domain_alloc_named_fwnode("BRIDGE"); diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 86bff159c51e..19f4d298dd17 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -6041,7 +6041,7 @@ static int kvmppc_set_passthru_irq(struct kvm *kvm, i= nt host_irq, int guest_gsi) * the underlying calls, which will EOI the interrupt in real * mode, need an HW IRQ number mapped in the XICS IRQ domain. */ - host_data =3D irq_domain_get_irq_data(irq_get_default_host(), host_irq); + host_data =3D irq_domain_get_irq_data(irq_get_default_domain(), host_irq); irq_map->r_hwirq =3D (unsigned int)irqd_to_hwirq(host_data); =20 if (i =3D=3D pimap->n_mapped) diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c index 1362c672387e..1302b5ac5672 100644 --- a/arch/powerpc/kvm/book3s_xive.c +++ b/arch/powerpc/kvm/book3s_xive.c @@ -1555,7 +1555,7 @@ int kvmppc_xive_set_mapped(struct kvm *kvm, unsigned = long guest_irq, struct kvmppc_xive_src_block *sb; struct kvmppc_xive_irq_state *state; struct irq_data *host_data =3D - irq_domain_get_irq_data(irq_get_default_host(), host_irq); + irq_domain_get_irq_data(irq_get_default_domain(), host_irq); unsigned int hw_irq =3D (unsigned int)irqd_to_hwirq(host_data); u16 idx; u8 prio; diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platf= orms/powernv/pci-ioda.c index b0a14e48175c..34324422905b 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c @@ -1924,7 +1924,7 @@ static const struct irq_domain_ops pnv_irq_domain_ops= =3D { static int __init pnv_msi_allocate_domains(struct pci_controller *hose, un= signed int count) { struct pnv_phb *phb =3D hose->private_data; - struct irq_domain *parent =3D irq_get_default_host(); + struct irq_domain *parent =3D irq_get_default_domain(); =20 hose->fwnode =3D irq_domain_alloc_named_id_fwnode("PNV-MSI", phb->opal_id= ); if (!hose->fwnode) diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/= pseries/msi.c index fdc2f7f38dc9..f9d80111c322 100644 --- a/arch/powerpc/platforms/pseries/msi.c +++ b/arch/powerpc/platforms/pseries/msi.c @@ -611,7 +611,7 @@ static const struct irq_domain_ops pseries_irq_domain_o= ps =3D { static int __pseries_msi_allocate_domains(struct pci_controller *phb, unsigned int count) { - struct irq_domain *parent =3D irq_get_default_host(); + struct irq_domain *parent =3D irq_get_default_domain(); =20 phb->fwnode =3D irq_domain_alloc_named_id_fwnode("pSeries-MSI", phb->global_number); diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-arma= da-370-xp.c index 6218e5d20b50..2aa6a51e05d0 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -564,7 +564,7 @@ static void mpic_reenable_percpu(struct mpic *mpic) =20 static int mpic_starting_cpu(unsigned int cpu) { - struct mpic *mpic =3D irq_get_default_host()->host_data; + struct mpic *mpic =3D irq_get_default_domain()->host_data; =20 mpic_perf_init(mpic); mpic_smp_cpu_init(mpic); @@ -700,7 +700,7 @@ static void mpic_handle_cascade_irq(struct irq_desc *de= sc) =20 static void __exception_irq_entry mpic_handle_irq(struct pt_regs *regs) { - struct mpic *mpic =3D irq_get_default_host()->host_data; + struct mpic *mpic =3D irq_get_default_domain()->host_data; irq_hw_number_t i; u32 irqstat; =20 diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index d99c7946e601..e9d6fae36459 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -353,7 +353,7 @@ struct irq_domain *irq_domain_create_legacy(struct fwno= de_handle *fwnode, struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec, enum irq_domain_bus_token bus_token); void irq_set_default_domain(struct irq_domain *domain); -struct irq_domain *irq_get_default_host(void); +struct irq_domain *irq_get_default_domain(void); int irq_domain_alloc_descs(int virq, unsigned int nr_irqs, irq_hw_number_t hwirq, int node, const struct irq_affinity_desc *affinity); diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 6ca720cb6ece..099205b0cb72 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -590,7 +590,7 @@ void irq_set_default_domain(struct irq_domain *domain) EXPORT_SYMBOL_GPL(irq_set_default_domain); =20 /** - * irq_get_default_host() - Retrieve the "default" irq domain + * irq_get_default_domain() - Retrieve the "default" irq domain * * Returns: the default domain, if any. * @@ -598,11 +598,11 @@ EXPORT_SYMBOL_GPL(irq_set_default_domain); * systems that cannot implement a firmware->fwnode mapping (which * both DT and ACPI provide). */ -struct irq_domain *irq_get_default_host(void) +struct irq_domain *irq_get_default_domain(void) { return irq_default_domain; } -EXPORT_SYMBOL_GPL(irq_get_default_host); +EXPORT_SYMBOL_GPL(irq_get_default_domain); =20 static bool irq_domain_is_nomap(struct irq_domain *domain) { --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 4BAFF1EEA5E for ; Wed, 15 Jan 2025 08:54:19 +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=1736931260; cv=none; b=miue/KIJCr8Yb3oyEACP/I9+V4mbD+18H1hZTgYzniBTg59GC1TI7ThfVzyPS55ByXDWfHQ+kPGi6dFF011HUvVwMPWrmz+BISb2Qfx3IsOjeSd25WTvaQy1mMSMwALY4g+2GFd6MU1ORurbz2Xm4ghAulflTwjhMN2cxMSBC/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931260; c=relaxed/simple; bh=dRrXqvb7qAZGJVnnmxZsvQ6Q9WO00unPZsLAUXbJXAU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A0TI+mvthz0kyKnwYzqtJyreEarPqzH8XvKOek1BMXFWc4llYkBsQ748ptc+j6jtuWvSd9WKmxB/Mk4he65xFIHm4rRMbPSXuK1qA5r5/T3pTOQ4R3TLMIG5COX4BiBt5CsArgrQCe5tnMAGLu6IHbBZElCzQ/6XbRTqgSo/35M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ehuXfBqQ; 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="ehuXfBqQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7A4BC4CEE2; Wed, 15 Jan 2025 08:54:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931259; bh=dRrXqvb7qAZGJVnnmxZsvQ6Q9WO00unPZsLAUXbJXAU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ehuXfBqQ0AATPKaJyN5rnA6S8khkEJeyqgb9dtRJE2ks1tNbB8Sf/Fc06fIygXfSK 4vPWv616Jqc3XR2oN6d6zRKVjdVKW/VSic+SLGBE0UfinonPxEwVa1wfWc0pxhdVES 2NhZM158KNGOYSlu3oD5eNGcBdEJV9DVtw/mMfxZ0PpZ2cqQ0eiUBlqYlGqj1j/FQm m/5cwRWLfkDCqVOYS1L/Orci2tmqNVDelAU+pboRB6gYt5nW6fjowwvPfKzID5gqCM 7iEufXItTn3RUBW+1tXqz0oQJp2UkesSJdb1VGrHASbQEoq+IoH3aUxdeMwkpBhr1x cFzyHGmAfjfxQ== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 04/18] irqdomain.h: Stop using 'host' for domain Date: Wed, 15 Jan 2025 09:53:53 +0100 Message-ID: <20250115085409.1629787-5-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" It is confusing to see 'host' and 'domain' to be used as 'domain'. Given this header is all about domains, switch the remaining 'host' uses to 'domain'. Signed-off-by: Jiri Slaby (SUSE) --- include/linux/irqdomain.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index e9d6fae36459..52c04ac932a8 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -72,7 +72,7 @@ void of_phandle_args_to_fwspec(struct device_node *np, co= nst u32 *args, =20 /** * struct irq_domain_ops - Methods for irq_domain objects - * @match: Match an interrupt controller device node to a host, returns + * @match: Match an interrupt controller device node to a domain, returns * 1 on a match * @select: Match an interrupt controller fw specification. It is more gen= eric * than @match as it receives a complete struct irq_fwspec. Therefore, @@ -454,7 +454,7 @@ static inline struct irq_domain *irq_domain_add_nomap(s= truct device_node *of_nod return IS_ERR(d) ? NULL : d; } =20 -unsigned int irq_create_direct_mapping(struct irq_domain *host); +unsigned int irq_create_direct_mapping(struct irq_domain *domain); #endif =20 static inline struct irq_domain *irq_domain_add_tree(struct device_node *o= f_node, @@ -507,7 +507,7 @@ static inline struct irq_domain *irq_domain_create_tree= (struct fwnode_handle *fw return IS_ERR(d) ? NULL : d; } =20 -void irq_domain_remove(struct irq_domain *host); +void irq_domain_remove(struct irq_domain *domain); =20 int irq_domain_associate(struct irq_domain *domain, unsigned int irq, irq_hw_number_t hwirq); @@ -515,16 +515,16 @@ void irq_domain_associate_many(struct irq_domain *dom= ain, unsigned int irq_base, irq_hw_number_t hwirq_base, int count); =20 -unsigned int irq_create_mapping_affinity(struct irq_domain *host, +unsigned int irq_create_mapping_affinity(struct irq_domain *domain, irq_hw_number_t hwirq, const struct irq_affinity_desc *affinity); unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec); void irq_dispose_mapping(unsigned int virq); =20 -static inline unsigned int irq_create_mapping(struct irq_domain *host, +static inline unsigned int irq_create_mapping(struct irq_domain *domain, irq_hw_number_t hwirq) { - return irq_create_mapping_affinity(host, hwirq, NULL); + return irq_create_mapping_affinity(domain, hwirq, NULL); } =20 struct irq_desc *__irq_resolve_mapping(struct irq_domain *domain, --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 EB25722E407 for ; Wed, 15 Jan 2025 08:54:21 +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=1736931262; cv=none; b=RjvjZSUKPfC43kepSZBbz0PRPtWrPWZMQNoAlxgaHU5Dlqmi5qLWJKQH3nJ5ts9uAIDX4ayqnSIdR9mVvYlVWbebUlEQpTd/ZC9olFrKPydBHjFyAmjTGGc2VlPg/6iXjJvmAFwiGk71Dfta7b6wPUw2d2gssScbvNai+HazWf0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931262; c=relaxed/simple; bh=vyKkoE4pcmas8wwYLEgNheZ13cVjc5ds/Jn1figgfJ8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=r8P0Gt3xzC+A2zjrP+coz2Q406rGYdGYXIiIAxiGFokA4Y1iO97IMq6osQYB83Cw8ntUepHlG5+VzDS5o4sNrAB7nVpa01lAMnwoAgri97Y2SO9ifVbgaQ9QVWBzioO1ALmy37mA66ufYPKSUI3Dc1NZQ/bzvK/8xVmsj/4kZOA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DFKuR2Og; 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="DFKuR2Og" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 399AFC4CEF1; Wed, 15 Jan 2025 08:54:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931261; bh=vyKkoE4pcmas8wwYLEgNheZ13cVjc5ds/Jn1figgfJ8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DFKuR2OgzIGLydthZpQFW0PRDlpWx9UDcKkFVly+BycfGK2n3kiuAj60vL93KjbNH Y/n9afmdZl6u9DS8XLAG8nrnuoI6sGKcMPHZ12+2ZB9OQSUeSvOEvFuc0g+gVWyFSk HkJ3d/rZzLkD6imPeMO6VfcjTapOntnNYbdN1Kg1yu3YV4mqqDUl2FFr66iNjDaB6q XmSfVvDutvGJL+iQ/ByW5pr4jO2BUJ6iXfTUJe8ul2J7r/QOUnK0hQbn1nbH9JSnsG nEOgGyrvJDR0EIq8i3sHe8jdYm7ovI/K+ftOIFXCoGs6ucDUyiM/t2CkZrMgP6x1Xg 1fDjNSw0pgiLA== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 05/18] irqdomain: Drop of_node_to_fwnode() Date: Wed, 15 Jan 2025 09:53:54 +0100 Message-ID: <20250115085409.1629787-6-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" This is the same as "officially" defined of_fwnode_handle() in (already included) of.h. So use the latter instead of the former and drop the former. Signed-off-by: Jiri Slaby (SUSE) --- arch/powerpc/platforms/powernv/pci-ioda.c | 2 +- arch/powerpc/platforms/pseries/msi.c | 2 +- arch/x86/kernel/apic/io_apic.c | 2 +- drivers/cdx/cdx_msi.c | 4 ++-- drivers/irqchip/irq-alpine-msi.c | 2 +- drivers/irqchip/irq-apple-aic.c | 4 ++-- drivers/irqchip/irq-armada-370-xp.c | 4 ++-- drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c | 2 +- drivers/irqchip/irq-gic-v3.c | 4 ++-- drivers/irqchip/irq-ixp4xx.c | 2 +- drivers/irqchip/irq-lan966x-oic.c | 2 +- drivers/irqchip/irq-loongarch-cpu.c | 2 +- drivers/irqchip/irq-loongson-eiointc.c | 2 +- drivers/irqchip/irq-loongson-htvec.c | 2 +- drivers/irqchip/irq-loongson-liointc.c | 2 +- drivers/irqchip/irq-loongson-pch-msi.c | 2 +- drivers/irqchip/irq-loongson-pch-pic.c | 2 +- drivers/irqchip/irq-ls-scfg-msi.c | 2 +- drivers/irqchip/irq-meson-gpio.c | 2 +- drivers/irqchip/irq-mvebu-gicp.c | 2 +- drivers/irqchip/irq-mvebu-odmi.c | 2 +- drivers/irqchip/irq-mvebu-sei.c | 6 +++--- drivers/irqchip/irq-qcom-mpm.c | 2 +- drivers/irqchip/irq-riscv-intc.c | 2 +- drivers/irqchip/irq-sni-exiu.c | 2 +- drivers/irqchip/irq-stm32mp-exti.c | 2 +- drivers/irqchip/irq-ti-sci-inta.c | 4 ++-- drivers/irqchip/irq-ti-sci-intr.c | 2 +- drivers/irqchip/irq-uniphier-aidet.c | 2 +- .../pci/controller/dwc/pcie-designware-host.c | 2 +- .../controller/mobiveil/pcie-mobiveil-host.c | 2 +- drivers/pci/controller/pci-xgene-msi.c | 2 +- drivers/pci/controller/pcie-altera-msi.c | 2 +- drivers/pci/controller/pcie-brcmstb.c | 2 +- drivers/pci/controller/pcie-iproc-msi.c | 2 +- drivers/pci/controller/pcie-mediatek.c | 2 +- drivers/pci/controller/pcie-xilinx-dma-pl.c | 2 +- drivers/pci/controller/pcie-xilinx-nwl.c | 2 +- drivers/pci/controller/plda/pcie-plda-host.c | 2 +- drivers/remoteproc/pru_rproc.c | 2 +- include/linux/irqdomain.h | 17 ++++++----------- kernel/irq/irqdomain.c | 4 ++-- 42 files changed, 55 insertions(+), 60 deletions(-) diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platf= orms/powernv/pci-ioda.c index 34324422905b..25fba487e7b6 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c @@ -1940,7 +1940,7 @@ static int __init pnv_msi_allocate_domains(struct pci= _controller *hose, unsigned return -ENOMEM; } =20 - hose->msi_domain =3D pci_msi_create_irq_domain(of_node_to_fwnode(hose->dn= ), + hose->msi_domain =3D pci_msi_create_irq_domain(of_fwnode_handle(hose->dn), &pnv_msi_domain_info, hose->dev_domain); if (!hose->msi_domain) { diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/= pseries/msi.c index f9d80111c322..5b191f70c088 100644 --- a/arch/powerpc/platforms/pseries/msi.c +++ b/arch/powerpc/platforms/pseries/msi.c @@ -628,7 +628,7 @@ static int __pseries_msi_allocate_domains(struct pci_co= ntroller *phb, return -ENOMEM; } =20 - phb->msi_domain =3D pci_msi_create_irq_domain(of_node_to_fwnode(phb->dn), + phb->msi_domain =3D pci_msi_create_irq_domain(of_fwnode_handle(phb->dn), &pseries_msi_domain_info, phb->dev_domain); if (!phb->msi_domain) { diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 5e32e5b99b9a..be89493e0e5c 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -2225,7 +2225,7 @@ static int mp_irqdomain_create(int ioapic) =20 /* Handle device tree enumerated APICs proper */ if (cfg->dev) { - fn =3D of_node_to_fwnode(cfg->dev); + fn =3D of_fwnode_handle(cfg->dev); } else { fn =3D irq_domain_alloc_named_id_fwnode("IO-APIC", mpc_ioapic_id(ioapic)= ); if (!fn) diff --git a/drivers/cdx/cdx_msi.c b/drivers/cdx/cdx_msi.c index 06d723978232..3388a5d1462c 100644 --- a/drivers/cdx/cdx_msi.c +++ b/drivers/cdx/cdx_msi.c @@ -165,7 +165,7 @@ struct irq_domain *cdx_msi_domain_init(struct device *d= ev) struct device_node *parent_node; struct irq_domain *parent; =20 - fwnode_handle =3D of_node_to_fwnode(np); + fwnode_handle =3D of_fwnode_handle(np); =20 parent_node =3D of_parse_phandle(np, "msi-map", 1); if (!parent_node) { @@ -173,7 +173,7 @@ struct irq_domain *cdx_msi_domain_init(struct device *d= ev) return NULL; } =20 - parent =3D irq_find_matching_fwnode(of_node_to_fwnode(parent_node), DOMAI= N_BUS_NEXUS); + parent =3D irq_find_matching_fwnode(of_fwnode_handle(parent_node), DOMAIN= _BUS_NEXUS); if (!parent || !msi_get_domain_info(parent)) { dev_err(dev, "unable to locate ITS domain\n"); return NULL; diff --git a/drivers/irqchip/irq-alpine-msi.c b/drivers/irqchip/irq-alpine-= msi.c index a1430ab60a8a..0207d35135da 100644 --- a/drivers/irqchip/irq-alpine-msi.c +++ b/drivers/irqchip/irq-alpine-msi.c @@ -213,7 +213,7 @@ static int alpine_msix_init_domains(struct alpine_msix_= data *priv, return -ENOMEM; } =20 - msi_domain =3D pci_msi_create_irq_domain(of_node_to_fwnode(node), + msi_domain =3D pci_msi_create_irq_domain(of_fwnode_handle(node), &alpine_msix_domain_info, middle_domain); if (!msi_domain) { diff --git a/drivers/irqchip/irq-apple-aic.c b/drivers/irqchip/irq-apple-ai= c.c index da5250f0155c..fb67815dcb3d 100644 --- a/drivers/irqchip/irq-apple-aic.c +++ b/drivers/irqchip/irq-apple-aic.c @@ -1013,7 +1013,7 @@ static int __init aic_of_ic_init(struct device_node *= node, struct device_node *p =20 irqc->info.die_stride =3D off - start_off; =20 - irqc->hw_domain =3D irq_domain_create_tree(of_node_to_fwnode(node), + irqc->hw_domain =3D irq_domain_create_tree(of_fwnode_handle(node), &aic_irq_domain_ops, irqc); if (WARN_ON(!irqc->hw_domain)) goto err_unmap; @@ -1066,7 +1066,7 @@ static int __init aic_of_ic_init(struct device_node *= node, struct device_node *p =20 if (is_kernel_in_hyp_mode()) { struct irq_fwspec mi =3D { - .fwnode =3D of_node_to_fwnode(node), + .fwnode =3D of_fwnode_handle(node), .param_count =3D 3, .param =3D { [0] =3D AIC_FIQ, /* This is a lie */ diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-arma= da-370-xp.c index 2aa6a51e05d0..de98d16c1718 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -353,7 +353,7 @@ static int __init mpic_msi_init(struct mpic *mpic, stru= ct device_node *node, if (!mpic->msi_inner_domain) return -ENOMEM; =20 - mpic->msi_domain =3D pci_msi_create_irq_domain(of_node_to_fwnode(node), &= mpic_msi_domain_info, + mpic->msi_domain =3D pci_msi_create_irq_domain(of_fwnode_handle(node), &m= pic_msi_domain_info, mpic->msi_inner_domain); if (!mpic->msi_domain) { irq_domain_remove(mpic->msi_inner_domain); @@ -492,7 +492,7 @@ static int __init mpic_ipi_init(struct mpic *mpic, stru= ct device_node *node) { int base_ipi; =20 - mpic->ipi_domain =3D irq_domain_create_linear(of_node_to_fwnode(node), IP= I_DOORBELL_NR, + mpic->ipi_domain =3D irq_domain_create_linear(of_fwnode_handle(node), IPI= _DOORBELL_NR, &mpic_ipi_domain_ops, mpic); if (WARN_ON(!mpic->ipi_domain)) return -ENOMEM; diff --git a/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c b/drivers/irqchip/= irq-gic-v3-its-fsl-mc-msi.c index 8e87fc35f8aa..11549d85f23b 100644 --- a/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c +++ b/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c @@ -152,7 +152,7 @@ static void __init its_fsl_mc_of_msi_init(void) if (!of_property_read_bool(np, "msi-controller")) continue; =20 - its_fsl_mc_msi_init_one(of_node_to_fwnode(np), + its_fsl_mc_msi_init_one(of_fwnode_handle(np), np->full_name); } } diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index 79d8cc80693c..7e444f509aff 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -1817,7 +1817,7 @@ static int partition_domain_translate(struct irq_doma= in *d, =20 ppi_idx =3D __gic_get_ppi_index(ppi_intid); ret =3D partition_translate_id(gic_data.ppi_descs[ppi_idx], - of_node_to_fwnode(np)); + of_fwnode_handle(np)); if (ret < 0) return ret; =20 @@ -2165,7 +2165,7 @@ static void __init gic_populate_ppi_partitions(struct= device_node *gic_node) =20 part =3D &parts[part_idx]; =20 - part->partition_id =3D of_node_to_fwnode(child_part); + part->partition_id =3D of_fwnode_handle(child_part); =20 pr_info("GIC: PPI partition %pOFn[%d] { ", child_part, part_idx); diff --git a/drivers/irqchip/irq-ixp4xx.c b/drivers/irqchip/irq-ixp4xx.c index f23b02f62a5c..a9a5a52b818a 100644 --- a/drivers/irqchip/irq-ixp4xx.c +++ b/drivers/irqchip/irq-ixp4xx.c @@ -261,7 +261,7 @@ static int __init ixp4xx_of_init_irq(struct device_node= *np, pr_crit("IXP4XX: could not ioremap interrupt controller\n"); return -ENODEV; } - fwnode =3D of_node_to_fwnode(np); + fwnode =3D of_fwnode_handle(np); =20 /* These chip variants have 64 interrupts */ is_356 =3D of_device_is_compatible(np, "intel,ixp43x-interrupt") || diff --git a/drivers/irqchip/irq-lan966x-oic.c b/drivers/irqchip/irq-lan966= x-oic.c index 41ac880e3b87..9445c3a6b1b0 100644 --- a/drivers/irqchip/irq-lan966x-oic.c +++ b/drivers/irqchip/irq-lan966x-oic.c @@ -224,7 +224,7 @@ static int lan966x_oic_probe(struct platform_device *pd= ev) .exit =3D lan966x_oic_chip_exit, }; struct irq_domain_info d_info =3D { - .fwnode =3D of_node_to_fwnode(pdev->dev.of_node), + .fwnode =3D of_fwnode_handle(pdev->dev.of_node), .domain_flags =3D IRQ_DOMAIN_FLAG_DESTROY_GC, .size =3D LAN966X_OIC_NR_IRQ, .hwirq_max =3D LAN966X_OIC_NR_IRQ, diff --git a/drivers/irqchip/irq-loongarch-cpu.c b/drivers/irqchip/irq-loon= garch-cpu.c index e62dab4c97fc..950bc087e388 100644 --- a/drivers/irqchip/irq-loongarch-cpu.c +++ b/drivers/irqchip/irq-loongarch-cpu.c @@ -100,7 +100,7 @@ static const struct irq_domain_ops loongarch_cpu_intc_i= rq_domain_ops =3D { static int __init cpuintc_of_init(struct device_node *of_node, struct device_node *parent) { - cpuintc_handle =3D of_node_to_fwnode(of_node); + cpuintc_handle =3D of_fwnode_handle(of_node); =20 irq_domain =3D irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, &loongarch_cpu_intc_irq_domain_ops, NULL); diff --git a/drivers/irqchip/irq-loongson-eiointc.c b/drivers/irqchip/irq-l= oongson-eiointc.c index bb79e19dfb59..b2860eb2d32c 100644 --- a/drivers/irqchip/irq-loongson-eiointc.c +++ b/drivers/irqchip/irq-loongson-eiointc.c @@ -554,7 +554,7 @@ static int __init eiointc_of_init(struct device_node *o= f_node, priv->vec_count =3D VEC_COUNT; =20 priv->node =3D 0; - priv->domain_handle =3D of_node_to_fwnode(of_node); + priv->domain_handle =3D of_fwnode_handle(of_node); =20 ret =3D eiointc_init(priv, parent_irq, 0); if (ret < 0) diff --git a/drivers/irqchip/irq-loongson-htvec.c b/drivers/irqchip/irq-loo= ngson-htvec.c index 5da02c7ad0b3..d8558eb35044 100644 --- a/drivers/irqchip/irq-loongson-htvec.c +++ b/drivers/irqchip/irq-loongson-htvec.c @@ -248,7 +248,7 @@ static int htvec_of_init(struct device_node *node, } =20 err =3D htvec_init(res.start, resource_size(&res), - num_parents, parent_irq, of_node_to_fwnode(node)); + num_parents, parent_irq, of_fwnode_handle(node)); if (err < 0) return err; =20 diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-l= oongson-liointc.c index 2b1bd4a96665..95cade56e0be 100644 --- a/drivers/irqchip/irq-loongson-liointc.c +++ b/drivers/irqchip/irq-loongson-liointc.c @@ -363,7 +363,7 @@ static int __init liointc_of_init(struct device_node *n= ode, } =20 err =3D liointc_init(res.start, resource_size(&res), - revision, of_node_to_fwnode(node), node); + revision, of_fwnode_handle(node), node); if (err < 0) return err; =20 diff --git a/drivers/irqchip/irq-loongson-pch-msi.c b/drivers/irqchip/irq-l= oongson-pch-msi.c index bd337ecddb40..6205d34c6d49 100644 --- a/drivers/irqchip/irq-loongson-pch-msi.c +++ b/drivers/irqchip/irq-loongson-pch-msi.c @@ -242,7 +242,7 @@ static int pch_msi_of_init(struct device_node *node, st= ruct device_node *parent) return -EINVAL; } =20 - err =3D pch_msi_init(res.start, irq_base, irq_count, parent_domain, of_no= de_to_fwnode(node)); + err =3D pch_msi_init(res.start, irq_base, irq_count, parent_domain, of_fw= node_handle(node)); if (err < 0) return err; =20 diff --git a/drivers/irqchip/irq-loongson-pch-pic.c b/drivers/irqchip/irq-l= oongson-pch-pic.c index 69efda35a8e7..62e6bf3a0611 100644 --- a/drivers/irqchip/irq-loongson-pch-pic.c +++ b/drivers/irqchip/irq-loongson-pch-pic.c @@ -392,7 +392,7 @@ static int pch_pic_of_init(struct device_node *node, } =20 err =3D pch_pic_init(res.start, resource_size(&res), vec_base, - parent_domain, of_node_to_fwnode(node), 0); + parent_domain, of_fwnode_handle(node), 0); if (err < 0) return err; =20 diff --git a/drivers/irqchip/irq-ls-scfg-msi.c b/drivers/irqchip/irq-ls-scf= g-msi.c index c0e1aafe468c..12fc48555634 100644 --- a/drivers/irqchip/irq-ls-scfg-msi.c +++ b/drivers/irqchip/irq-ls-scfg-msi.c @@ -226,7 +226,7 @@ static int ls_scfg_msi_domains_init(struct ls_scfg_msi = *msi_data) } =20 msi_data->msi_domain =3D pci_msi_create_irq_domain( - of_node_to_fwnode(msi_data->pdev->dev.of_node), + of_fwnode_handle(msi_data->pdev->dev.of_node), &ls_scfg_msi_domain_info, msi_data->parent); if (!msi_data->msi_domain) { diff --git a/drivers/irqchip/irq-meson-gpio.c b/drivers/irqchip/irq-meson-g= pio.c index cd789fa51519..8620c7fb051e 100644 --- a/drivers/irqchip/irq-meson-gpio.c +++ b/drivers/irqchip/irq-meson-gpio.c @@ -581,7 +581,7 @@ static int meson_gpio_irq_of_init(struct device_node *n= ode, struct device_node * =20 domain =3D irq_domain_create_hierarchy(parent_domain, 0, ctl->params->nr_hwirq, - of_node_to_fwnode(node), + of_fwnode_handle(node), &meson_gpio_irq_domain_ops, ctl); if (!domain) { diff --git a/drivers/irqchip/irq-mvebu-gicp.c b/drivers/irqchip/irq-mvebu-g= icp.c index 2b6183919ea4..fa0082f4dd1d 100644 --- a/drivers/irqchip/irq-mvebu-gicp.c +++ b/drivers/irqchip/irq-mvebu-gicp.c @@ -231,7 +231,7 @@ static int mvebu_gicp_probe(struct platform_device *pde= v) =20 inner_domain =3D irq_domain_create_hierarchy(parent_domain, 0, gicp->spi_cnt, - of_node_to_fwnode(node), + of_fwnode_handle(node), &gicp_domain_ops, gicp); if (!inner_domain) return -ENOMEM; diff --git a/drivers/irqchip/irq-mvebu-odmi.c b/drivers/irqchip/irq-mvebu-o= dmi.c index ff19bfd258dc..8d01e641be9c 100644 --- a/drivers/irqchip/irq-mvebu-odmi.c +++ b/drivers/irqchip/irq-mvebu-odmi.c @@ -206,7 +206,7 @@ static int __init mvebu_odmi_init(struct device_node *n= ode, =20 inner_domain =3D irq_domain_create_hierarchy(parent_domain, 0, odmis_count * NODMIS_PER_FRAME, - of_node_to_fwnode(node), + of_fwnode_handle(node), &odmi_domain_ops, NULL); if (!inner_domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-mvebu-sei.c b/drivers/irqchip/irq-mvebu-se= i.c index 065166ab5dbc..495fad4628ca 100644 --- a/drivers/irqchip/irq-mvebu-sei.c +++ b/drivers/irqchip/irq-mvebu-sei.c @@ -401,7 +401,7 @@ static int mvebu_sei_probe(struct platform_device *pdev) } =20 /* Create the root SEI domain */ - sei->sei_domain =3D irq_domain_create_linear(of_node_to_fwnode(node), + sei->sei_domain =3D irq_domain_create_linear(of_fwnode_handle(node), (sei->caps->ap_range.size + sei->caps->cp_range.size), &mvebu_sei_domain_ops, @@ -417,7 +417,7 @@ static int mvebu_sei_probe(struct platform_device *pdev) /* Create the 'wired' domain */ sei->ap_domain =3D irq_domain_create_hierarchy(sei->sei_domain, 0, sei->caps->ap_range.size, - of_node_to_fwnode(node), + of_fwnode_handle(node), &mvebu_sei_ap_domain_ops, sei); if (!sei->ap_domain) { @@ -431,7 +431,7 @@ static int mvebu_sei_probe(struct platform_device *pdev) /* Create the 'MSI' domain */ sei->cp_domain =3D irq_domain_create_hierarchy(sei->sei_domain, 0, sei->caps->cp_range.size, - of_node_to_fwnode(node), + of_fwnode_handle(node), &mvebu_sei_cp_domain_ops, sei); if (!sei->cp_domain) { diff --git a/drivers/irqchip/irq-qcom-mpm.c b/drivers/irqchip/irq-qcom-mpm.c index 7942d8eb3d00..00c770e367d0 100644 --- a/drivers/irqchip/irq-qcom-mpm.c +++ b/drivers/irqchip/irq-qcom-mpm.c @@ -447,7 +447,7 @@ static int qcom_mpm_init(struct device_node *np, struct= device_node *parent) =20 priv->domain =3D irq_domain_create_hierarchy(parent_domain, IRQ_DOMAIN_FLAG_QCOM_MPM_WAKEUP, pin_cnt, - of_node_to_fwnode(np), &qcom_mpm_ops, priv); + of_fwnode_handle(np), &qcom_mpm_ops, priv); if (!priv->domain) { dev_err(dev, "failed to create MPM domain\n"); ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-riscv-intc.c b/drivers/irqchip/irq-riscv-i= ntc.c index f653c13de62b..e5805885394e 100644 --- a/drivers/irqchip/irq-riscv-intc.c +++ b/drivers/irqchip/irq-riscv-intc.c @@ -242,7 +242,7 @@ static int __init riscv_intc_init(struct device_node *n= ode, chip =3D &andes_intc_chip; } =20 - return riscv_intc_init_common(of_node_to_fwnode(node), chip); + return riscv_intc_init_common(of_fwnode_handle(node), chip); } =20 IRQCHIP_DECLARE(riscv, "riscv,cpu-intc", riscv_intc_init); diff --git a/drivers/irqchip/irq-sni-exiu.c b/drivers/irqchip/irq-sni-exiu.c index c7db617e1a2f..7d10bf6e5824 100644 --- a/drivers/irqchip/irq-sni-exiu.c +++ b/drivers/irqchip/irq-sni-exiu.c @@ -249,7 +249,7 @@ static int __init exiu_dt_init(struct device_node *node, return -ENXIO; } =20 - data =3D exiu_init(of_node_to_fwnode(node), &res); + data =3D exiu_init(of_fwnode_handle(node), &res); if (IS_ERR(data)) return PTR_ERR(data); =20 diff --git a/drivers/irqchip/irq-stm32mp-exti.c b/drivers/irqchip/irq-stm32= mp-exti.c index cb83d6cc6113..649b84f12efc 100644 --- a/drivers/irqchip/irq-stm32mp-exti.c +++ b/drivers/irqchip/irq-stm32mp-exti.c @@ -531,7 +531,7 @@ static int stm32mp_exti_domain_alloc(struct irq_domain = *dm, if (ret) return ret; /* we only support one parent, so far */ - if (of_node_to_fwnode(out_irq.np) !=3D dm->parent->fwnode) + if (of_fwnode_handle(out_irq.np) !=3D dm->parent->fwnode) return -EINVAL; =20 of_phandle_args_to_fwspec(out_irq.np, out_irq.args, diff --git a/drivers/irqchip/irq-ti-sci-inta.c b/drivers/irqchip/irq-ti-sci= -inta.c index b83f5cbab123..6c9e2bb99a96 100644 --- a/drivers/irqchip/irq-ti-sci-inta.c +++ b/drivers/irqchip/irq-ti-sci-inta.c @@ -233,7 +233,7 @@ static struct ti_sci_inta_vint_desc *ti_sci_inta_alloc_= parent_irq(struct irq_dom INIT_LIST_HEAD(&vint_desc->list); =20 parent_node =3D of_irq_find_parent(dev_of_node(&inta->pdev->dev)); - parent_fwspec.fwnode =3D of_node_to_fwnode(parent_node); + parent_fwspec.fwnode =3D of_fwnode_handle(parent_node); =20 if (of_device_is_compatible(parent_node, "arm,gic-v3")) { /* Parent is GIC */ @@ -709,7 +709,7 @@ static int ti_sci_inta_irq_domain_probe(struct platform= _device *pdev) return -ENOMEM; } =20 - msi_domain =3D ti_sci_inta_msi_create_irq_domain(of_node_to_fwnode(node), + msi_domain =3D ti_sci_inta_msi_create_irq_domain(of_fwnode_handle(node), &ti_sci_inta_msi_domain_info, domain); if (!msi_domain) { diff --git a/drivers/irqchip/irq-ti-sci-intr.c b/drivers/irqchip/irq-ti-sci= -intr.c index c027cd9e4a69..930313ed772d 100644 --- a/drivers/irqchip/irq-ti-sci-intr.c +++ b/drivers/irqchip/irq-ti-sci-intr.c @@ -149,7 +149,7 @@ static int ti_sci_intr_alloc_parent_irq(struct irq_doma= in *domain, goto err_irqs; =20 parent_node =3D of_irq_find_parent(dev_of_node(intr->dev)); - fwspec.fwnode =3D of_node_to_fwnode(parent_node); + fwspec.fwnode =3D of_fwnode_handle(parent_node); =20 if (of_device_is_compatible(parent_node, "arm,gic-v3")) { /* Parent is GIC */ diff --git a/drivers/irqchip/irq-uniphier-aidet.c b/drivers/irqchip/irq-uni= phier-aidet.c index 601f9343d5b3..6005c2d28dd9 100644 --- a/drivers/irqchip/irq-uniphier-aidet.c +++ b/drivers/irqchip/irq-uniphier-aidet.c @@ -188,7 +188,7 @@ static int uniphier_aidet_probe(struct platform_device = *pdev) priv->domain =3D irq_domain_create_hierarchy( parent_domain, 0, UNIPHIER_AIDET_NR_IRQS, - of_node_to_fwnode(dev->of_node), + of_fwnode_handle(dev->of_node), &uniphier_aidet_domain_ops, priv); if (!priv->domain) return -ENOMEM; diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pc= i/controller/dwc/pcie-designware-host.c index d2291c3ceb8b..1ef6b2a734a3 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -227,7 +227,7 @@ static const struct irq_domain_ops dw_pcie_msi_domain_o= ps =3D { int dw_pcie_allocate_domains(struct dw_pcie_rp *pp) { struct dw_pcie *pci =3D to_dw_pcie_from_pp(pp); - struct fwnode_handle *fwnode =3D of_node_to_fwnode(pci->dev->of_node); + struct fwnode_handle *fwnode =3D of_fwnode_handle(pci->dev->of_node); =20 pp->irq_domain =3D irq_domain_create_linear(fwnode, pp->num_vectors, &dw_pcie_msi_domain_ops, pp); diff --git a/drivers/pci/controller/mobiveil/pcie-mobiveil-host.c b/drivers= /pci/controller/mobiveil/pcie-mobiveil-host.c index 0e088e74155d..6628eed9d26e 100644 --- a/drivers/pci/controller/mobiveil/pcie-mobiveil-host.c +++ b/drivers/pci/controller/mobiveil/pcie-mobiveil-host.c @@ -435,7 +435,7 @@ static const struct irq_domain_ops msi_domain_ops =3D { static int mobiveil_allocate_msi_domains(struct mobiveil_pcie *pcie) { struct device *dev =3D &pcie->pdev->dev; - struct fwnode_handle *fwnode =3D of_node_to_fwnode(dev->of_node); + struct fwnode_handle *fwnode =3D of_fwnode_handle(dev->of_node); struct mobiveil_msi *msi =3D &pcie->rp.msi; =20 mutex_init(&msi->lock); diff --git a/drivers/pci/controller/pci-xgene-msi.c b/drivers/pci/controlle= r/pci-xgene-msi.c index 88c0977bc41a..2c825105ad82 100644 --- a/drivers/pci/controller/pci-xgene-msi.c +++ b/drivers/pci/controller/pci-xgene-msi.c @@ -247,7 +247,7 @@ static int xgene_allocate_domains(struct xgene_msi *msi) if (!msi->inner_domain) return -ENOMEM; =20 - msi->msi_domain =3D pci_msi_create_irq_domain(of_node_to_fwnode(msi->node= ), + msi->msi_domain =3D pci_msi_create_irq_domain(of_fwnode_handle(msi->node), &xgene_msi_domain_info, msi->inner_domain); =20 diff --git a/drivers/pci/controller/pcie-altera-msi.c b/drivers/pci/control= ler/pcie-altera-msi.c index e1cee3c0575f..5fb3a2e0017e 100644 --- a/drivers/pci/controller/pcie-altera-msi.c +++ b/drivers/pci/controller/pcie-altera-msi.c @@ -164,7 +164,7 @@ static const struct irq_domain_ops msi_domain_ops =3D { =20 static int altera_allocate_domains(struct altera_msi *msi) { - struct fwnode_handle *fwnode =3D of_node_to_fwnode(msi->pdev->dev.of_node= ); + struct fwnode_handle *fwnode =3D of_fwnode_handle(msi->pdev->dev.of_node); =20 msi->inner_domain =3D irq_domain_add_linear(NULL, msi->num_of_vectors, &msi_domain_ops, msi); diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller= /pcie-brcmstb.c index e733a27dc8df..6bfe86ace0cc 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -572,7 +572,7 @@ static const struct irq_domain_ops msi_domain_ops =3D { =20 static int brcm_allocate_domains(struct brcm_msi *msi) { - struct fwnode_handle *fwnode =3D of_node_to_fwnode(msi->np); + struct fwnode_handle *fwnode =3D of_fwnode_handle(msi->np); struct device *dev =3D msi->dev; =20 msi->inner_domain =3D irq_domain_add_linear(NULL, msi->nr, &msi_domain_op= s, msi); diff --git a/drivers/pci/controller/pcie-iproc-msi.c b/drivers/pci/controll= er/pcie-iproc-msi.c index 649fcb449f34..804b3a5787c5 100644 --- a/drivers/pci/controller/pcie-iproc-msi.c +++ b/drivers/pci/controller/pcie-iproc-msi.c @@ -451,7 +451,7 @@ static int iproc_msi_alloc_domains(struct device_node *= node, if (!msi->inner_domain) return -ENOMEM; =20 - msi->msi_domain =3D pci_msi_create_irq_domain(of_node_to_fwnode(node), + msi->msi_domain =3D pci_msi_create_irq_domain(of_fwnode_handle(node), &iproc_msi_domain_info, msi->inner_domain); if (!msi->msi_domain) { diff --git a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controlle= r/pcie-mediatek.c index 3bcfc4e58ba2..e9e6072577ce 100644 --- a/drivers/pci/controller/pcie-mediatek.c +++ b/drivers/pci/controller/pcie-mediatek.c @@ -485,7 +485,7 @@ static struct msi_domain_info mtk_msi_domain_info =3D { =20 static int mtk_pcie_allocate_msi_domains(struct mtk_pcie_port *port) { - struct fwnode_handle *fwnode =3D of_node_to_fwnode(port->pcie->dev->of_no= de); + struct fwnode_handle *fwnode =3D of_fwnode_handle(port->pcie->dev->of_nod= e); =20 mutex_init(&port->lock); =20 diff --git a/drivers/pci/controller/pcie-xilinx-dma-pl.c b/drivers/pci/cont= roller/pcie-xilinx-dma-pl.c index dd117f07fc95..71cf13ae51c7 100644 --- a/drivers/pci/controller/pcie-xilinx-dma-pl.c +++ b/drivers/pci/controller/pcie-xilinx-dma-pl.c @@ -470,7 +470,7 @@ static int xilinx_pl_dma_pcie_init_msi_irq_domain(struc= t pl_dma_pcie *port) struct device *dev =3D port->dev; struct xilinx_msi *msi =3D &port->msi; int size =3D BITS_TO_LONGS(XILINX_NUM_MSI_IRQS) * sizeof(long); - struct fwnode_handle *fwnode =3D of_node_to_fwnode(port->dev->of_node); + struct fwnode_handle *fwnode =3D of_fwnode_handle(port->dev->of_node); =20 msi->dev_domain =3D irq_domain_add_linear(NULL, XILINX_NUM_MSI_IRQS, &dev_msi_domain_ops, port); diff --git a/drivers/pci/controller/pcie-xilinx-nwl.c b/drivers/pci/control= ler/pcie-xilinx-nwl.c index 8d6e2a89b067..9cf8a96f7bc4 100644 --- a/drivers/pci/controller/pcie-xilinx-nwl.c +++ b/drivers/pci/controller/pcie-xilinx-nwl.c @@ -495,7 +495,7 @@ static int nwl_pcie_init_msi_irq_domain(struct nwl_pcie= *pcie) { #ifdef CONFIG_PCI_MSI struct device *dev =3D pcie->dev; - struct fwnode_handle *fwnode =3D of_node_to_fwnode(dev->of_node); + struct fwnode_handle *fwnode =3D of_fwnode_handle(dev->of_node); struct nwl_msi *msi =3D &pcie->msi; =20 msi->dev_domain =3D irq_domain_add_linear(NULL, INT_PCI_MSI_NR, diff --git a/drivers/pci/controller/plda/pcie-plda-host.c b/drivers/pci/con= troller/plda/pcie-plda-host.c index 8533dc618d45..91ead8ebc2ae 100644 --- a/drivers/pci/controller/plda/pcie-plda-host.c +++ b/drivers/pci/controller/plda/pcie-plda-host.c @@ -147,7 +147,7 @@ static struct msi_domain_info plda_msi_domain_info =3D { static int plda_allocate_msi_domains(struct plda_pcie_rp *port) { struct device *dev =3D port->dev; - struct fwnode_handle *fwnode =3D of_node_to_fwnode(dev->of_node); + struct fwnode_handle *fwnode =3D of_fwnode_handle(dev->of_node); struct plda_msi *msi =3D &port->msi; =20 mutex_init(&port->msi.lock); diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c index 1656574b7317..4a4eb9c0b133 100644 --- a/drivers/remoteproc/pru_rproc.c +++ b/drivers/remoteproc/pru_rproc.c @@ -563,7 +563,7 @@ static int pru_handle_intrmap(struct rproc *rproc) return -ENODEV; } =20 - fwspec.fwnode =3D of_node_to_fwnode(irq_parent); + fwspec.fwnode =3D of_fwnode_handle(irq_parent); fwspec.param_count =3D 3; for (i =3D 0; i < pru->evt_count; i++) { fwspec.param[0] =3D rsc->pru_intc_map[i].event; diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 52c04ac932a8..1f4af32d464a 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -358,11 +358,6 @@ int irq_domain_alloc_descs(int virq, unsigned int nr_i= rqs, irq_hw_number_t hwirq, int node, const struct irq_affinity_desc *affinity); =20 -static inline struct fwnode_handle *of_node_to_fwnode(struct device_node *= node) -{ - return node ? &node->fwnode : NULL; -} - extern const struct fwnode_operations irqchip_fwnode_ops; =20 static inline bool is_fwnode_irqchip(const struct fwnode_handle *fwnode) @@ -387,7 +382,7 @@ struct irq_domain *irq_find_matching_fwnode(struct fwno= de_handle *fwnode, static inline struct irq_domain *irq_find_matching_host(struct device_node= *node, enum irq_domain_bus_token bus_token) { - return irq_find_matching_fwnode(of_node_to_fwnode(node), bus_token); + return irq_find_matching_fwnode(of_fwnode_handle(node), bus_token); } =20 static inline struct irq_domain *irq_find_host(struct device_node *node) @@ -407,7 +402,7 @@ static inline struct irq_domain *irq_domain_add_simple(= struct device_node *of_no const struct irq_domain_ops *ops, void *host_data) { - return irq_domain_create_simple(of_node_to_fwnode(of_node), size, first_i= rq, ops, host_data); + return irq_domain_create_simple(of_fwnode_handle(of_node), size, first_ir= q, ops, host_data); } =20 /** @@ -423,7 +418,7 @@ static inline struct irq_domain *irq_domain_add_linear(= struct device_node *of_no void *host_data) { struct irq_domain_info info =3D { - .fwnode =3D of_node_to_fwnode(of_node), + .fwnode =3D of_fwnode_handle(of_node), .size =3D size, .hwirq_max =3D size, .ops =3D ops, @@ -442,7 +437,7 @@ static inline struct irq_domain *irq_domain_add_nomap(s= truct device_node *of_nod void *host_data) { struct irq_domain_info info =3D { - .fwnode =3D of_node_to_fwnode(of_node), + .fwnode =3D of_fwnode_handle(of_node), .hwirq_max =3D max_irq, .direct_max =3D max_irq, .ops =3D ops, @@ -462,7 +457,7 @@ static inline struct irq_domain *irq_domain_add_tree(st= ruct device_node *of_node void *host_data) { struct irq_domain_info info =3D { - .fwnode =3D of_node_to_fwnode(of_node), + .fwnode =3D of_fwnode_handle(of_node), .hwirq_max =3D ~0U, .ops =3D ops, .host_data =3D host_data, @@ -611,7 +606,7 @@ static inline struct irq_domain *irq_domain_add_hierarc= hy(struct irq_domain *par void *host_data) { return irq_domain_create_hierarchy(parent, flags, size, - of_node_to_fwnode(node), + of_fwnode_handle(node), ops, host_data); } =20 diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 099205b0cb72..cf4616829f43 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -502,7 +502,7 @@ struct irq_domain *irq_domain_add_legacy(struct device_= node *of_node, const struct irq_domain_ops *ops, void *host_data) { - return irq_domain_create_legacy(of_node_to_fwnode(of_node), size, + return irq_domain_create_legacy(of_fwnode_handle(of_node), size, first_irq, first_hwirq, ops, host_data); } EXPORT_SYMBOL_GPL(irq_domain_add_legacy); @@ -885,7 +885,7 @@ void of_phandle_args_to_fwspec(struct device_node *np, = const u32 *args, { int i; =20 - fwspec->fwnode =3D of_node_to_fwnode(np); + fwspec->fwnode =3D of_fwnode_handle(np); fwspec->param_count =3D count; =20 for (i =3D 0; i < count; i++) --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 33A372361F3 for ; Wed, 15 Jan 2025 08:54:23 +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=1736931263; cv=none; b=Ki9HZ7vquIYOdVS8zAGN4Gsal5jVWmKsw1GupYXFuw1ChOCaV+vj4vN5FExJf93g/8Fo9cyvYXvdVGlYwOtq7o2fmYgiVNr7t35XIPF3zBHt0pRVEqS9FS56Ym2pmjBW5bX9EmxyIAK6U580ltF7eQ+G0gYK9JC9zwHlg8F5JTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931263; c=relaxed/simple; bh=ezJytLmiRU8NOmXj9Q1Mq5VZHZL4COwTD0lR2SGaEwQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QUvKU1JDElBZL7uEUCf6++uoj6azuw/+9ZVkcTxikj4G1xIpd7GybSwzRYYxCW/4oDmGG/2nQnPMcbn8q6yYJjSwxvxPyKVQfGwxSYqR4Y/nkiYysM8BUmKeEse88Lh2RE74B/8tnMpRMS114IUFI9MpCg0qIMqDbVohoxpd1i4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GiPKszYR; 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="GiPKszYR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBE82C4CEE2; Wed, 15 Jan 2025 08:54:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931263; bh=ezJytLmiRU8NOmXj9Q1Mq5VZHZL4COwTD0lR2SGaEwQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GiPKszYR22P8+2NkEUNK9ftJJeGbnEtHax2Ijh0xN81xwia0NHGashOcqs7jiPSoo 2uedfXEX+LxOE6Gx0jDaLIqeKrOxjH2TWL1CTuJiwCdd6re4mgIETfA5AOhiqB1o6K ELX4ial36/19iMkfkCAae2SDY0sp99zVbyMhoQWr8X2VT7J8df+jBRlfq7rZLnITEs 8rhoTwH8w/4M/mlWCU11BnKTkv5qj1+uDE1mQ2WhdKMQUVYh2NNSxVBMUt9zEk3Q7d lZQGxVvCOPjj4rr69w7Wrzvk35hgPye1TqppPv6oMoSR71FJtvvXV+8+9JBxlQh2ZP a/V08VOwlisDw== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 06/18] irqdomain: Make a couple of functions an inline Date: Wed, 15 Jan 2025 09:53:55 +0100 Message-ID: <20250115085409.1629787-7-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" There is no reason to export these functions as extra symbols. They are simple enough and are just wrappers to already exported functions. So switch the exported functions to inlines. Signed-off-by: Jiri Slaby (SUSE) --- include/linux/irqdomain.h | 78 +++++++++++++++++++++++++++++++++------ kernel/irq/irqdomain.c | 68 ---------------------------------- 2 files changed, 66 insertions(+), 80 deletions(-) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 1f4af32d464a..15919ca8b3cb 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -338,18 +338,39 @@ struct irq_domain *irq_domain_create_simple(struct fw= node_handle *fwnode, unsigned int first_irq, const struct irq_domain_ops *ops, void *host_data); -struct irq_domain *irq_domain_add_legacy(struct device_node *of_node, - unsigned int size, - unsigned int first_irq, - irq_hw_number_t first_hwirq, - const struct irq_domain_ops *ops, - void *host_data); struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, unsigned int size, unsigned int first_irq, irq_hw_number_t first_hwirq, const struct irq_domain_ops *ops, void *host_data); + +/** + * irq_domain_add_legacy() - Allocate and register a legacy revmap irq_dom= ain. + * @of_node: pointer to interrupt controller's device tree node. + * @size: total number of irqs in legacy mapping + * @first_irq: first number of irq block assigned to the domain + * @first_hwirq: first hwirq number to use for the translation. Should nor= mally + * be '0', but a positive integer can be used if the effecti= ve + * hwirqs numbering does not begin at zero. + * @ops: map/unmap domain callbacks + * @host_data: Controller private data pointer + * + * Note: the map() callback will be called before this function returns + * for all legacy interrupts except 0 (which is always the invalid irq for + * a legacy controller). + */ +static inline struct irq_domain *irq_domain_add_legacy(struct device_node = *of_node, + unsigned int size, + unsigned int first_irq, + irq_hw_number_t first_hwirq, + const struct irq_domain_ops *ops, + void *host_data) +{ + return irq_domain_create_legacy(of_fwnode_handle(of_node), size, + first_irq, first_hwirq, ops, host_data); +} + struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec, enum irq_domain_bus_token bus_token); void irq_set_default_domain(struct irq_domain *domain); @@ -591,12 +612,45 @@ void irq_domain_set_info(struct irq_domain *domain, u= nsigned int virq, void *handler_data, const char *handler_name); void irq_domain_reset_irq_data(struct irq_data *irq_data); #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY -struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent, - unsigned int flags, - unsigned int size, - struct fwnode_handle *fwnode, - const struct irq_domain_ops *ops, - void *host_data); +/** + * irq_domain_create_hierarchy - Add a irqdomain into the hierarchy + * @parent: Parent irq domain to associate with the new domain + * @flags: Irq domain flags associated to the domain + * @size: Size of the domain. See below + * @fwnode: Optional fwnode of the interrupt controller + * @ops: Pointer to the interrupt domain callbacks + * @host_data: Controller private data pointer + * + * If @size is 0 a tree domain is created, otherwise a linear domain. + * + * If successful the parent is associated to the new domain and the + * domain flags are set. + * Returns pointer to IRQ domain, or NULL on failure. + */ +static inline struct irq_domain *irq_domain_create_hierarchy(struct irq_do= main *parent, + unsigned int flags, + unsigned int size, + struct fwnode_handle *fwnode, + const struct irq_domain_ops *ops, + void *host_data) +{ + struct irq_domain_info info =3D { + .fwnode =3D fwnode, + .size =3D size, + .hwirq_max =3D size, + .ops =3D ops, + .host_data =3D host_data, + .domain_flags =3D flags, + .parent =3D parent, + }; + struct irq_domain *d; + + if (!info.size) + info.hwirq_max =3D ~0U; + + d =3D irq_domain_instantiate(&info); + return IS_ERR(d) ? NULL : d; +} =20 static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domai= n *parent, unsigned int flags, diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index cf4616829f43..00f254a67bb0 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -480,33 +480,6 @@ struct irq_domain *irq_domain_create_simple(struct fwn= ode_handle *fwnode, } EXPORT_SYMBOL_GPL(irq_domain_create_simple); =20 -/** - * irq_domain_add_legacy() - Allocate and register a legacy revmap irq_dom= ain. - * @of_node: pointer to interrupt controller's device tree node. - * @size: total number of irqs in legacy mapping - * @first_irq: first number of irq block assigned to the domain - * @first_hwirq: first hwirq number to use for the translation. Should nor= mally - * be '0', but a positive integer can be used if the effecti= ve - * hwirqs numbering does not begin at zero. - * @ops: map/unmap domain callbacks - * @host_data: Controller private data pointer - * - * Note: the map() callback will be called before this function returns - * for all legacy interrupts except 0 (which is always the invalid irq for - * a legacy controller). - */ -struct irq_domain *irq_domain_add_legacy(struct device_node *of_node, - unsigned int size, - unsigned int first_irq, - irq_hw_number_t first_hwirq, - const struct irq_domain_ops *ops, - void *host_data) -{ - return irq_domain_create_legacy(of_fwnode_handle(of_node), size, - first_irq, first_hwirq, ops, host_data); -} -EXPORT_SYMBOL_GPL(irq_domain_add_legacy); - struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, unsigned int size, unsigned int first_irq, @@ -1252,47 +1225,6 @@ void irq_domain_reset_irq_data(struct irq_data *irq_= data) EXPORT_SYMBOL_GPL(irq_domain_reset_irq_data); =20 #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY -/** - * irq_domain_create_hierarchy - Add a irqdomain into the hierarchy - * @parent: Parent irq domain to associate with the new domain - * @flags: Irq domain flags associated to the domain - * @size: Size of the domain. See below - * @fwnode: Optional fwnode of the interrupt controller - * @ops: Pointer to the interrupt domain callbacks - * @host_data: Controller private data pointer - * - * If @size is 0 a tree domain is created, otherwise a linear domain. - * - * If successful the parent is associated to the new domain and the - * domain flags are set. - * Returns pointer to IRQ domain, or NULL on failure. - */ -struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent, - unsigned int flags, - unsigned int size, - struct fwnode_handle *fwnode, - const struct irq_domain_ops *ops, - void *host_data) -{ - struct irq_domain_info info =3D { - .fwnode =3D fwnode, - .size =3D size, - .hwirq_max =3D size, - .ops =3D ops, - .host_data =3D host_data, - .domain_flags =3D flags, - .parent =3D parent, - }; - struct irq_domain *d; - - if (!info.size) - info.hwirq_max =3D ~0U; - - d =3D irq_domain_instantiate(&info); - return IS_ERR(d) ? NULL : d; -} -EXPORT_SYMBOL_GPL(irq_domain_create_hierarchy); - static void irq_domain_insert_irq(int virq) { struct irq_data *data; --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 B2F1E243353 for ; Wed, 15 Jan 2025 08:54: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=1736931264; cv=none; b=MKJfGNqrfv7PDE37SivEX/6aJ4S49t9VHYjKwTO0qNL2nTzKWAspIkYS3n6RsyY9uN22cdrzGr2edAOAf/4AaR/ujZvkO9LFJkOhp084kp4ioI/Tl9SaGg0jnlvK4oQNBpAZrBgjsiqd7ZB3YLSpzZwmaPkkukC+ST6R0iE5v5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931264; c=relaxed/simple; bh=j4+WCm5JysyXYn7cTB+5Bcjti8kIzOlSUhRV5/xt0KQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ej7V/lVqY89aQ3ty9/RiwPA8AXp2KcaYMP0QKqgoJ1zkma3UEjzSBch5IhzA4qRRDV85ru/HzVwfdcu5b32gHotlZYCOlZZnC/+waCNeC5zUcDg/iCG307QyNtvi9PuBQtDiOoAJb4yA/Ncznvtswr2RGypD+OJLOP8GG9ZzdS8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jPVtTRI8; 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="jPVtTRI8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BD26C4CEE1; Wed, 15 Jan 2025 08:54:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931264; bh=j4+WCm5JysyXYn7cTB+5Bcjti8kIzOlSUhRV5/xt0KQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jPVtTRI8dSx7k4wSgMyQwGLLHPSaWS/xyUw21MhNmoJoj0/bGdwxZtom6AP38QhC5 pJa2dxu8iXR8B0zUaDjAQGGzxq5yWTWfRymoJg8sdzXddTkChnYPhgVdZdj/wTuSOT fjcOi8hjWIoYITWEbTvCs0d+AN1vPQ8PR5A6ueghFUu5YbyEEah0/yc5dtNwr2OYnZ z5+vvsCKoqn2U0pOUtumWrM8MHlEVSDG+oFRuQx0llxSGsMurQK6v+2tcDKyO8Bnn+ S8SHB900svEShwvnBUQ/PNt0SoILDNADG7v1vMHmrgkUO6xRs/ZzukWVmyXhTN9SI7 WO+CMrZ7fEI1w== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 07/18] irqdomain: Make irq_domain_instantiate() returned domains an initializer Date: Wed, 15 Jan 2025 09:53:56 +0100 Message-ID: <20250115085409.1629787-8-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" I was thinking whether add a \n before the 'return' or this. And this looks both more compact and more readable. Note irq_domain_create_hierarchy()'s handling of size is now part of info's initializer (using the ternary operator). That makes more sense while reading it. Signed-off-by: Jiri Slaby (SUSE) --- include/linux/irqdomain.h | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 15919ca8b3cb..7903dbbbdef1 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -445,9 +445,8 @@ static inline struct irq_domain *irq_domain_add_linear(= struct device_node *of_no .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d; + struct irq_domain *d =3D irq_domain_instantiate(&info); =20 - d =3D irq_domain_instantiate(&info); return IS_ERR(d) ? NULL : d; } =20 @@ -464,9 +463,8 @@ static inline struct irq_domain *irq_domain_add_nomap(s= truct device_node *of_nod .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d; + struct irq_domain *d =3D irq_domain_instantiate(&info); =20 - d =3D irq_domain_instantiate(&info); return IS_ERR(d) ? NULL : d; } =20 @@ -483,9 +481,8 @@ static inline struct irq_domain *irq_domain_add_tree(st= ruct device_node *of_node .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d; + struct irq_domain *d =3D irq_domain_instantiate(&info); =20 - d =3D irq_domain_instantiate(&info); return IS_ERR(d) ? NULL : d; } =20 @@ -501,9 +498,8 @@ static inline struct irq_domain *irq_domain_create_line= ar(struct fwnode_handle * .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d; + struct irq_domain *d =3D irq_domain_instantiate(&info); =20 - d =3D irq_domain_instantiate(&info); return IS_ERR(d) ? NULL : d; } =20 @@ -517,9 +513,8 @@ static inline struct irq_domain *irq_domain_create_tree= (struct fwnode_handle *fw .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d; + struct irq_domain *d =3D irq_domain_instantiate(&info); =20 - d =3D irq_domain_instantiate(&info); return IS_ERR(d) ? NULL : d; } =20 @@ -637,18 +632,14 @@ static inline struct irq_domain *irq_domain_create_hi= erarchy(struct irq_domain * struct irq_domain_info info =3D { .fwnode =3D fwnode, .size =3D size, - .hwirq_max =3D size, + .hwirq_max =3D size ? : ~0U, .ops =3D ops, .host_data =3D host_data, .domain_flags =3D flags, .parent =3D parent, }; - struct irq_domain *d; - - if (!info.size) - info.hwirq_max =3D ~0U; + struct irq_domain *d =3D irq_domain_instantiate(&info); =20 - d =3D irq_domain_instantiate(&info); return IS_ERR(d) ? NULL : d; } =20 --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 A95A43DAC01 for ; Wed, 15 Jan 2025 08:54:26 +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=1736931268; cv=none; b=pL12rEG7PZhwd6/dgnNGdORc7vltbdgttnERj3pI3Dtck9aJ5KhQJNzArhvqtkw6zaXWJzxNeiNWbKwU+FkGEt1Z1CYV2EF0c9L5jWUp+ajW0535O4q6B8wcp5/4gbffE+FsfGP/9A86EhS4Fl+2pN7CLNGlZGagexKJCIEHZpM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931268; c=relaxed/simple; bh=e4r7evfO/O7D/n30iriolM6CKcfxjpvus9p2k5MZOr0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rBP8TrCmxxupHiWwWYwEM62mQU4UWCBMuSIcczpPaZYXgtxaaDfeztjmGXbrH0V4LnK99nTRiIplfu5ZCXgNs9XcZyGri40tKco548j44c6bonVxJRcPW0+pQLQvE6Ir1phCVrHB5sCTKXd8BrgACE6vcb0zF9fCQhAgBEsm6qc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Xw7E49NL; 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="Xw7E49NL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0C118C4CEE2; Wed, 15 Jan 2025 08:54:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931266; bh=e4r7evfO/O7D/n30iriolM6CKcfxjpvus9p2k5MZOr0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xw7E49NLRP18rUiF8SjyCdEUjPwsPRipwf5mRb3Gy+D/kzhv6scXXCnSZCbLB242+ e3CVNR9OgRRCWmeE7McUPwsmna/nnLH2U2p59IUNF2q/E9WE/wIyusyiSLRdYXPdE/ s+1MH52V3wLa7X/PVZyBlEAdwFIWrIz8BXk11bP8TxIMdauRFYvn2aQTNGGdkKA5MZ AmwmyuSuCQ6SGG0lMtfgh98AWzEX7fnIIWqLEb1kTTWLxehnye61tX/1JXtwIB2su9 66uWLWkFvV+Nk4mC8YKBIlE+Wf79kHFlZyKIP6MTWBaAclSPPqTzK4JW4pHNgYpN41 OleVuOfVgGjeQ== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 08/18] irqdomain: Make struct irq_domain_info variables const Date: Wed, 15 Jan 2025 09:53:57 +0100 Message-ID: <20250115085409.1629787-9-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" This is just expressing it explicitly as irq_domain_instantiate() takes const already. No functional change. Signed-off-by: Jiri Slaby (SUSE) --- include/linux/irqdomain.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 7903dbbbdef1..a7f41a6163c5 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -438,7 +438,7 @@ static inline struct irq_domain *irq_domain_add_linear(= struct device_node *of_no const struct irq_domain_ops *ops, void *host_data) { - struct irq_domain_info info =3D { + const struct irq_domain_info info =3D { .fwnode =3D of_fwnode_handle(of_node), .size =3D size, .hwirq_max =3D size, @@ -456,7 +456,7 @@ static inline struct irq_domain *irq_domain_add_nomap(s= truct device_node *of_nod const struct irq_domain_ops *ops, void *host_data) { - struct irq_domain_info info =3D { + const struct irq_domain_info info =3D { .fwnode =3D of_fwnode_handle(of_node), .hwirq_max =3D max_irq, .direct_max =3D max_irq, @@ -475,7 +475,7 @@ static inline struct irq_domain *irq_domain_add_tree(st= ruct device_node *of_node const struct irq_domain_ops *ops, void *host_data) { - struct irq_domain_info info =3D { + const struct irq_domain_info info =3D { .fwnode =3D of_fwnode_handle(of_node), .hwirq_max =3D ~0U, .ops =3D ops, @@ -491,7 +491,7 @@ static inline struct irq_domain *irq_domain_create_line= ar(struct fwnode_handle * const struct irq_domain_ops *ops, void *host_data) { - struct irq_domain_info info =3D { + const struct irq_domain_info info =3D { .fwnode =3D fwnode, .size =3D size, .hwirq_max =3D size, @@ -507,7 +507,7 @@ static inline struct irq_domain *irq_domain_create_tree= (struct fwnode_handle *fw const struct irq_domain_ops *ops, void *host_data) { - struct irq_domain_info info =3D { + const struct irq_domain_info info =3D { .fwnode =3D fwnode, .hwirq_max =3D ~0, .ops =3D ops, @@ -629,7 +629,7 @@ static inline struct irq_domain *irq_domain_create_hier= archy(struct irq_domain * const struct irq_domain_ops *ops, void *host_data) { - struct irq_domain_info info =3D { + const struct irq_domain_info info =3D { .fwnode =3D fwnode, .size =3D size, .hwirq_max =3D size ? : ~0U, --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 F42113DABFB for ; Wed, 15 Jan 2025 08:54:27 +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=1736931268; cv=none; b=TP0JW7/HL7sgghp9HMNfZ6I+urCHOXg1yd1Y+or+zE2n/hMVykUsEoDnRShwPlZ1DpOMRbhzvFG1xUBcT3uBlzqEPY8UH3h7p65t+/+w9Qu7p0CqtpCVk8frqAPbqACkTbM/qJLjF3hzQCj6jm0jFer4VYBCDynj0nihG7oizrg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931268; c=relaxed/simple; bh=EbNzadu64HxeGBgN0Jtl3Wv9MMaxIUECjkOrPZ5ILJM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ePB9cHYOiw/JqiVxqVi37U0la9wHVDH78OFxGx613PbCq1wT5HAGFpzlBYLX0VbPuEJq2+w2ZXnGhKrHyQTu0uApnR9s6ywiXrEQudRSlftevHq+8gYPenu8LEK/i99q3jYtymVb8TT6zb0GVIGgbrUjy75o3xjWERFOkEjuNCg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Edsm7UUZ; 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="Edsm7UUZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93823C4CEE4; Wed, 15 Jan 2025 08:54:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931267; bh=EbNzadu64HxeGBgN0Jtl3Wv9MMaxIUECjkOrPZ5ILJM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Edsm7UUZfMyDgDUAOrwz29KV7duk60VHETETA7y8cx+tAM1sZ0hzNB73EI4E1yozt pC31fwaqWDdcdX45usrG4ZcYXV/7ODO0m6UAur1igylgVjrpJWCBmd1OMQ0zydFM+0 Or6SV43gLQ4zwlynC2vUcyMYmiSUvxIc6GfUUFjNVvFxUP5Og4MYzCxz8HNJi2sS9V icSIrytTteseEXdmp6GgTtDw14ZrUgcwaOqde5dk7gIhgpO/Oj9vTijAP+U4WgGml+ cMbReK9DpPZd51yKi2EwkwVTtYthvSoVayFIgORWbaskr6H1aIG37VW5l/g08z9nRw fnR3+TffpwBWw== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 09/18] irqdomain: Rename _add functions to _add_*_of_node Date: Wed, 15 Jan 2025 09:53:58 +0100 Message-ID: <20250115085409.1629787-10-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable For readers, it is very confusing that: * irq_domain_add_*() functions are dedicated to of_nodes, * irq_domain_create_*() ones to fwnodes, and * irq_domain_instantiate() to the universal struct irq_domain_info. Neither _create, nor _add designate any of those nodes. Despite the naming, the functionality of them is the same: add an irq domain (by generic irq_domain_instantiate()). So the source of the confusion is the naming proper -- making the distinction based on _create, _add, and _instantiate. Therefore, here an "_of_node" suffix is added to all "_add" functions (of_node ones). In the next patch, "_create" (fwnode ones) are switched to "_add_fwnode". And finally, "_instantiate" is renamed to "_add". So when all are applied, the interface is much easier to follow: * dom =3D irq_domain_add_linear_of_node(of_node, ...) * dom =3D irq_domain_add_linear_fwnode(fwnode, ...) * dom =3D irq_domain_add(info) * irq_domain_remove(dom) Signed-off-by: Jiri Slaby (SUSE) --- Note 1: I completely do not insist on these patches, but when I came as the first time reader, these occured to me as big misnomers. Note 2: irq_domain_add() might have been irq_domain_add_info() as well. That would make it consistent among the others. Opinions? --- Documentation/core-api/irq/irq-domain.rst | 62 ++++++++++--------- .../zh_CN/core-api/irq/irq-domain.rst | 24 +++---- arch/arc/kernel/intc-arcv2.c | 2 +- arch/arc/kernel/intc-compact.c | 2 +- arch/arc/kernel/mcip.c | 2 +- arch/arm/common/sa1111.c | 2 +- arch/arm/mach-exynos/suspend.c | 2 +- arch/arm/mach-imx/avic.c | 2 +- arch/arm/mach-imx/gpc.c | 2 +- arch/arm/mach-imx/tzic.c | 2 +- arch/arm/mach-omap1/irq.c | 2 +- arch/arm/mach-omap2/omap-wakeupgen.c | 2 +- arch/arm/mach-pxa/irq.c | 2 +- arch/arm/plat-orion/gpio.c | 2 +- arch/mips/ath25/ar2315.c | 2 +- arch/mips/ath25/ar5312.c | 2 +- arch/mips/cavium-octeon/octeon-irq.c | 12 ++-- arch/mips/lantiq/irq.c | 2 +- arch/mips/pci/pci-ar2315.c | 2 +- arch/mips/pci/pci-rt3883.c | 2 +- arch/mips/ralink/irq.c | 2 +- arch/nios2/kernel/irq.c | 2 +- arch/powerpc/platforms/44x/uic.c | 2 +- .../powerpc/platforms/512x/mpc5121_ads_cpld.c | 2 +- arch/powerpc/platforms/52xx/media5200.c | 2 +- arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 4 +- arch/powerpc/platforms/52xx/mpc52xx_pic.c | 2 +- .../platforms/85xx/socrates_fpga_pic.c | 2 +- arch/powerpc/platforms/8xx/cpm1-ic.c | 2 +- arch/powerpc/platforms/8xx/pic.c | 2 +- arch/powerpc/platforms/cell/axon_msi.c | 2 +- arch/powerpc/platforms/cell/interrupt.c | 2 +- arch/powerpc/platforms/cell/spider-pic.c | 2 +- .../platforms/embedded6xx/flipper-pic.c | 2 +- arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 2 +- arch/powerpc/platforms/powermac/pic.c | 2 +- arch/powerpc/platforms/powermac/smp.c | 2 +- arch/powerpc/platforms/powernv/opal-irqchip.c | 2 +- arch/powerpc/platforms/ps3/interrupt.c | 2 +- arch/powerpc/sysdev/cpm2_pic.c | 2 +- arch/powerpc/sysdev/ehv_pic.c | 2 +- arch/powerpc/sysdev/fsl_msi.c | 2 +- arch/powerpc/sysdev/ge/ge_pic.c | 2 +- arch/powerpc/sysdev/i8259.c | 2 +- arch/powerpc/sysdev/ipic.c | 2 +- arch/powerpc/sysdev/mpic.c | 2 +- arch/powerpc/sysdev/tsi108_pci.c | 2 +- arch/powerpc/sysdev/xive/common.c | 2 +- arch/sh/boards/mach-se/7343/irq.c | 2 +- arch/sh/boards/mach-se/7722/irq.c | 2 +- arch/sh/boards/mach-x3proto/gpio.c | 2 +- drivers/bus/moxtet.c | 2 +- drivers/edac/altera_edac.c | 2 +- drivers/gpio/gpio-brcmstb.c | 2 +- drivers/gpio/gpio-davinci.c | 2 +- drivers/gpio/gpio-em.c | 2 +- drivers/gpio/gpio-grgpio.c | 2 +- drivers/gpio/gpio-lpc18xx.c | 2 +- drivers/gpio/gpio-mvebu.c | 2 +- drivers/gpio/gpio-mxc.c | 2 +- drivers/gpio/gpio-mxs.c | 2 +- drivers/gpio/gpio-pxa.c | 2 +- drivers/gpio/gpio-rockchip.c | 2 +- drivers/gpio/gpio-sa1100.c | 2 +- drivers/gpio/gpio-sodaville.c | 2 +- drivers/gpio/gpio-tb10x.c | 2 +- drivers/gpio/gpio-twl4030.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c | 2 +- drivers/gpu/drm/msm/msm_mdss.c | 2 +- drivers/gpu/ipu-v3/ipu-common.c | 2 +- drivers/i2c/busses/i2c-cht-wc.c | 2 +- drivers/i2c/muxes/i2c-mux-pca954x.c | 2 +- drivers/iio/adc/stm32-adc-core.c | 2 +- drivers/irqchip/exynos-combiner.c | 2 +- drivers/irqchip/irq-al-fic.c | 2 +- drivers/irqchip/irq-alpine-msi.c | 2 +- drivers/irqchip/irq-armada-370-xp.c | 4 +- drivers/irqchip/irq-aspeed-i2c-ic.c | 2 +- drivers/irqchip/irq-aspeed-intc.c | 2 +- drivers/irqchip/irq-aspeed-scu-ic.c | 2 +- drivers/irqchip/irq-aspeed-vic.c | 2 +- drivers/irqchip/irq-ath79-misc.c | 4 +- drivers/irqchip/irq-atmel-aic-common.c | 2 +- drivers/irqchip/irq-bcm2835.c | 2 +- drivers/irqchip/irq-bcm2836.c | 2 +- drivers/irqchip/irq-bcm6345-l1.c | 2 +- drivers/irqchip/irq-bcm7038-l1.c | 2 +- drivers/irqchip/irq-bcm7120-l2.c | 2 +- drivers/irqchip/irq-brcmstb-l2.c | 2 +- drivers/irqchip/irq-clps711x.c | 2 +- drivers/irqchip/irq-crossbar.c | 2 +- drivers/irqchip/irq-csky-apb-intc.c | 2 +- drivers/irqchip/irq-csky-mpintc.c | 2 +- drivers/irqchip/irq-davinci-cp-intc.c | 2 +- drivers/irqchip/irq-digicolor.c | 2 +- drivers/irqchip/irq-dw-apb-ictl.c | 2 +- drivers/irqchip/irq-ftintc010.c | 2 +- drivers/irqchip/irq-goldfish-pic.c | 2 +- drivers/irqchip/irq-hip04.c | 2 +- drivers/irqchip/irq-i8259.c | 2 +- drivers/irqchip/irq-idt3243x.c | 2 +- drivers/irqchip/irq-imgpdc.c | 2 +- drivers/irqchip/irq-imx-gpcv2.c | 2 +- drivers/irqchip/irq-imx-intmux.c | 2 +- drivers/irqchip/irq-imx-irqsteer.c | 2 +- drivers/irqchip/irq-ingenic-tcu.c | 2 +- drivers/irqchip/irq-ingenic.c | 2 +- drivers/irqchip/irq-jcore-aic.c | 2 +- drivers/irqchip/irq-keystone.c | 2 +- drivers/irqchip/irq-lpc32xx.c | 2 +- drivers/irqchip/irq-ls-extirq.c | 2 +- drivers/irqchip/irq-ls-scfg-msi.c | 2 +- drivers/irqchip/irq-ls1x.c | 2 +- drivers/irqchip/irq-mchp-eic.c | 2 +- drivers/irqchip/irq-mips-cpu.c | 4 +- drivers/irqchip/irq-mips-gic.c | 4 +- drivers/irqchip/irq-mmp.c | 4 +- drivers/irqchip/irq-mscc-ocelot.c | 2 +- drivers/irqchip/irq-mst-intc.c | 2 +- drivers/irqchip/irq-mtk-cirq.c | 2 +- drivers/irqchip/irq-mtk-sysirq.c | 2 +- drivers/irqchip/irq-mvebu-pic.c | 2 +- drivers/irqchip/irq-mxs.c | 2 +- drivers/irqchip/irq-nvic.c | 2 +- drivers/irqchip/irq-omap-intc.c | 4 +- drivers/irqchip/irq-or1k-pic.c | 2 +- drivers/irqchip/irq-orion.c | 4 +- drivers/irqchip/irq-owl-sirq.c | 2 +- drivers/irqchip/irq-pic32-evic.c | 2 +- drivers/irqchip/irq-pruss-intc.c | 2 +- drivers/irqchip/irq-realtek-rtl.c | 2 +- drivers/irqchip/irq-renesas-intc-irqpin.c | 2 +- drivers/irqchip/irq-renesas-irqc.c | 2 +- drivers/irqchip/irq-renesas-rza1.c | 2 +- drivers/irqchip/irq-renesas-rzg2l.c | 2 +- drivers/irqchip/irq-renesas-rzv2h.c | 2 +- drivers/irqchip/irq-sa11x0.c | 2 +- drivers/irqchip/irq-sni-exiu.c | 2 +- drivers/irqchip/irq-sp7021-intc.c | 2 +- drivers/irqchip/irq-starfive-jh8100-intc.c | 2 +- drivers/irqchip/irq-stm32-exti.c | 2 +- drivers/irqchip/irq-stm32mp-exti.c | 2 +- drivers/irqchip/irq-sun4i.c | 2 +- drivers/irqchip/irq-sun6i-r.c | 2 +- drivers/irqchip/irq-sunxi-nmi.c | 2 +- drivers/irqchip/irq-tb10x.c | 2 +- drivers/irqchip/irq-tegra.c | 2 +- drivers/irqchip/irq-ti-sci-inta.c | 2 +- drivers/irqchip/irq-ti-sci-intr.c | 2 +- drivers/irqchip/irq-ts4800.c | 2 +- drivers/irqchip/irq-versatile-fpga.c | 2 +- drivers/irqchip/irq-vf610-mscm-ir.c | 2 +- drivers/irqchip/irq-vic.c | 2 +- drivers/irqchip/irq-vt8500.c | 2 +- drivers/irqchip/irq-wpcm450-aic.c | 2 +- drivers/irqchip/irq-xilinx-intc.c | 2 +- drivers/irqchip/irq-xtensa-mx.c | 4 +- drivers/irqchip/irq-xtensa-pic.c | 4 +- drivers/irqchip/irq-zevio.c | 2 +- drivers/irqchip/spear-shirq.c | 2 +- drivers/mailbox/qcom-ipcc.c | 2 +- drivers/memory/omap-gpmc.c | 2 +- drivers/mfd/88pm860x-core.c | 2 +- drivers/mfd/ab8500-core.c | 2 +- drivers/mfd/arizona-irq.c | 2 +- drivers/mfd/db8500-prcmu.c | 2 +- drivers/mfd/fsl-imx25-tsadc.c | 2 +- drivers/mfd/lp8788-irq.c | 2 +- drivers/mfd/max8925-core.c | 2 +- drivers/mfd/max8997-irq.c | 2 +- drivers/mfd/max8998-irq.c | 2 +- drivers/mfd/mt6358-irq.c | 2 +- drivers/mfd/mt6397-irq.c | 2 +- drivers/mfd/qcom-pm8xxx.c | 2 +- drivers/mfd/stmfx.c | 2 +- drivers/mfd/stmpe.c | 2 +- drivers/mfd/tc3589x.c | 2 +- drivers/mfd/tps65217.c | 2 +- drivers/mfd/tps6586x.c | 2 +- drivers/mfd/twl4030-irq.c | 2 +- drivers/mfd/twl6030-irq.c | 2 +- drivers/mfd/wm831x-irq.c | 4 +- drivers/mfd/wm8994-irq.c | 2 +- drivers/misc/hi6421v600-irq.c | 2 +- drivers/net/dsa/microchip/ksz_common.c | 2 +- drivers/net/dsa/microchip/ksz_ptp.c | 2 +- drivers/net/dsa/mt7530.c | 4 +- drivers/net/dsa/mv88e6xxx/chip.c | 2 +- drivers/net/dsa/mv88e6xxx/global2.c | 2 +- drivers/net/dsa/qca/ar9331.c | 2 +- drivers/net/dsa/realtek/rtl8365mb.c | 2 +- drivers/net/dsa/realtek/rtl8366rb.c | 2 +- .../net/ethernet/wangxun/txgbe/txgbe_irq.c | 2 +- drivers/net/usb/lan78xx.c | 2 +- drivers/pci/controller/dwc/pci-dra7xx.c | 2 +- drivers/pci/controller/dwc/pci-keystone.c | 2 +- drivers/pci/controller/dwc/pcie-dw-rockchip.c | 2 +- drivers/pci/controller/dwc/pcie-uniphier.c | 2 +- .../controller/mobiveil/pcie-mobiveil-host.c | 4 +- drivers/pci/controller/pci-aardvark.c | 6 +- drivers/pci/controller/pci-ftpci100.c | 2 +- drivers/pci/controller/pci-mvebu.c | 2 +- drivers/pci/controller/pci-xgene-msi.c | 2 +- drivers/pci/controller/pcie-altera-msi.c | 2 +- drivers/pci/controller/pcie-altera.c | 2 +- drivers/pci/controller/pcie-brcmstb.c | 2 +- drivers/pci/controller/pcie-iproc-msi.c | 2 +- drivers/pci/controller/pcie-mediatek-gen3.c | 4 +- drivers/pci/controller/pcie-mediatek.c | 2 +- drivers/pci/controller/pcie-rockchip-host.c | 2 +- drivers/pci/controller/pcie-xilinx-cpm.c | 4 +- drivers/pci/controller/pcie-xilinx-dma-pl.c | 6 +- drivers/pci/controller/pcie-xilinx-nwl.c | 4 +- drivers/pci/controller/pcie-xilinx.c | 2 +- drivers/pci/controller/plda/pcie-plda-host.c | 6 +- drivers/pinctrl/mediatek/mtk-eint.c | 2 +- drivers/pinctrl/pinctrl-at91-pio4.c | 2 +- drivers/pinctrl/pinctrl-single.c | 4 +- drivers/pinctrl/sunxi/pinctrl-sunxi.c | 2 +- drivers/platform/x86/asus-tf103c-dock.c | 2 +- drivers/sh/intc/irqdomain.c | 4 +- drivers/soc/dove/pmu.c | 2 +- drivers/soc/fsl/qe/qe_ic.c | 2 +- drivers/soc/qcom/smp2p.c | 2 +- drivers/soc/qcom/smsm.c | 2 +- drivers/soc/tegra/pmc.c | 2 +- drivers/spmi/spmi-pmic-arb.c | 2 +- drivers/ssb/driver_gpio.c | 4 +- drivers/thermal/qcom/lmh.c | 2 +- drivers/thermal/tegra/soctherm.c | 2 +- include/linux/gpio/driver.h | 2 +- include/linux/irqdomain.h | 16 ++--- sound/soc/codecs/wcd937x.c | 2 +- sound/soc/codecs/wcd938x.c | 2 +- sound/soc/codecs/wcd939x.c | 2 +- 235 files changed, 316 insertions(+), 310 deletions(-) diff --git a/Documentation/core-api/irq/irq-domain.rst b/Documentation/core= -api/irq/irq-domain.rst index f88a6ee67a35..9a80112360d8 100644 --- a/Documentation/core-api/irq/irq-domain.rst +++ b/Documentation/core-api/irq/irq-domain.rst @@ -42,10 +42,11 @@ irq_domain usage =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 An interrupt controller driver creates and registers an irq_domain by -calling one of the irq_domain_add_*() or irq_domain_create_*() functions -(each mapping method has a different allocator function, more on that late= r). -The function will return a pointer to the irq_domain on success. The caller -must provide the allocator function with an irq_domain_ops structure. +calling one of the irq_domain_add_*_of_node() or irq_domain_create_*() +functions (each mapping method has a different allocator function, +more on that later). The function will return a pointer to the +irq_domain on success. The caller must provide the allocator function +with an irq_domain_ops structure. =20 In most cases, the irq_domain will begin empty without any mappings between hwirq and IRQ numbers. Mappings are added to the irq_domain @@ -92,7 +93,7 @@ Linear =20 :: =20 - irq_domain_add_linear() + irq_domain_add_linear_of_node() irq_domain_create_linear() =20 The linear reverse map maintains a fixed size table indexed by the @@ -105,10 +106,11 @@ map are fixed time lookup for IRQ numbers, and irq_de= scs are only allocated for in-use IRQs. The disadvantage is that the table must be as large as the largest possible hwirq number. =20 -irq_domain_add_linear() and irq_domain_create_linear() are functionally -equivalent, except for the first argument is different - the former -accepts an Open Firmware specific 'struct device_node', while the latter -accepts a more general abstraction 'struct fwnode_handle'. +irq_domain_add_linear_of_node() and irq_domain_create_linear() are +functionally equivalent, except for the first argument is different - +the former accepts an Open Firmware specific 'struct device_node', +while the latter accepts a more general abstraction 'struct +fwnode_handle'. =20 The majority of drivers should use the linear map. =20 @@ -117,7 +119,7 @@ Tree =20 :: =20 - irq_domain_add_tree() + irq_domain_add_tree_of_node() irq_domain_create_tree() =20 The irq_domain maintains a radix tree map from hwirq numbers to Linux @@ -129,10 +131,11 @@ since it doesn't need to allocate a table as large as= the largest hwirq number. The disadvantage is that hwirq to IRQ number lookup is dependent on how many entries are in the table. =20 -irq_domain_add_tree() and irq_domain_create_tree() are functionally -equivalent, except for the first argument is different - the former -accepts an Open Firmware specific 'struct device_node', while the latter -accepts a more general abstraction 'struct fwnode_handle'. +irq_domain_add_tree_of_node() and irq_domain_create_tree() are +functionally equivalent, except for the first argument is different - +the former accepts an Open Firmware specific 'struct device_node', +while the latter accepts a more general abstraction 'struct +fwnode_handle'. =20 Very few drivers should need this mapping. =20 @@ -141,7 +144,7 @@ No Map =20 :: =20 - irq_domain_add_nomap() + irq_domain_add_nomap_of_node() =20 The No Map mapping is to be used when the hwirq number is programmable in the hardware. In this case it is best to program the @@ -159,8 +162,8 @@ Legacy =20 :: =20 - irq_domain_add_simple() - irq_domain_add_legacy() + irq_domain_add_simple_of_node() + irq_domain_add_legacy_of_node() irq_domain_create_simple() irq_domain_create_legacy() =20 @@ -189,13 +192,15 @@ supported. For example, ISA controllers would use th= e legacy map for mapping Linux IRQs 0-15 so that existing ISA drivers get the correct IRQ numbers. =20 -Most users of legacy mappings should use irq_domain_add_simple() or -irq_domain_create_simple() which will use a legacy domain only if an IRQ r= ange -is supplied by the system and will otherwise use a linear domain mapping. -The semantics of this call are such that if an IRQ range is specified then +Most users of legacy mappings should use +irq_domain_add_simple_of_node() or irq_domain_create_simple() which +will use a legacy domain only if an IRQ range is supplied by the +system and will otherwise use a linear domain mapping. The semantics +of this call are such that if an IRQ range is specified then descriptors will be allocated on-the-fly for it, and if no range is -specified it will fall through to irq_domain_add_linear() or -irq_domain_create_linear() which means *no* irq descriptors will be alloca= ted. +specified it will fall through to irq_domain_add_linear_of_node() or +irq_domain_create_linear() which means *no* irq descriptors will be +allocated. =20 A typical use case for simple domains is where an irqchip provider is supporting both dynamic and static IRQ assignments. @@ -206,11 +211,12 @@ that the driver using the simple domain call irq_crea= te_mapping() before any irq_find_mapping() since the latter will actually work for the static IRQ assignment case. =20 -irq_domain_add_simple() and irq_domain_create_simple() as well as -irq_domain_add_legacy() and irq_domain_create_legacy() are functionally -equivalent, except for the first argument is different - the former -accepts an Open Firmware specific 'struct device_node', while the latter -accepts a more general abstraction 'struct fwnode_handle'. +irq_domain_add_simple_of_node() and irq_domain_create_simple() as well +as irq_domain_add_legacy_of_node() and irq_domain_create_legacy() are +functionally equivalent, except for the first argument is different - +the former accepts an Open Firmware specific 'struct device_node', +while the latter accepts a more general abstraction 'struct +fwnode_handle'. =20 Hierarchy IRQ domain -------------------- diff --git a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst b= /Documentation/translations/zh_CN/core-api/irq/irq-domain.rst index 9174fce12c1b..3fcd5b8d508d 100644 --- a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst +++ b/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst @@ -43,7 +43,7 @@ irq_domain=E7=9A=84=E7=94=A8=E6=B3=95 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 =E4=B8=AD=E6=96=AD=E6=8E=A7=E5=88=B6=E5=99=A8=E9=A9=B1=E5=8A=A8=E7=A8=8B= =E5=BA=8F=E9=80=9A=E8=BF=87=E4=BB=A5=E4=B8=8B=E6=96=B9=E5=BC=8F=E5=88=9B=E5= =BB=BA=E5=B9=B6=E6=B3=A8=E5=86=8C=E4=B8=80=E4=B8=AAirq_domain=E3=80=82=E8= =B0=83=E7=94=A8 -irq_domain_add_*() =E6=88=96 irq_domain_create_*()=E5=87=BD=E6=95=B0=E4=B9= =8B=E4=B8=80=EF=BC=88=E6=AF=8F=E4=B8=AA=E6=98=A0=E5=B0=84=E6=96=B9=E6=B3=95= =E9=83=BD=E6=9C=89=E4=B8=8D +irq_domain_add_*_of_node() =E6=88=96 irq_domain_create_*()=E5=87=BD=E6=95= =B0=E4=B9=8B=E4=B8=80=EF=BC=88=E6=AF=8F=E4=B8=AA=E6=98=A0=E5=B0=84=E6=96=B9= =E6=B3=95=E9=83=BD=E6=9C=89=E4=B8=8D =E5=90=8C=E7=9A=84=E5=88=86=E9=85=8D=E5=99=A8=E5=87=BD=E6=95=B0=EF=BC=8C= =E5=90=8E=E9=9D=A2=E4=BC=9A=E8=AF=A6=E7=BB=86=E4=BB=8B=E7=BB=8D=EF=BC=89=E3= =80=82 =E5=87=BD=E6=95=B0=E6=88=90=E5=8A=9F=E5=90=8E=E4=BC=9A=E8=BF=94=E5= =9B=9E=E4=B8=80=E4=B8=AA=E6=8C=87=E5=90=91irq_domain=E7=9A=84=E6=8C=87=E9= =92=88=E3=80=82 =E8=B0=83=E7=94=A8=E8=80=85=E5=BF=85=E9=A1=BB=E5=90=91=E5=88=86=E9=85=8D= =E5=99=A8=E5=87=BD=E6=95=B0=E6=8F=90=E4=BE=9B=E4=B8=80=E4=B8=AAirq_domain_o= ps=E7=BB=93=E6=9E=84=E4=BD=93=E3=80=82 =20 @@ -83,7 +83,7 @@ irq_domain=E6=98=A0=E5=B0=84=E7=9A=84=E7=B1=BB=E5=9E=8B =20 :: =20 - irq_domain_add_linear() + irq_domain_add_linear_of_node() irq_domain_create_linear() =20 =E7=BA=BF=E6=80=A7=E5=8F=8D=E5=90=91=E6=98=A0=E5=B0=84=E7=BB=B4=E6=8A=A4= =E4=BA=86=E4=B8=80=E4=B8=AA=E5=9B=BA=E5=AE=9A=E5=A4=A7=E5=B0=8F=E7=9A=84=E8= =A1=A8=EF=BC=8C=E8=AF=A5=E8=A1=A8=E4=BB=A5hwirq=E5=8F=B7=E4=B8=BA=E7=B4=A2= =E5=BC=95=E3=80=82 =E5=BD=93=E4=B8=80=E4=B8=AAhwirq=E8=A2=AB=E6=98=A0=E5=B0= =84 @@ -93,7 +93,7 @@ irq_domain=E6=98=A0=E5=B0=84=E7=9A=84=E7=B1=BB=E5=9E=8B =E6=98=A0=E5=B0=84=E7=9A=84=E4=BC=98=E7=82=B9=E6=98=AF=E5=9B=BA=E5=AE=9A= =E6=97=B6=E9=97=B4=E6=9F=A5=E6=89=BEIRQ=E5=8F=B7=EF=BC=8C=E8=80=8C=E4=B8=94= irq_descs=E5=8F=AA=E5=88=86=E9=85=8D=E7=BB=99=E5=9C=A8=E7=94=A8=E7=9A=84IRQ= =E3=80=82 =E7=BC=BA=E7=82=B9=E6=98=AF=E8=AF=A5=E8=A1=A8 =E5=BF=85=E9=A1=BB=E5=B0=BD=E5=8F=AF=E8=83=BD=E5=A4=A7=E7=9A=84hwirq=E5=8F= =B7=E3=80=82 =20 -irq_domain_add_linear()=E5=92=8Cirq_domain_create_linear()=E5=9C=A8=E5=8A= =9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C +irq_domain_add_linear_of_node()=E5=92=8Cirq_domain_create_linear()=E5=9C= =A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C =E9=99=A4=E4=BA=86=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=8F=82=E6=95=B0=E4=B8=8D= =E5=90=8C--=E5=89=8D=E8=80=85=E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AAOpen Firmw= are=E7=89=B9=E5=AE=9A=E7=9A=84 'struct device_node' =E8=80=8C =E5=90=8E=E8=80=85=E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AA=E6=9B=B4=E9=80=9A= =E7=94=A8=E7=9A=84=E6=8A=BD=E8=B1=A1 'struct fwnode_handle' =E3=80=82 =20 @@ -104,7 +104,7 @@ irq_domain_add_linear()=E5=92=8Cirq_domain_create_linea= r()=E5=9C=A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84= =EF=BC=8C =20 :: =20 - irq_domain_add_tree() + irq_domain_add_tree_of_node() irq_domain_create_tree() =20 irq_domain=E7=BB=B4=E6=8A=A4=E7=9D=80=E4=BB=8Ehwirq=E5=8F=B7=E5=88=B0Linux= IRQ=E7=9A=84radix=E7=9A=84=E6=A0=91=E7=8A=B6=E6=98=A0=E5=B0=84=E3=80=82 = =E5=BD=93=E4=B8=80=E4=B8=AAhwirq=E8=A2=AB=E6=98=A0=E5=B0=84=E6=97=B6=EF=BC= =8C @@ -113,7 +113,7 @@ irq_domain=E7=BB=B4=E6=8A=A4=E7=9D=80=E4=BB=8Ehwirq=E5= =8F=B7=E5=88=B0Linux IRQ=E7=9A=84radix=E7=9A=84=E6=A0=91=E7=8A=B6=E6=98=A0= =E5=B0=84=E3=80=82 =E5=BD=93=E4=B8=80=E4=B8=AAhw =E5=A6=82=E6=9E=9Chwirq=E5=8F=B7=E5=8F=AF=E4=BB=A5=E9=9D=9E=E5=B8=B8=E5=A4= =A7=EF=BC=8C=E6=A0=91=E7=8A=B6=E6=98=A0=E5=B0=84=E6=98=AF=E4=B8=80=E4=B8=AA= =E5=BE=88=E5=A5=BD=E7=9A=84=E9=80=89=E6=8B=A9=EF=BC=8C=E5=9B=A0=E4=B8=BA=E5= =AE=83=E4=B8=8D=E9=9C=80=E8=A6=81=E5=88=86=E9=85=8D=E4=B8=80=E4=B8=AA=E5=92= =8C=E6=9C=80=E5=A4=A7hwirq =E5=8F=B7=E4=B8=80=E6=A0=B7=E5=A4=A7=E7=9A=84=E8=A1=A8=E3=80=82 =E7=BC=BA= =E7=82=B9=E6=98=AF=EF=BC=8Chwirq=E5=88=B0IRQ=E5=8F=B7=E7=9A=84=E6=9F=A5=E6= =89=BE=E5=8F=96=E5=86=B3=E4=BA=8E=E8=A1=A8=E4=B8=AD=E6=9C=89=E5=A4=9A=E5=B0= =91=E6=9D=A1=E7=9B=AE=E3=80=82 =20 -irq_domain_add_tree()=E5=92=8Cirq_domain_create_tree()=E5=9C=A8=E5=8A=9F= =E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C=E9=99=A4=E4= =BA=86=E7=AC=AC=E4=B8=80 +irq_domain_add_tree_of_node()=E5=92=8Cirq_domain_create_tree()=E5=9C=A8=E5= =8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C=E9=99= =A4=E4=BA=86=E7=AC=AC=E4=B8=80 =E4=B8=AA=E5=8F=82=E6=95=B0=E4=B8=8D=E5=90=8C=E2=80=94=E2=80=94=E5=89=8D= =E8=80=85=E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AAOpen Firmware=E7=89=B9=E5=AE= =9A=E7=9A=84 'struct device_node' =EF=BC=8C=E8=80=8C=E5=90=8E=E8=80=85=E6= =8E=A5=E5=8F=97 =E4=B8=80=E4=B8=AA=E6=9B=B4=E9=80=9A=E7=94=A8=E7=9A=84=E6=8A=BD=E8=B1=A1 '= struct fwnode_handle' =E3=80=82 =20 @@ -124,7 +124,7 @@ irq_domain_add_tree()=E5=92=8Cirq_domain_create_tree()= =E5=9C=A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF= =BC=8C=E9=99=A4 =20 :: =20 - irq_domain_add_nomap() + irq_domain_add_nomap_of_node() =20 =E5=BD=93=E7=A1=AC=E4=BB=B6=E4=B8=AD=E7=9A=84hwirq=E5=8F=B7=E6=98=AF=E5=8F= =AF=E7=BC=96=E7=A8=8B=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E5=B0=B1=E5=8F=AF= =E4=BB=A5=E9=87=87=E7=94=A8=E6=97=A0=E6=98=A0=E5=B0=84=E7=B1=BB=E5=9E=8B=E3= =80=82 =E5=9C=A8=E8=BF=99=E7=A7=8D=E6=83=85=E5=86=B5=E4=B8=8B=EF=BC=8C=E6= =9C=80=E5=A5=BD=E5=B0=86 Linux IRQ=E5=8F=B7=E7=BC=96=E5=85=A5=E7=A1=AC=E4=BB=B6=E6=9C=AC=E8=BA=AB= =EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=B8=8D=E9=9C=80=E8=A6=81=E6=98=A0=E5= =B0=84=E4=BA=86=E3=80=82 =E8=B0=83=E7=94=A8irq_create_direct_mapping() @@ -138,8 +138,8 @@ Linux IRQ=E5=8F=B7=E7=BC=96=E5=85=A5=E7=A1=AC=E4=BB=B6= =E6=9C=AC=E8=BA=AB=EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=B8=8D=E9=9C=80=E8= =A6=81=E6=98=A0=E5=B0=84=E4=BA=86=E3=80=82 =E8=B0=83=E7=94=A8irq_create =20 :: =20 - irq_domain_add_simple() - irq_domain_add_legacy() + irq_domain_add_simple_of_node() + irq_domain_add_legacy_of_node() irq_domain_create_simple() irq_domain_create_legacy() =20 @@ -158,10 +158,10 @@ Linux IRQ=E5=8F=B7=E7=BC=96=E5=85=A5=E7=A1=AC=E4=BB= =B6=E6=9C=AC=E8=BA=AB=EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=B8=8D=E9=9C=80= =E8=A6=81=E6=98=A0=E5=B0=84=E4=BA=86=E3=80=82 =E8=B0=83=E7=94=A8irq_create =E5=8F=AA=E6=9C=89=E5=9C=A8=E5=BF=85=E9=A1=BB=E6=94=AF=E6=8C=81=E5=9B=BA= =E5=AE=9A=E7=9A=84IRQ=E6=98=A0=E5=B0=84=E6=97=B6=EF=BC=8C=E6=89=8D=E5=BA=94= =E4=BD=BF=E7=94=A8=E4=BC=A0=E7=BB=9F=E6=98=A0=E5=B0=84=E3=80=82 =E4=BE=8B= =E5=A6=82=EF=BC=8CISA=E6=8E=A7=E5=88=B6=E5=99=A8=E5=B0=86=E4=BD=BF=E7=94=A8= =E4=BC=A0=E7=BB=9F=E6=98=A0=E5=B0=84=E6=9D=A5 =E6=98=A0=E5=B0=84Linux IRQ 0-15=EF=BC=8C=E8=BF=99=E6=A0=B7=E7=8E=B0=E6=9C= =89=E7=9A=84ISA=E9=A9=B1=E5=8A=A8=E7=A8=8B=E5=BA=8F=E5=B0=B1=E8=83=BD=E5=BE= =97=E5=88=B0=E6=AD=A3=E7=A1=AE=E7=9A=84IRQ=E5=8F=B7=E3=80=82 =20 -=E5=A4=A7=E5=A4=9A=E6=95=B0=E4=BD=BF=E7=94=A8=E4=BC=A0=E7=BB=9F=E6=98=A0= =E5=B0=84=E7=9A=84=E7=94=A8=E6=88=B7=E5=BA=94=E8=AF=A5=E4=BD=BF=E7=94=A8irq= _domain_add_simple()=E6=88=96 +=E5=A4=A7=E5=A4=9A=E6=95=B0=E4=BD=BF=E7=94=A8=E4=BC=A0=E7=BB=9F=E6=98=A0= =E5=B0=84=E7=9A=84=E7=94=A8=E6=88=B7=E5=BA=94=E8=AF=A5=E4=BD=BF=E7=94=A8irq= _domain_add_simple_of_node()=E6=88=96 irq_domain_create_simple()=EF=BC=8C=E5=8F=AA=E6=9C=89=E5=9C=A8=E7=B3=BB=E7= =BB=9F=E6=8F=90=E4=BE=9BIRQ=E8=8C=83=E5=9B=B4=E6=97=B6=E6=89=8D=E4=BC=9A=E4= =BD=BF=E7=94=A8=E4=BC=A0=E7=BB=9F=E5=9F=9F=EF=BC=8C=E5=90=A6=E5=88=99=E5=B0= =86=E4=BD=BF=E7=94=A8 =E7=BA=BF=E6=80=A7=E5=9F=9F=E6=98=A0=E5=B0=84=E3=80=82=E8=BF=99=E4=B8=AA= =E8=B0=83=E7=94=A8=E7=9A=84=E8=AF=AD=E4=B9=89=E6=98=AF=E8=BF=99=E6=A0=B7=E7= =9A=84=EF=BC=9A=E5=A6=82=E6=9E=9C=E6=8C=87=E5=AE=9A=E4=BA=86=E4=B8=80=E4=B8= =AAIRQ=E8=8C=83=E5=9B=B4=EF=BC=8C=E9=82=A3=E4=B9=88 =E6=8F=8F=E8=BF=B0=E7= =AC=A6=E5=B0=86=E8=A2=AB=E5=8D=B3=E6=97=B6=E5=88=86=E9=85=8D -=E7=BB=99=E5=AE=83=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89=E8=8C=83= =E5=9B=B4=E8=A2=AB=E5=88=86=E9=85=8D=EF=BC=8C=E5=AE=83=E5=B0=86=E4=B8=8D=E4= =BC=9A=E6=89=A7=E8=A1=8C irq_domain_add_linear() =E6=88=96 +=E7=BB=99=E5=AE=83=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89=E8=8C=83= =E5=9B=B4=E8=A2=AB=E5=88=86=E9=85=8D=EF=BC=8C=E5=AE=83=E5=B0=86=E4=B8=8D=E4= =BC=9A=E6=89=A7=E8=A1=8C irq_domain_add_linear_of_node() =E6=88=96 irq_domain_create_linear()=EF=BC=8C=E8=BF=99=E6=84=8F=E5=91=B3=E7=9D=80 *n= o* irq =E6=8F=8F=E8=BF=B0=E7=AC=A6=E5=B0=86=E8=A2=AB=E5=88=86=E9=85=8D=E3= =80=82 =20 =E4=B8=80=E4=B8=AA=E7=AE=80=E5=8D=95=E5=9F=9F=E7=9A=84=E5=85=B8=E5=9E=8B= =E7=94=A8=E4=BE=8B=E6=98=AF=EF=BC=8Cirqchip=E4=BE=9B=E5=BA=94=E5=95=86=E5= =90=8C=E6=97=B6=E6=94=AF=E6=8C=81=E5=8A=A8=E6=80=81=E5=92=8C=E9=9D=99=E6=80= =81IRQ=E5=88=86=E9=85=8D=E3=80=82 @@ -170,8 +170,8 @@ irq_domain_create_linear()=EF=BC=8C=E8=BF=99=E6=84=8F= =E5=91=B3=E7=9D=80 *no* irq =E6=8F=8F=E8=BF=B0=E7=AC=A6=E5=B0=86=E8=A2=AB= =E5=88=86=E9=85=8D=E3=80=82 irq_find_mapping()=E4=B9=8B=E5=89=8D=E8=B0=83=E7=94=A8irq_create_mapping()= =E6=98=AF=E9=9D=9E=E5=B8=B8=E9=87=8D=E8=A6=81=E7=9A=84=EF=BC=8C=E5=9B=A0=E4= =B8=BA=E5=90=8E=E8=80=85=E5=AE=9E=E9=99=85=E4=B8=8A =E5=B0=86=E7=94=A8=E4=BA=8E=E9=9D=99=E6=80=81IRQ=E5=88=86=E9=85=8D=E6=83= =85=E5=86=B5=E3=80=82 =20 -irq_domain_add_simple()=E5=92=8Cirq_domain_create_simple()=E4=BB=A5=E5=8F= =8A -irq_domain_add_legacy()=E5=92=8Cirq_domain_create_legacy()=E5=9C=A8=E5=8A= =9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C=E5=8F=AA +irq_domain_add_simple_of_node()=E5=92=8Cirq_domain_create_simple()=E4=BB= =A5=E5=8F=8A +irq_domain_add_legacy_of_node()=E5=92=8Cirq_domain_create_legacy()=E5=9C= =A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C= =E5=8F=AA =E6=98=AF=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=8F=82=E6=95=B0=E4=B8=8D=E5=90=8C--= =E5=89=8D=E8=80=85=E6=8E=A5=E5=8F=97Open Firmware=E7=89=B9=E5=AE=9A=E7=9A= =84 'struct device_node' =EF=BC=8C=E8=80=8C=E5=90=8E=E8=80=85 =E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AA=E6=9B=B4=E9=80=9A=E7=94=A8=E7=9A=84= =E6=8A=BD=E8=B1=A1 'struct fwnode_handle' =E3=80=82 =20 diff --git a/arch/arc/kernel/intc-arcv2.c b/arch/arc/kernel/intc-arcv2.c index fea29d9d18d6..65320bd17ab9 100644 --- a/arch/arc/kernel/intc-arcv2.c +++ b/arch/arc/kernel/intc-arcv2.c @@ -170,7 +170,7 @@ init_onchip_IRQ(struct device_node *intc, struct device= _node *parent) if (parent) panic("DeviceTree incore intc not a root irq controller\n"); =20 - root_domain =3D irq_domain_add_linear(intc, nr_cpu_irqs, &arcv2_irq_ops, = NULL); + root_domain =3D irq_domain_add_linear_of_node(intc, nr_cpu_irqs, &arcv2_i= rq_ops, NULL); if (!root_domain) panic("root irq domain not avail\n"); =20 diff --git a/arch/arc/kernel/intc-compact.c b/arch/arc/kernel/intc-compact.c index 1d2ff1c6a61b..16f4d4fc5e58 100644 --- a/arch/arc/kernel/intc-compact.c +++ b/arch/arc/kernel/intc-compact.c @@ -112,7 +112,7 @@ init_onchip_IRQ(struct device_node *intc, struct device= _node *parent) if (parent) panic("DeviceTree incore intc not a root irq controller\n"); =20 - root_domain =3D irq_domain_add_linear(intc, NR_CPU_IRQS, + root_domain =3D irq_domain_add_linear_of_node(intc, NR_CPU_IRQS, &arc_intc_domain_ops, NULL); if (!root_domain) panic("root irq domain not avail\n"); diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c index 55373ca0d28b..868646f57bd7 100644 --- a/arch/arc/kernel/mcip.c +++ b/arch/arc/kernel/mcip.c @@ -393,7 +393,7 @@ idu_of_init(struct device_node *intc, struct device_nod= e *parent) =20 pr_info("MCIP: IDU supports %u common irqs\n", nr_irqs); =20 - domain =3D irq_domain_add_linear(intc, nr_irqs, &idu_irq_ops, NULL); + domain =3D irq_domain_add_linear_of_node(intc, nr_irqs, &idu_irq_ops, NUL= L); =20 /* Parent interrupts (core-intc) are already mapped */ =20 diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 9846f30990f7..d9cb30417d29 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c @@ -416,7 +416,7 @@ 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, + sachip->irqdomain =3D irq_domain_add_linear_of_node(NULL, SA1111_IRQ_NR, &sa1111_irqdomain_ops, sachip); if (!sachip->irqdomain) { diff --git a/arch/arm/mach-exynos/suspend.c b/arch/arm/mach-exynos/suspend.c index cac4e82f6c82..d28562c1735f 100644 --- a/arch/arm/mach-exynos/suspend.c +++ b/arch/arm/mach-exynos/suspend.c @@ -209,7 +209,7 @@ 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, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, 0, node, &exynos_pmu_domain_ops, NULL); if (!domain) { diff --git a/arch/arm/mach-imx/avic.c b/arch/arm/mach-imx/avic.c index cf6546ddc7a3..426f494e638d 100644 --- a/arch/arm/mach-imx/avic.c +++ b/arch/arm/mach-imx/avic.c @@ -201,7 +201,7 @@ 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, + domain =3D irq_domain_add_legacy_of_node(np, AVIC_NUM_IRQS, irq_base, 0, &irq_domain_simple_ops, NULL); WARN_ON(!domain); =20 diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c index 5909088d5482..76a8605aa6f5 100644 --- a/arch/arm/mach-imx/gpc.c +++ b/arch/arm/mach-imx/gpc.c @@ -245,7 +245,7 @@ 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, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, GPC_MAX_IRQ= S, node, &imx_gpc_domain_ops, NULL); if (!domain) { diff --git a/arch/arm/mach-imx/tzic.c b/arch/arm/mach-imx/tzic.c index 8b3d98d288d9..3e501d6e1d65 100644 --- a/arch/arm/mach-imx/tzic.c +++ b/arch/arm/mach-imx/tzic.c @@ -175,7 +175,7 @@ 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, + domain =3D irq_domain_add_legacy_of_node(np, TZIC_NUM_IRQS, irq_base, 0, &irq_domain_simple_ops, NULL); WARN_ON(!domain); =20 diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c index 9b587ecebb1c..9dd8b66fdc7a 100644 --- a/arch/arm/mach-omap1/irq.c +++ b/arch/arm/mach-omap1/irq.c @@ -220,7 +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, + domain =3D irq_domain_add_legacy_of_node(NULL, nr_irqs, irq_base, 0, &irq_domain_simple_ops, NULL); =20 pr_info("Total of %lu interrupts in %i interrupt banks\n", diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/oma= p-wakeupgen.c index 6f0d6120c174..e97cbada330c 100644 --- a/arch/arm/mach-omap2/omap-wakeupgen.c +++ b/arch/arm/mach-omap2/omap-wakeupgen.c @@ -585,7 +585,7 @@ 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, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, max_irqs, node, &wakeupgen_domain_ops, NULL); if (!domain) { diff --git a/arch/arm/mach-pxa/irq.c b/arch/arm/mach-pxa/irq.c index d9cadd97748a..049b06b4adfa 100644 --- a/arch/arm/mach-pxa/irq.c +++ b/arch/arm/mach-pxa/irq.c @@ -147,7 +147,7 @@ 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_domain =3D irq_domain_add_legacy_of_node(node, irq_nr, PXA_IRQ(0), 0, &pxa_irq_ops, NULL); if (!pxa_irq_domain) diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c index 595e9cb33c1d..4be49518f82f 100644 --- a/arch/arm/plat-orion/gpio.c +++ b/arch/arm/plat-orion/gpio.c @@ -602,7 +602,7 @@ 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->domain =3D irq_domain_add_legacy_of_node(NULL, ochip->chip.ngpio, ochip->secondary_irq_base, ochip->secondary_irq_base, diff --git a/arch/mips/ath25/ar2315.c b/arch/mips/ath25/ar2315.c index 8ccf167c167e..ff00eebeac99 100644 --- a/arch/mips/ath25/ar2315.c +++ b/arch/mips/ath25/ar2315.c @@ -149,7 +149,7 @@ void __init ar2315_arch_init_irq(void) =20 ath25_irq_dispatch =3D ar2315_irq_dispatch; =20 - domain =3D irq_domain_add_linear(NULL, AR2315_MISC_IRQ_COUNT, + domain =3D irq_domain_add_linear_of_node(NULL, AR2315_MISC_IRQ_COUNT, &ar2315_misc_irq_domain_ops, NULL); if (!domain) panic("Failed to add IRQ domain"); diff --git a/arch/mips/ath25/ar5312.c b/arch/mips/ath25/ar5312.c index cfa103518113..bca985273138 100644 --- a/arch/mips/ath25/ar5312.c +++ b/arch/mips/ath25/ar5312.c @@ -143,7 +143,7 @@ void __init ar5312_arch_init_irq(void) =20 ath25_irq_dispatch =3D ar5312_irq_dispatch; =20 - domain =3D irq_domain_add_linear(NULL, AR5312_MISC_IRQ_COUNT, + domain =3D irq_domain_add_linear_of_node(NULL, AR5312_MISC_IRQ_COUNT, &ar5312_misc_irq_domain_ops, NULL); if (!domain) panic("Failed to add IRQ domain"); diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon= /octeon-irq.c index e6b4d9c0c169..6dc2f2817157 100644 --- a/arch/mips/cavium-octeon/octeon-irq.c +++ b/arch/mips/cavium-octeon/octeon-irq.c @@ -1503,7 +1503,7 @@ static int __init octeon_irq_init_ciu( /* Mips internal */ octeon_irq_init_core(); =20 - ciu_domain =3D irq_domain_add_tree( + ciu_domain =3D irq_domain_add_tree_of_node( ciu_node, &octeon_irq_domain_ciu_ops, dd); irq_set_default_domain(ciu_domain); =20 @@ -1637,7 +1637,7 @@ static int __init octeon_irq_init_gpio( if (gpiod) { /* gpio domain host_data is the base hwirq number. */ gpiod->base_hwirq =3D base_hwirq; - irq_domain_add_linear( + irq_domain_add_linear_of_node( gpio_node, 16, &octeon_irq_domain_gpio_ops, gpiod); } else { pr_warn("Cannot allocate memory for GPIO irq_domain.\n"); @@ -2074,7 +2074,7 @@ static int __init octeon_irq_init_ciu2( /* Mips internal */ octeon_irq_init_core(); =20 - ciu_domain =3D irq_domain_add_tree( + ciu_domain =3D irq_domain_add_tree_of_node( ciu_node, &octeon_irq_domain_ciu2_ops, NULL); irq_set_default_domain(ciu_domain); =20 @@ -2331,11 +2331,11 @@ static int __init octeon_irq_init_cib(struct device= _node *ciu_node, } host_data->max_bits =3D val; =20 - cib_domain =3D irq_domain_add_linear(ciu_node, host_data->max_bits, + cib_domain =3D irq_domain_add_linear_of_node(ciu_node, host_data->max_bit= s, &octeon_irq_domain_cib_ops, host_data); if (!cib_domain) { - pr_err("ERROR: Couldn't irq_domain_add_linear()\n"); + pr_err("ERROR: Couldn't irq_domain_add_linear_of_node()\n"); return -ENOMEM; } =20 @@ -2918,7 +2918,7 @@ static int __init octeon_irq_init_ciu3(struct device_= node *ciu_node, * Initialize all domains to use the default domain. Specific major * blocks will overwrite the default domain as needed. */ - domain =3D irq_domain_add_tree(ciu_node, &octeon_dflt_domain_ciu3_ops, + domain =3D irq_domain_add_tree_of_node(ciu_node, &octeon_dflt_domain_ciu3= _ops, ciu3_info); for (i =3D 0; i < MAX_CIU3_DOMAINS; i++) ciu3_info->domain[i] =3D domain; diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c index 8f208007b8e8..3004f3d4c676 100644 --- a/arch/mips/lantiq/irq.c +++ b/arch/mips/lantiq/irq.c @@ -377,7 +377,7 @@ int __init icu_of_init(struct device_node *node, struct= device_node *parent) for (i =3D 0; i < MAX_IM; i++) irq_set_chained_handler(i + 2, ltq_hw_irq_handler); =20 - ltq_domain =3D irq_domain_add_linear(node, + ltq_domain =3D irq_domain_add_linear_of_node(node, (MAX_IM * INT_NUM_IM_OFFSET) + MIPS_CPU_IRQ_CASCADE, &irq_domain_ops, 0); =20 diff --git a/arch/mips/pci/pci-ar2315.c b/arch/mips/pci/pci-ar2315.c index a925842ee125..9479d00d4d96 100644 --- a/arch/mips/pci/pci-ar2315.c +++ b/arch/mips/pci/pci-ar2315.c @@ -469,7 +469,7 @@ static int ar2315_pci_probe(struct platform_device *pde= v) if (err) return err; =20 - apc->domain =3D irq_domain_add_linear(NULL, AR2315_PCI_IRQ_COUNT, + apc->domain =3D irq_domain_add_linear_of_node(NULL, AR2315_PCI_IRQ_COUNT, &ar2315_pci_irq_domain_ops, apc); if (!apc->domain) { dev_err(dev, "failed to add IRQ domain\n"); diff --git a/arch/mips/pci/pci-rt3883.c b/arch/mips/pci/pci-rt3883.c index 4ac68a534e4f..d56cf8053e32 100644 --- a/arch/mips/pci/pci-rt3883.c +++ b/arch/mips/pci/pci-rt3883.c @@ -208,7 +208,7 @@ static int rt3883_pci_irq_init(struct device *dev, rt3883_pci_w32(rpc, 0, RT3883_PCI_REG_PCIENA); =20 rpc->irq_domain =3D - irq_domain_add_linear(rpc->intc_of_node, RT3883_PCI_IRQ_COUNT, + irq_domain_add_linear_of_node(rpc->intc_of_node, RT3883_PCI_IRQ_COUNT, &rt3883_pci_irq_domain_ops, rpc); if (!rpc->irq_domain) { diff --git a/arch/mips/ralink/irq.c b/arch/mips/ralink/irq.c index 46aef0a1b22a..dd06100d6125 100644 --- a/arch/mips/ralink/irq.c +++ b/arch/mips/ralink/irq.c @@ -176,7 +176,7 @@ static int __init intc_of_init(struct device_node *node, /* route all INTC interrupts to MIPS HW0 interrupt */ rt_intc_w32(0, INTC_REG_TYPE); =20 - domain =3D irq_domain_add_legacy(node, RALINK_INTC_IRQ_COUNT, + domain =3D irq_domain_add_legacy_of_node(node, RALINK_INTC_IRQ_COUNT, RALINK_INTC_IRQ_BASE, 0, &irq_domain_ops, NULL); if (!domain) panic("Failed to add irqdomain"); diff --git a/arch/nios2/kernel/irq.c b/arch/nios2/kernel/irq.c index 8fa280660051..dd6d2c6948df 100644 --- a/arch/nios2/kernel/irq.c +++ b/arch/nios2/kernel/irq.c @@ -69,7 +69,7 @@ void __init init_IRQ(void) =20 BUG_ON(!node); =20 - domain =3D irq_domain_add_linear(node, NIOS2_CPU_NR_IRQS, &irq_ops, NULL); + domain =3D irq_domain_add_linear_of_node(node, NIOS2_CPU_NR_IRQS, &irq_op= s, NULL); BUG_ON(!domain); =20 irq_set_default_domain(domain); diff --git a/arch/powerpc/platforms/44x/uic.c b/arch/powerpc/platforms/44x/= uic.c index f49214f4f4a9..5a8e9e81d9c8 100644 --- a/arch/powerpc/platforms/44x/uic.c +++ b/arch/powerpc/platforms/44x/uic.c @@ -254,7 +254,7 @@ static struct uic * __init uic_init_one(struct device_n= ode *node) } uic->dcrbase =3D *dcrreg; =20 - uic->irqhost =3D irq_domain_add_linear(node, NR_UIC_INTS, &uic_host_ops, + uic->irqhost =3D irq_domain_add_linear_of_node(node, NR_UIC_INTS, &uic_ho= st_ops, uic); if (! uic->irqhost) return NULL; /* FIXME: panic? */ diff --git a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c b/arch/powerpc/= platforms/512x/mpc5121_ads_cpld.c index e995eb30bf09..3bad6fd6d453 100644 --- a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c +++ b/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c @@ -188,7 +188,7 @@ mpc5121_ads_cpld_pic_init(void) =20 cpld_pic_node =3D of_node_get(np); =20 - cpld_pic_host =3D irq_domain_add_linear(np, 16, &cpld_pic_host_ops, NULL); + cpld_pic_host =3D irq_domain_add_linear_of_node(np, 16, &cpld_pic_host_op= s, NULL); if (!cpld_pic_host) { printk(KERN_ERR "CPLD PIC: failed to allocate irq host!\n"); goto end; diff --git a/arch/powerpc/platforms/52xx/media5200.c b/arch/powerpc/platfor= ms/52xx/media5200.c index 19626cd42406..b5e31ede1b23 100644 --- a/arch/powerpc/platforms/52xx/media5200.c +++ b/arch/powerpc/platforms/52xx/media5200.c @@ -168,7 +168,7 @@ static void __init media5200_init_irq(void) =20 spin_lock_init(&media5200_irq.lock); =20 - media5200_irq.irqhost =3D irq_domain_add_linear(fpga_np, + media5200_irq.irqhost =3D irq_domain_add_linear_of_node(fpga_np, MEDIA5200_NUM_IRQS, &media5200_irq_ops, &media5200_irq); if (!media5200_irq.irqhost) goto out; diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platf= orms/52xx/mpc52xx_gpt.c index 1ea591ec6083..2c1caa1c77f7 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c @@ -247,9 +247,9 @@ mpc52xx_gpt_irq_setup(struct mpc52xx_gpt_priv *gpt, str= uct device_node *node) if (!cascade_virq) return; =20 - gpt->irqhost =3D irq_domain_add_linear(node, 1, &mpc52xx_gpt_irq_ops, gpt= ); + gpt->irqhost =3D irq_domain_add_linear_of_node(node, 1, &mpc52xx_gpt_irq_= ops, gpt); if (!gpt->irqhost) { - dev_err(gpt->dev, "irq_domain_add_linear() failed\n"); + dev_err(gpt->dev, "irq_domain_add_linear_of_node() failed\n"); return; } =20 diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pic.c b/arch/powerpc/platf= orms/52xx/mpc52xx_pic.c index 43c881d31ca6..16ca49a2fe62 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c @@ -446,7 +446,7 @@ void __init mpc52xx_init_irq(void) * As last step, add an irq host to translate the real * hw irq information provided by the ofw to linux virq */ - mpc52xx_irqhost =3D irq_domain_add_linear(picnode, + mpc52xx_irqhost =3D irq_domain_add_linear_of_node(picnode, MPC52xx_IRQ_HIGHTESTHWIRQ, &mpc52xx_irqhost_ops, NULL); =20 diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c b/arch/powerpc= /platforms/85xx/socrates_fpga_pic.c index 60e0b8947ce6..56dab9e37e4f 100644 --- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c +++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c @@ -278,7 +278,7 @@ void __init socrates_fpga_pic_init(struct device_node *= pic) int i; =20 /* Setup an irq_domain structure */ - socrates_fpga_pic_irq_host =3D irq_domain_add_linear(pic, + socrates_fpga_pic_irq_host =3D irq_domain_add_linear_of_node(pic, SOCRATES_FPGA_NUM_IRQS, &socrates_fpga_pic_host_ops, NULL); if (socrates_fpga_pic_irq_host =3D=3D NULL) { pr_err("FPGA PIC: Unable to allocate host\n"); diff --git a/arch/powerpc/platforms/8xx/cpm1-ic.c b/arch/powerpc/platforms/= 8xx/cpm1-ic.c index a18fc7c99f83..72c1a5b22263 100644 --- a/arch/powerpc/platforms/8xx/cpm1-ic.c +++ b/arch/powerpc/platforms/8xx/cpm1-ic.c @@ -110,7 +110,7 @@ static int cpm_pic_probe(struct platform_device *pdev) =20 out_be32(&data->reg->cpic_cimr, 0); =20 - data->host =3D irq_domain_add_linear(dev->of_node, 64, &cpm_pic_host_ops,= data); + data->host =3D irq_domain_add_linear_of_node(dev->of_node, 64, &cpm_pic_h= ost_ops, data); if (!data->host) return -ENODEV; =20 diff --git a/arch/powerpc/platforms/8xx/pic.c b/arch/powerpc/platforms/8xx/= pic.c index ea6b0e523c60..3d2065f5235c 100644 --- a/arch/powerpc/platforms/8xx/pic.c +++ b/arch/powerpc/platforms/8xx/pic.c @@ -146,7 +146,7 @@ void __init mpc8xx_pic_init(void) if (!siu_reg) goto out; =20 - mpc8xx_pic_host =3D irq_domain_add_linear(np, 64, &mpc8xx_pic_host_ops, N= ULL); + mpc8xx_pic_host =3D irq_domain_add_linear_of_node(np, 64, &mpc8xx_pic_hos= t_ops, NULL); if (!mpc8xx_pic_host) printk(KERN_ERR "MPC8xx PIC: failed to allocate irq host!\n"); =20 diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platform= s/cell/axon_msi.c index d243f7fd8982..4d203b71b38d 100644 --- a/arch/powerpc/platforms/cell/axon_msi.c +++ b/arch/powerpc/platforms/cell/axon_msi.c @@ -376,7 +376,7 @@ static int axon_msi_probe(struct platform_device *devic= e) memset(msic->fifo_virt, 0xff, MSIC_FIFO_SIZE_BYTES); =20 /* We rely on being able to stash a virq in a u16, so limit irqs to < 655= 36 */ - msic->irq_domain =3D irq_domain_add_nomap(dn, 65536, &msic_host_ops, msic= ); + msic->irq_domain =3D irq_domain_add_nomap_of_node(dn, 65536, &msic_host_o= ps, msic); if (!msic->irq_domain) { printk(KERN_ERR "axon_msi: couldn't allocate irq_domain for %pOF\n", dn); diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platfor= ms/cell/interrupt.c index 887f3eef3e07..70de2942699a 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c @@ -357,7 +357,7 @@ static int __init setup_iic(void) void __init iic_init_IRQ(void) { /* Setup an irq host data structure */ - iic_host =3D irq_domain_add_linear(NULL, IIC_SOURCE_COUNT, &iic_host_ops, + iic_host =3D irq_domain_add_linear_of_node(NULL, IIC_SOURCE_COUNT, &iic_h= ost_ops, NULL); BUG_ON(iic_host =3D=3D NULL); irq_set_default_domain(iic_host); diff --git a/arch/powerpc/platforms/cell/spider-pic.c b/arch/powerpc/platfo= rms/cell/spider-pic.c index 11df737c8c6a..917cd0e896ba 100644 --- a/arch/powerpc/platforms/cell/spider-pic.c +++ b/arch/powerpc/platforms/cell/spider-pic.c @@ -282,7 +282,7 @@ static void __init spider_init_one(struct device_node *= of_node, int chip, panic("spider_pic: can't map registers !"); =20 /* Allocate a host */ - pic->host =3D irq_domain_add_linear(of_node, SPIDER_SRC_COUNT, + pic->host =3D irq_domain_add_linear_of_node(of_node, SPIDER_SRC_COUNT, &spider_host_ops, pic); if (pic->host =3D=3D NULL) panic("spider_pic: can't allocate irq host !"); diff --git a/arch/powerpc/platforms/embedded6xx/flipper-pic.c b/arch/powerp= c/platforms/embedded6xx/flipper-pic.c index 013d66304c31..312a9d40a2a2 100644 --- a/arch/powerpc/platforms/embedded6xx/flipper-pic.c +++ b/arch/powerpc/platforms/embedded6xx/flipper-pic.c @@ -149,7 +149,7 @@ static struct irq_domain * __init flipper_pic_init(stru= ct device_node *np) =20 __flipper_quiesce(io_base); =20 - irq_domain =3D irq_domain_add_linear(np, FLIPPER_NR_IRQS, + irq_domain =3D irq_domain_add_linear_of_node(np, FLIPPER_NR_IRQS, &flipper_irq_domain_ops, io_base); if (!irq_domain) { pr_err("failed to allocate irq_domain\n"); diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c b/arch/powerpc/p= latforms/embedded6xx/hlwd-pic.c index 4d2d92de30af..e27f26a84f7d 100644 --- a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c +++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c @@ -175,7 +175,7 @@ static struct irq_domain *__init hlwd_pic_init(struct d= evice_node *np) =20 __hlwd_quiesce(io_base); =20 - irq_domain =3D irq_domain_add_linear(np, HLWD_NR_IRQS, + irq_domain =3D irq_domain_add_linear_of_node(np, HLWD_NR_IRQS, &hlwd_irq_domain_ops, io_base); if (!irq_domain) { pr_err("failed to allocate irq_domain\n"); diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms= /powermac/pic.c index 03a7c51f2645..2a5810944d32 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c @@ -327,7 +327,7 @@ static void __init pmac_pic_probe_oldstyle(void) /* * Allocate an irq host */ - pmac_pic_host =3D irq_domain_add_linear(master, max_irqs, + pmac_pic_host =3D irq_domain_add_linear_of_node(master, max_irqs, &pmac_pic_host_ops, NULL); BUG_ON(pmac_pic_host =3D=3D NULL); irq_set_default_domain(pmac_pic_host); diff --git a/arch/powerpc/platforms/powermac/smp.c b/arch/powerpc/platforms= /powermac/smp.c index 09e7fe24fac1..9f7935f822b6 100644 --- a/arch/powerpc/platforms/powermac/smp.c +++ b/arch/powerpc/platforms/powermac/smp.c @@ -190,7 +190,7 @@ static int __init psurge_secondary_ipi_init(void) { int rc =3D -ENOMEM; =20 - psurge_host =3D irq_domain_add_nomap(NULL, ~0, &psurge_host_ops, NULL); + psurge_host =3D irq_domain_add_nomap_of_node(NULL, ~0, &psurge_host_ops, = NULL); =20 if (psurge_host) psurge_secondary_virq =3D irq_create_direct_mapping(psurge_host); diff --git a/arch/powerpc/platforms/powernv/opal-irqchip.c b/arch/powerpc/p= latforms/powernv/opal-irqchip.c index d92759c21fae..2e6539fdc121 100644 --- a/arch/powerpc/platforms/powernv/opal-irqchip.c +++ b/arch/powerpc/platforms/powernv/opal-irqchip.c @@ -191,7 +191,7 @@ int __init opal_event_init(void) * fall back to the legacy method (opal_event_request(...)) * anyway. */ dn =3D of_find_compatible_node(NULL, NULL, "ibm,opal-event"); - opal_event_irqchip.domain =3D irq_domain_add_linear(dn, MAX_NUM_EVENTS, + opal_event_irqchip.domain =3D irq_domain_add_linear_of_node(dn, MAX_NUM_E= VENTS, &opal_event_domain_ops, &opal_event_irqchip); of_node_put(dn); if (!opal_event_irqchip.domain) { diff --git a/arch/powerpc/platforms/ps3/interrupt.c b/arch/powerpc/platform= s/ps3/interrupt.c index 95e96bd61a20..d63aa752839c 100644 --- a/arch/powerpc/platforms/ps3/interrupt.c +++ b/arch/powerpc/platforms/ps3/interrupt.c @@ -743,7 +743,7 @@ void __init ps3_init_IRQ(void) unsigned cpu; struct irq_domain *host; =20 - host =3D irq_domain_add_nomap(NULL, PS3_PLUG_MAX + 1, &ps3_host_ops, NULL= ); + host =3D irq_domain_add_nomap_of_node(NULL, PS3_PLUG_MAX + 1, &ps3_host_o= ps, NULL); irq_set_default_domain(host); =20 for_each_possible_cpu(cpu) { diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c index e14493685fe8..66b716e9e335 100644 --- a/arch/powerpc/sysdev/cpm2_pic.c +++ b/arch/powerpc/sysdev/cpm2_pic.c @@ -259,7 +259,7 @@ void cpm2_pic_init(struct device_node *node) out_be32(&cpm2_intctl->ic_scprrl, 0x05309770); =20 /* create a legacy host */ - cpm2_pic_host =3D irq_domain_add_linear(node, 64, &cpm2_pic_host_ops, NUL= L); + cpm2_pic_host =3D irq_domain_add_linear_of_node(node, 64, &cpm2_pic_host_= ops, NULL); if (cpm2_pic_host =3D=3D NULL) { printk(KERN_ERR "CPM2 PIC: failed to allocate irq host!\n"); return; diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c index fb502b72fca1..0af7a114b5ca 100644 --- a/arch/powerpc/sysdev/ehv_pic.c +++ b/arch/powerpc/sysdev/ehv_pic.c @@ -269,7 +269,7 @@ void __init ehv_pic_init(void) return; } =20 - ehv_pic->irqhost =3D irq_domain_add_linear(np, NR_EHV_PIC_INTS, + ehv_pic->irqhost =3D irq_domain_add_linear_of_node(np, NR_EHV_PIC_INTS, &ehv_pic_host_ops, ehv_pic); if (!ehv_pic->irqhost) { of_node_put(np); diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c index 1aa0cb097c9c..57785f68ce42 100644 --- a/arch/powerpc/sysdev/fsl_msi.c +++ b/arch/powerpc/sysdev/fsl_msi.c @@ -412,7 +412,7 @@ static int fsl_of_msi_probe(struct platform_device *dev) } platform_set_drvdata(dev, msi); =20 - msi->irqhost =3D irq_domain_add_linear(dev->dev.of_node, + msi->irqhost =3D irq_domain_add_linear_of_node(dev->dev.of_node, NR_MSI_IRQS_MAX, &fsl_msi_host_ops, msi); =20 if (msi->irqhost =3D=3D NULL) { diff --git a/arch/powerpc/sysdev/ge/ge_pic.c b/arch/powerpc/sysdev/ge/ge_pi= c.c index a6c424680c37..5a695b4ff310 100644 --- a/arch/powerpc/sysdev/ge/ge_pic.c +++ b/arch/powerpc/sysdev/ge/ge_pic.c @@ -214,7 +214,7 @@ void __init gef_pic_init(struct device_node *np) } =20 /* Setup an irq_domain structure */ - gef_pic_irq_host =3D irq_domain_add_linear(np, GEF_PIC_NUM_IRQS, + gef_pic_irq_host =3D irq_domain_add_linear_of_node(np, GEF_PIC_NUM_IRQS, &gef_pic_host_ops, NULL); if (gef_pic_irq_host =3D=3D NULL) return; diff --git a/arch/powerpc/sysdev/i8259.c b/arch/powerpc/sysdev/i8259.c index 06e391485da7..1df64377dc18 100644 --- a/arch/powerpc/sysdev/i8259.c +++ b/arch/powerpc/sysdev/i8259.c @@ -260,7 +260,7 @@ void i8259_init(struct device_node *node, unsigned long= intack_addr) raw_spin_unlock_irqrestore(&i8259_lock, flags); =20 /* create a legacy host */ - i8259_host =3D irq_domain_add_legacy(node, NR_IRQS_LEGACY, 0, 0, + i8259_host =3D irq_domain_add_legacy_of_node(node, NR_IRQS_LEGACY, 0, 0, &i8259_host_ops, NULL); if (i8259_host =3D=3D NULL) { printk(KERN_ERR "i8259: failed to allocate irq host !\n"); diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index 075297e91e0b..b5a46dfd8f73 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c @@ -711,7 +711,7 @@ struct ipic * __init ipic_init(struct device_node *node= , unsigned int flags) if (ipic =3D=3D NULL) return NULL; =20 - ipic->irqhost =3D irq_domain_add_linear(node, NR_IPIC_INTS, + ipic->irqhost =3D irq_domain_add_linear_of_node(node, NR_IPIC_INTS, &ipic_host_ops, ipic); if (ipic->irqhost =3D=3D NULL) { kfree(ipic); diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 4afbab83a2e2..d203823e8471 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@ -1483,7 +1483,7 @@ struct mpic * __init mpic_alloc(struct device_node *n= ode, mpic->isu_shift =3D 1 + __ilog2(mpic->isu_size - 1); mpic->isu_mask =3D (1 << mpic->isu_shift) - 1; =20 - mpic->irqhost =3D irq_domain_add_linear(mpic->node, + mpic->irqhost =3D irq_domain_add_linear_of_node(mpic->node, intvec_top, &mpic_host_ops, mpic); =20 diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_= pci.c index 0e42f7bad7db..451eeae4d12d 100644 --- a/arch/powerpc/sysdev/tsi108_pci.c +++ b/arch/powerpc/sysdev/tsi108_pci.c @@ -404,7 +404,7 @@ void __init tsi108_pci_int_init(struct device_node *nod= e) { DBG("Tsi108_pci_int_init: initializing PCI interrupts\n"); =20 - pci_irq_host =3D irq_domain_add_legacy(node, NR_IRQS_LEGACY, 0, 0, + pci_irq_host =3D irq_domain_add_legacy_of_node(node, NR_IRQS_LEGACY, 0, 0, &pci_irq_domain_ops, NULL); if (pci_irq_host =3D=3D NULL) { printk(KERN_ERR "pci_irq_host: failed to allocate irq domain!\n"); diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/c= ommon.c index dc2e61837396..d4e28b581b4a 100644 --- a/arch/powerpc/sysdev/xive/common.c +++ b/arch/powerpc/sysdev/xive/common.c @@ -1464,7 +1464,7 @@ static const struct irq_domain_ops xive_irq_domain_op= s =3D { =20 static void __init xive_init_host(struct device_node *np) { - xive_irq_domain =3D irq_domain_add_tree(np, &xive_irq_domain_ops, NULL); + xive_irq_domain =3D irq_domain_add_tree_of_node(np, &xive_irq_domain_ops,= NULL); if (WARN_ON(xive_irq_domain =3D=3D NULL)) return; irq_set_default_domain(xive_irq_domain); diff --git a/arch/sh/boards/mach-se/7343/irq.c b/arch/sh/boards/mach-se/734= 3/irq.c index f9f3b14f70d5..ac9db1f7aae1 100644 --- a/arch/sh/boards/mach-se/7343/irq.c +++ b/arch/sh/boards/mach-se/7343/irq.c @@ -47,7 +47,7 @@ static void __init se7343_domain_init(void) { int i; =20 - se7343_irq_domain =3D irq_domain_add_linear(NULL, SE7343_FPGA_IRQ_NR, + se7343_irq_domain =3D irq_domain_add_linear_of_node(NULL, SE7343_FPGA_IRQ= _NR, &irq_domain_simple_ops, NULL); if (unlikely(!se7343_irq_domain)) { printk("Failed to get IRQ domain\n"); diff --git a/arch/sh/boards/mach-se/7722/irq.c b/arch/sh/boards/mach-se/772= 2/irq.c index efa96edd47dc..3902e13fa87b 100644 --- a/arch/sh/boards/mach-se/7722/irq.c +++ b/arch/sh/boards/mach-se/7722/irq.c @@ -46,7 +46,7 @@ static void __init se7722_domain_init(void) { int i; =20 - se7722_irq_domain =3D irq_domain_add_linear(NULL, SE7722_FPGA_IRQ_NR, + se7722_irq_domain =3D irq_domain_add_linear_of_node(NULL, SE7722_FPGA_IRQ= _NR, &irq_domain_simple_ops, NULL); if (unlikely(!se7722_irq_domain)) { printk("Failed to get IRQ domain\n"); diff --git a/arch/sh/boards/mach-x3proto/gpio.c b/arch/sh/boards/mach-x3pro= to/gpio.c index f82d3a6a844a..9c96ce4e9b10 100644 --- a/arch/sh/boards/mach-x3proto/gpio.c +++ b/arch/sh/boards/mach-x3proto/gpio.c @@ -108,7 +108,7 @@ int __init x3proto_gpio_setup(void) if (unlikely(ret)) goto err_gpio; =20 - x3proto_irq_domain =3D irq_domain_add_linear(NULL, NR_BASEBOARD_GPIOS, + x3proto_irq_domain =3D irq_domain_add_linear_of_node(NULL, NR_BASEBOARD_G= PIOS, &x3proto_gpio_irq_ops, NULL); if (unlikely(!x3proto_irq_domain)) goto err_irq; diff --git a/drivers/bus/moxtet.c b/drivers/bus/moxtet.c index 6276551d7968..f4d42c48c8df 100644 --- a/drivers/bus/moxtet.c +++ b/drivers/bus/moxtet.c @@ -737,7 +737,7 @@ static int moxtet_irq_setup(struct moxtet *moxtet) { int i, ret; =20 - moxtet->irq.domain =3D irq_domain_add_simple(moxtet->dev->of_node, + moxtet->irq.domain =3D irq_domain_add_simple_of_node(moxtet->dev->of_node, MOXTET_NIRQS, 0, &moxtet_irq_domain, moxtet); if (moxtet->irq.domain =3D=3D NULL) { diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c index 3e971f902363..4cc1738b966f 100644 --- a/drivers/edac/altera_edac.c +++ b/drivers/edac/altera_edac.c @@ -2130,7 +2130,7 @@ static int altr_edac_a10_probe(struct platform_device= *pdev) edac->irq_chip.name =3D pdev->dev.of_node->name; edac->irq_chip.irq_mask =3D a10_eccmgr_irq_mask; edac->irq_chip.irq_unmask =3D a10_eccmgr_irq_unmask; - edac->domain =3D irq_domain_add_linear(pdev->dev.of_node, 64, + edac->domain =3D irq_domain_add_linear_of_node(pdev->dev.of_node, 64, &a10_eccmgr_ic_ops, edac); if (!edac->domain) { dev_err(&pdev->dev, "Error adding IRQ domain\n"); diff --git a/drivers/gpio/gpio-brcmstb.c b/drivers/gpio/gpio-brcmstb.c index 491b529d25f8..82c802df981b 100644 --- a/drivers/gpio/gpio-brcmstb.c +++ b/drivers/gpio/gpio-brcmstb.c @@ -436,7 +436,7 @@ static int brcmstb_gpio_irq_setup(struct platform_devic= e *pdev, int err; =20 priv->irq_domain =3D - irq_domain_add_linear(np, priv->num_gpios, + irq_domain_add_linear_of_node(np, priv->num_gpios, &brcmstb_gpio_irq_domain_ops, priv); if (!priv->irq_domain) { diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c index 8c033e8cf3c9..a749e36fdfea 100644 --- a/drivers/gpio/gpio-davinci.c +++ b/drivers/gpio/gpio-davinci.c @@ -477,7 +477,7 @@ static int davinci_gpio_irq_setup(struct platform_devic= e *pdev) return irq; } =20 - irq_domain =3D irq_domain_add_legacy(dev->of_node, ngpio, irq, 0, + irq_domain =3D irq_domain_add_legacy_of_node(dev->of_node, ngpio, irq, 0, &davinci_gpio_irq_ops, chips); if (!irq_domain) { diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c index 6c862c572322..fcd888d28c85 100644 --- a/drivers/gpio/gpio-em.c +++ b/drivers/gpio/gpio-em.c @@ -323,7 +323,7 @@ static int em_gio_probe(struct platform_device *pdev) irq_chip->irq_release_resources =3D em_gio_irq_relres; irq_chip->flags =3D IRQCHIP_SKIP_SET_WAKE | IRQCHIP_MASK_ON_SUSPEND; =20 - p->irq_domain =3D irq_domain_add_simple(dev->of_node, ngpios, 0, + p->irq_domain =3D irq_domain_add_simple_of_node(dev->of_node, 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 169f33c41c59..53db28fcc1a1 100644 --- a/drivers/gpio/gpio-grgpio.c +++ b/drivers/gpio/gpio-grgpio.c @@ -396,7 +396,7 @@ static int grgpio_probe(struct platform_device *ofdev) return -EINVAL; } =20 - priv->domain =3D irq_domain_add_linear(np, gc->ngpio, + priv->domain =3D irq_domain_add_linear_of_node(np, gc->ngpio, &grgpio_irq_domain_ops, priv); if (!priv->domain) { diff --git a/drivers/gpio/gpio-lpc18xx.c b/drivers/gpio/gpio-lpc18xx.c index 2cf9fb4637a2..c4e8006b33e8 100644 --- a/drivers/gpio/gpio-lpc18xx.c +++ b/drivers/gpio/gpio-lpc18xx.c @@ -240,7 +240,7 @@ static int lpc18xx_gpio_pin_ic_probe(struct lpc18xx_gpi= o_chip *gc) =20 raw_spin_lock_init(&ic->lock); =20 - ic->domain =3D irq_domain_add_hierarchy(parent_domain, 0, + ic->domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, NR_LPC18XX_GPIO_PIN_IC_IRQS, dev->of_node, &lpc18xx_gpio_pin_ic_domain_ops, diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index 5ffb332e9849..cc9f860c5cbb 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c @@ -1241,7 +1241,7 @@ static int mvebu_gpio_probe(struct platform_device *p= dev) return 0; =20 mvchip->domain =3D - irq_domain_add_linear(np, ngpios, &irq_generic_chip_ops, NULL); + irq_domain_add_linear_of_node(np, 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 4cb455b2bdee..6d24e89b767c 100644 --- a/drivers/gpio/gpio-mxc.c +++ b/drivers/gpio/gpio-mxc.c @@ -503,7 +503,7 @@ static int mxc_gpio_probe(struct platform_device *pdev) goto out_bgio; } =20 - port->domain =3D irq_domain_add_legacy(np, 32, irq_base, 0, + port->domain =3D irq_domain_add_legacy_of_node(np, 32, irq_base, 0, &irq_domain_simple_ops, NULL); if (!port->domain) { err =3D -ENODEV; diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c index 024ad077e98d..7a09837d7562 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; } =20 - port->domain =3D irq_domain_add_legacy(np, 32, irq_base, 0, + port->domain =3D irq_domain_add_legacy_of_node(np, 32, irq_base, 0, &irq_domain_simple_ops, NULL); if (!port->domain) { err =3D -ENODEV; diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index 91cea97255fa..7a85f30763a8 100644 --- a/drivers/gpio/gpio-pxa.c +++ b/drivers/gpio/gpio-pxa.c @@ -636,7 +636,7 @@ static int pxa_gpio_probe(struct platform_device *pdev) if (!pxa_last_gpio) return -EINVAL; =20 - pchip->irqdomain =3D irq_domain_add_legacy(pdev->dev.of_node, + pchip->irqdomain =3D irq_domain_add_legacy_of_node(pdev->dev.of_node, pxa_last_gpio + 1, irq_base, 0, &pxa_irq_domain_ops, pchip); if (!pchip->irqdomain) diff --git a/drivers/gpio/gpio-rockchip.c b/drivers/gpio/gpio-rockchip.c index 01a3b3dac58b..ad9611bd5874 100644 --- a/drivers/gpio/gpio-rockchip.c +++ b/drivers/gpio/gpio-rockchip.c @@ -521,7 +521,7 @@ static int rockchip_interrupts_register(struct rockchip= _pin_bank *bank) struct irq_chip_generic *gc; int ret; =20 - bank->domain =3D irq_domain_add_linear(bank->of_node, 32, + bank->domain =3D irq_domain_add_linear_of_node(bank->of_node, 32, &irq_generic_chip_ops, NULL); if (!bank->domain) { dev_warn(bank->dev, "could not init irq domain for bank %s\n", diff --git a/drivers/gpio/gpio-sa1100.c b/drivers/gpio/gpio-sa1100.c index 242dad763ac4..17758f1b087e 100644 --- a/drivers/gpio/gpio-sa1100.c +++ b/drivers/gpio/gpio-sa1100.c @@ -319,7 +319,7 @@ void __init sa1100_init_gpio(void) =20 gpiochip_add_data(&sa1100_gpio_chip.chip, NULL); =20 - sa1100_gpio_irqdomain =3D irq_domain_add_simple(NULL, + sa1100_gpio_irqdomain =3D irq_domain_add_simple_of_node(NULL, 28, IRQ_GPIO0, &sa1100_gpio_irqdomain_ops, sgc); =20 diff --git a/drivers/gpio/gpio-sodaville.c b/drivers/gpio/gpio-sodaville.c index c2a2c76c1652..8cf4cd541f16 100644 --- a/drivers/gpio/gpio-sodaville.c +++ b/drivers/gpio/gpio-sodaville.c @@ -169,7 +169,7 @@ static int sdv_register_irqsupport(struct sdv_gpio_chip= _data *sd, IRQ_GC_INIT_MASK_CACHE, IRQ_NOREQUEST, IRQ_LEVEL | IRQ_NOPROBE); =20 - sd->id =3D irq_domain_add_legacy(pdev->dev.of_node, SDV_NUM_PUB_GPIOS, + sd->id =3D irq_domain_add_legacy_of_node(pdev->dev.of_node, SDV_NUM_PUB_G= PIOS, 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 b6335cde455f..7b1d610c6160 100644 --- a/drivers/gpio/gpio-tb10x.c +++ b/drivers/gpio/gpio-tb10x.c @@ -183,7 +183,7 @@ static int tb10x_gpio_probe(struct platform_device *pde= v) if (ret !=3D 0) return ret; =20 - tb10x_gpio->domain =3D irq_domain_add_linear(np, + tb10x_gpio->domain =3D irq_domain_add_linear_of_node(np, tb10x_gpio->gc.ngpio, &irq_generic_chip_ops, NULL); if (!tb10x_gpio->domain) { diff --git a/drivers/gpio/gpio-twl4030.c b/drivers/gpio/gpio-twl4030.c index bcd692229c7c..9b51328780ce 100644 --- a/drivers/gpio/gpio-twl4030.c +++ b/drivers/gpio/gpio-twl4030.c @@ -524,7 +524,7 @@ static int gpio_twl4030_probe(struct platform_device *p= dev) return irq_base; } =20 - irq_domain_add_legacy(node, TWL4030_GPIO_MAX, irq_base, 0, + irq_domain_add_legacy_of_node(node, TWL4030_GPIO_MAX, irq_base, 0, &irq_domain_simple_ops, NULL); =20 ret =3D twl4030_sih_setup(&pdev->dev, TWL4030_MODULE_GPIO, irq_base); diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c b/drivers/gpu/drm/amd/= amdgpu/amdgpu_irq.c index 19ce4da285e8..0a68529cc0de 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c @@ -725,7 +725,7 @@ static const struct irq_domain_ops amdgpu_hw_irqdomain_= ops =3D { */ int amdgpu_irq_add_domain(struct amdgpu_device *adev) { - adev->irq.domain =3D irq_domain_add_linear(NULL, AMDGPU_MAX_IRQ_SRC_ID, + adev->irq.domain =3D irq_domain_add_linear_of_node(NULL, AMDGPU_MAX_IRQ_S= RC_ID, &amdgpu_hw_irqdomain_ops, adev); if (!adev->irq.domain) { DRM_ERROR("GPU irq add domain failed\n"); diff --git a/drivers/gpu/drm/msm/msm_mdss.c b/drivers/gpu/drm/msm/msm_mdss.c index dcb49fd30402..ab0fe2125544 100644 --- a/drivers/gpu/drm/msm/msm_mdss.c +++ b/drivers/gpu/drm/msm/msm_mdss.c @@ -150,7 +150,7 @@ static int _msm_mdss_irq_domain_add(struct msm_mdss *ms= m_mdss) =20 dev =3D msm_mdss->dev; =20 - domain =3D irq_domain_add_linear(dev->of_node, 32, + domain =3D irq_domain_add_linear_of_node(dev->of_node, 32, &msm_mdss_irqdomain_ops, msm_mdss); if (!domain) { dev_err(dev, "failed to add irq_domain\n"); diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-commo= n.c index 947323f4a234..6d5f8d0bb6eb 100644 --- a/drivers/gpu/ipu-v3/ipu-common.c +++ b/drivers/gpu/ipu-v3/ipu-common.c @@ -1207,7 +1207,7 @@ static int ipu_irq_init(struct ipu_soc *ipu) }; int ret, i; =20 - ipu->domain =3D irq_domain_add_linear(ipu->dev->of_node, IPU_NUM_IRQS, + ipu->domain =3D irq_domain_add_linear_of_node(ipu->dev->of_node, IPU_NUM_= IRQS, &irq_generic_chip_ops, ipu); if (!ipu->domain) { dev_err(ipu->dev, "failed to add irq domain\n"); diff --git a/drivers/i2c/busses/i2c-cht-wc.c b/drivers/i2c/busses/i2c-cht-w= c.c index 26a36a65521e..6b46a3f14037 100644 --- a/drivers/i2c/busses/i2c-cht-wc.c +++ b/drivers/i2c/busses/i2c-cht-wc.c @@ -467,7 +467,7 @@ static int cht_wc_i2c_adap_i2c_probe(struct platform_de= vice *pdev) return ret; =20 /* Alloc and register client IRQ */ - adap->irq_domain =3D irq_domain_add_linear(NULL, 1, &irq_domain_simple_op= s, NULL); + adap->irq_domain =3D irq_domain_add_linear_of_node(NULL, 1, &irq_domain_s= imple_ops, NULL); if (!adap->irq_domain) return -ENOMEM; =20 diff --git a/drivers/i2c/muxes/i2c-mux-pca954x.c b/drivers/i2c/muxes/i2c-mu= x-pca954x.c index 6f84018258c4..289d4812aaa3 100644 --- a/drivers/i2c/muxes/i2c-mux-pca954x.c +++ b/drivers/i2c/muxes/i2c-mux-pca954x.c @@ -442,7 +442,7 @@ static int pca954x_irq_setup(struct i2c_mux_core *muxc) =20 raw_spin_lock_init(&data->lock); =20 - data->irq =3D irq_domain_add_linear(client->dev.of_node, + data->irq =3D irq_domain_add_linear_of_node(client->dev.of_node, data->chip->nchans, &irq_domain_simple_ops, data); if (!data->irq) diff --git a/drivers/iio/adc/stm32-adc-core.c b/drivers/iio/adc/stm32-adc-c= ore.c index 2201ee9987ae..85aa09f54f40 100644 --- a/drivers/iio/adc/stm32-adc-core.c +++ b/drivers/iio/adc/stm32-adc-core.c @@ -421,7 +421,7 @@ static int stm32_adc_irq_probe(struct platform_device *= pdev, return priv->irq[i]; } =20 - priv->domain =3D irq_domain_add_simple(np, STM32_ADC_MAX_ADCS, 0, + priv->domain =3D irq_domain_add_simple_of_node(np, STM32_ADC_MAX_ADCS, 0, &stm32_adc_domain_ops, priv); if (!priv->domain) { diff --git a/drivers/irqchip/exynos-combiner.c b/drivers/irqchip/exynos-com= biner.c index 552aa04ff063..147dc3e11dd0 100644 --- a/drivers/irqchip/exynos-combiner.c +++ b/drivers/irqchip/exynos-combiner.c @@ -180,7 +180,7 @@ static void __init combiner_init(void __iomem *combiner= _base, if (!combiner_data) return; =20 - combiner_irq_domain =3D irq_domain_add_linear(np, nr_irq, + combiner_irq_domain =3D irq_domain_add_linear_of_node(np, nr_irq, &combiner_irq_domain_ops, combiner_data); if (WARN_ON(!combiner_irq_domain)) { pr_warn("%s: irq domain init failed\n", __func__); diff --git a/drivers/irqchip/irq-al-fic.c b/drivers/irqchip/irq-al-fic.c index dfb761e86c9c..2ecc7259f376 100644 --- a/drivers/irqchip/irq-al-fic.c +++ b/drivers/irqchip/irq-al-fic.c @@ -139,7 +139,7 @@ static int al_fic_register(struct device_node *node, struct irq_chip_generic *gc; int ret; =20 - fic->domain =3D irq_domain_add_linear(node, + fic->domain =3D irq_domain_add_linear_of_node(node, NR_FIC_IRQS, &irq_generic_chip_ops, fic); diff --git a/drivers/irqchip/irq-alpine-msi.c b/drivers/irqchip/irq-alpine-= msi.c index 0207d35135da..2d31a296916a 100644 --- a/drivers/irqchip/irq-alpine-msi.c +++ b/drivers/irqchip/irq-alpine-msi.c @@ -205,7 +205,7 @@ static int alpine_msix_init_domains(struct alpine_msix_= data *priv, return -ENXIO; } =20 - middle_domain =3D irq_domain_add_hierarchy(gic_domain, 0, 0, NULL, + middle_domain =3D irq_domain_add_hierarchy_of_node(gic_domain, 0, 0, NULL, &alpine_msix_middle_domain_ops, priv); if (!middle_domain) { diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-arma= da-370-xp.c index de98d16c1718..89c2abd2342d 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -348,7 +348,7 @@ static int __init mpic_msi_init(struct mpic *mpic, stru= ct device_node *node, mpic->msi_doorbell_mask =3D PCI_MSI_FULL_DOORBELL_MASK; } =20 - mpic->msi_inner_domain =3D irq_domain_add_linear(NULL, mpic->msi_doorbell= _size, + mpic->msi_inner_domain =3D irq_domain_add_linear_of_node(NULL, mpic->msi_= doorbell_size, &mpic_msi_domain_ops, mpic); if (!mpic->msi_inner_domain) return -ENOMEM; @@ -861,7 +861,7 @@ static int __init mpic_of_init(struct device_node *node= , struct device_node *par if (!mpic_is_ipi_available(mpic)) nr_irqs =3D MPIC_PER_CPU_IRQS_NR; =20 - mpic->domain =3D irq_domain_add_linear(node, nr_irqs, &mpic_irq_ops, mpic= ); + mpic->domain =3D irq_domain_add_linear_of_node(node, nr_irqs, &mpic_irq_o= ps, mpic); if (!mpic->domain) { pr_err("%pOF: Unable to add IRQ domain\n", node); return -ENOMEM; diff --git a/drivers/irqchip/irq-aspeed-i2c-ic.c b/drivers/irqchip/irq-aspe= ed-i2c-ic.c index 9c9fc3e2967e..fbdbc985c727 100644 --- a/drivers/irqchip/irq-aspeed-i2c-ic.c +++ b/drivers/irqchip/irq-aspeed-i2c-ic.c @@ -82,7 +82,7 @@ static int __init aspeed_i2c_ic_of_init(struct device_nod= e *node, goto err_iounmap; } =20 - i2c_ic->irq_domain =3D irq_domain_add_linear(node, ASPEED_I2C_IC_NUM_BUS, + i2c_ic->irq_domain =3D irq_domain_add_linear_of_node(node, ASPEED_I2C_IC_= NUM_BUS, &aspeed_i2c_ic_irq_domain_ops, NULL); if (!i2c_ic->irq_domain) { diff --git a/drivers/irqchip/irq-aspeed-intc.c b/drivers/irqchip/irq-aspeed= -intc.c index bd3b759b4b2c..a5716d36d124 100644 --- a/drivers/irqchip/irq-aspeed-intc.c +++ b/drivers/irqchip/irq-aspeed-intc.c @@ -102,7 +102,7 @@ static int __init aspeed_intc_ic_of_init(struct device_= node *node, writel(0xffffffff, intc_ic->base + INTC_INT_STATUS_REG); writel(0x0, intc_ic->base + INTC_INT_ENABLE_REG); =20 - intc_ic->irq_domain =3D irq_domain_add_linear(node, INTC_IRQS_PER_WORD, + intc_ic->irq_domain =3D irq_domain_add_linear_of_node(node, INTC_IRQS_PER= _WORD, &aspeed_intc_ic_irq_domain_ops, intc_ic); if (!intc_ic->irq_domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-aspeed-scu-ic.c b/drivers/irqchip/irq-aspe= ed-scu-ic.c index 94a7223e95df..0e9ac3c9fe4b 100644 --- a/drivers/irqchip/irq-aspeed-scu-ic.c +++ b/drivers/irqchip/irq-aspeed-scu-ic.c @@ -165,7 +165,7 @@ static int aspeed_scu_ic_of_init_common(struct aspeed_s= cu_ic *scu_ic, goto err; } =20 - scu_ic->irq_domain =3D irq_domain_add_linear(node, scu_ic->num_irqs, + scu_ic->irq_domain =3D irq_domain_add_linear_of_node(node, scu_ic->num_ir= qs, &aspeed_scu_ic_domain_ops, scu_ic); if (!scu_ic->irq_domain) { diff --git a/drivers/irqchip/irq-aspeed-vic.c b/drivers/irqchip/irq-aspeed-= vic.c index 62ccf2c0c414..b3ed3b0b34eb 100644 --- a/drivers/irqchip/irq-aspeed-vic.c +++ b/drivers/irqchip/irq-aspeed-vic.c @@ -211,7 +211,7 @@ static int __init avic_of_init(struct device_node *node, set_handle_irq(avic_handle_irq); =20 /* Register our domain */ - vic->dom =3D irq_domain_add_simple(node, NUM_IRQS, 0, + vic->dom =3D irq_domain_add_simple_of_node(node, NUM_IRQS, 0, &avic_dom_ops, vic); =20 return 0; diff --git a/drivers/irqchip/irq-ath79-misc.c b/drivers/irqchip/irq-ath79-m= isc.c index 92f001a5ff8d..0d37437c0092 100644 --- a/drivers/irqchip/irq-ath79-misc.c +++ b/drivers/irqchip/irq-ath79-misc.c @@ -147,7 +147,7 @@ static int __init ath79_misc_intc_of_init( return -ENOMEM; } =20 - domain =3D irq_domain_add_linear(node, ATH79_MISC_IRQ_COUNT, + domain =3D irq_domain_add_linear_of_node(node, ATH79_MISC_IRQ_COUNT, &misc_irq_domain_ops, base); if (!domain) { pr_err("Failed to add MISC irqdomain\n"); @@ -188,7 +188,7 @@ void __init ath79_misc_irq_init(void __iomem *regs, int= irq, else ath79_misc_irq_chip.irq_ack =3D ar724x_misc_irq_ack; =20 - domain =3D irq_domain_add_legacy(NULL, ATH79_MISC_IRQ_COUNT, + domain =3D irq_domain_add_legacy_of_node(NULL, ATH79_MISC_IRQ_COUNT, irq_base, 0, &misc_irq_domain_ops, regs); if (!domain) panic("Failed to create MISC irqdomain"); diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-a= tmel-aic-common.c index 4525366d16d6..4361ceb629a6 100644 --- a/drivers/irqchip/irq-atmel-aic-common.c +++ b/drivers/irqchip/irq-atmel-aic-common.c @@ -228,7 +228,7 @@ struct irq_domain *__init aic_common_of_init(struct dev= ice_node *node, goto err_iounmap; } =20 - domain =3D irq_domain_add_linear(node, nchips * 32, ops, aic); + domain =3D irq_domain_add_linear_of_node(node, nchips * 32, ops, aic); if (!domain) { ret =3D -ENOMEM; goto err_free_aic; diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c index 6c20604c2242..44c5953f29b0 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -144,7 +144,7 @@ static int __init armctrl_of_init(struct device_node *n= ode, if (!base) panic("%pOF: unable to map IC registers\n", node); =20 - intc.domain =3D irq_domain_add_linear(node, MAKE_HWIRQ(NR_BANKS, 0), + intc.domain =3D irq_domain_add_linear_of_node(node, MAKE_HWIRQ(NR_BANKS, = 0), &armctrl_ops, NULL); if (!intc.domain) panic("%pOF: unable to create IRQ domain\n", node); diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c index e366257684b5..aedd69494b9f 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -325,7 +325,7 @@ static int __init bcm2836_arm_irqchip_l1_intc_of_init(s= truct device_node *node, =20 bcm2835_init_local_timer_frequency(); =20 - intc.domain =3D irq_domain_add_linear(node, LAST_IRQ + 1, + intc.domain =3D irq_domain_add_linear_of_node(node, LAST_IRQ + 1, &bcm2836_arm_irqchip_intc_ops, NULL); if (!intc.domain) diff --git a/drivers/irqchip/irq-bcm6345-l1.c b/drivers/irqchip/irq-bcm6345= -l1.c index 90daa274ef23..8e93da0965d6 100644 --- a/drivers/irqchip/irq-bcm6345-l1.c +++ b/drivers/irqchip/irq-bcm6345-l1.c @@ -316,7 +316,7 @@ static int __init bcm6345_l1_of_init(struct device_node= *dn, =20 raw_spin_lock_init(&intc->lock); =20 - intc->domain =3D irq_domain_add_linear(dn, IRQS_PER_WORD * intc->n_words, + intc->domain =3D irq_domain_add_linear_of_node(dn, IRQS_PER_WORD * intc->= n_words, &bcm6345_l1_domain_ops, intc); if (!intc->domain) { diff --git a/drivers/irqchip/irq-bcm7038-l1.c b/drivers/irqchip/irq-bcm7038= -l1.c index 36e71af054e9..c307b4aa7c02 100644 --- a/drivers/irqchip/irq-bcm7038-l1.c +++ b/drivers/irqchip/irq-bcm7038-l1.c @@ -416,7 +416,7 @@ static int __init bcm7038_l1_of_init(struct device_node= *dn, } } =20 - intc->domain =3D irq_domain_add_linear(dn, IRQS_PER_WORD * intc->n_words, + intc->domain =3D irq_domain_add_linear_of_node(dn, IRQS_PER_WORD * intc->= n_words, &bcm7038_l1_domain_ops, intc); if (!intc->domain) { diff --git a/drivers/irqchip/irq-bcm7120-l2.c b/drivers/irqchip/irq-bcm7120= -l2.c index 1e9dab6e0d86..824ebe8d0b6d 100644 --- a/drivers/irqchip/irq-bcm7120-l2.c +++ b/drivers/irqchip/irq-bcm7120-l2.c @@ -264,7 +264,7 @@ static int __init bcm7120_l2_intc_probe(struct device_n= ode *dn, goto out_free_l1_data; } =20 - data->domain =3D irq_domain_add_linear(dn, IRQS_PER_WORD * data->n_words, + data->domain =3D irq_domain_add_linear_of_node(dn, IRQS_PER_WORD * data->= n_words, &irq_generic_chip_ops, NULL); if (!data->domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb= -l2.c index c988886917f7..70968dae2b68 100644 --- a/drivers/irqchip/irq-brcmstb-l2.c +++ b/drivers/irqchip/irq-brcmstb-l2.c @@ -208,7 +208,7 @@ static int __init brcmstb_l2_intc_of_init(struct device= _node *np, goto out_unmap; } =20 - data->domain =3D irq_domain_add_linear(np, 32, + data->domain =3D irq_domain_add_linear_of_node(np, 32, &irq_generic_chip_ops, NULL); if (!data->domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-clps711x.c b/drivers/irqchip/irq-clps711x.c index 48c73c948ddf..33b4ac96e956 100644 --- a/drivers/irqchip/irq-clps711x.c +++ b/drivers/irqchip/irq-clps711x.c @@ -184,7 +184,7 @@ static int __init _clps711x_intc_init(struct device_nod= e *np, clps711x_intc->ops.map =3D clps711x_intc_irq_map; clps711x_intc->ops.xlate =3D irq_domain_xlate_onecell; clps711x_intc->domain =3D - irq_domain_add_legacy(np, ARRAY_SIZE(clps711x_irqs), + irq_domain_add_legacy_of_node(np, ARRAY_SIZE(clps711x_irqs), 0, 0, &clps711x_intc->ops, NULL); if (!clps711x_intc->domain) { err =3D -ENOMEM; diff --git a/drivers/irqchip/irq-crossbar.c b/drivers/irqchip/irq-crossbar.c index a05a7501e107..8692e1fb09ff 100644 --- a/drivers/irqchip/irq-crossbar.c +++ b/drivers/irqchip/irq-crossbar.c @@ -351,7 +351,7 @@ static int __init irqcrossbar_init(struct device_node *= node, if (err) return err; =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, cb->max_crossbar_sources, node, &crossbar_domain_ops, NULL); diff --git a/drivers/irqchip/irq-csky-apb-intc.c b/drivers/irqchip/irq-csky= -apb-intc.c index 6710691e4c25..c5a3bdd1c8bd 100644 --- a/drivers/irqchip/irq-csky-apb-intc.c +++ b/drivers/irqchip/irq-csky-apb-intc.c @@ -114,7 +114,7 @@ ck_intc_init_comm(struct device_node *node, struct devi= ce_node *parent) return -EINVAL; } =20 - root_domain =3D irq_domain_add_linear(node, nr_irq, + root_domain =3D irq_domain_add_linear_of_node(node, nr_irq, &irq_generic_chip_ops, NULL); if (!root_domain) { pr_err("C-SKY Intc irq_domain_add failed.\n"); diff --git a/drivers/irqchip/irq-csky-mpintc.c b/drivers/irqchip/irq-csky-m= pintc.c index 4aebd67d4f8f..9517a5ce8c88 100644 --- a/drivers/irqchip/irq-csky-mpintc.c +++ b/drivers/irqchip/irq-csky-mpintc.c @@ -255,7 +255,7 @@ csky_mpintc_init(struct device_node *node, struct devic= e_node *parent) writel_relaxed(BIT(0), INTCG_base + INTCG_ICTLR); } =20 - root_domain =3D irq_domain_add_linear(node, nr_irq, &csky_irqdomain_ops, + root_domain =3D irq_domain_add_linear_of_node(node, nr_irq, &csky_irqdoma= in_ops, NULL); if (!root_domain) return -ENXIO; diff --git a/drivers/irqchip/irq-davinci-cp-intc.c b/drivers/irqchip/irq-da= vinci-cp-intc.c index f4f8e9fadbbf..c81b2442d983 100644 --- a/drivers/irqchip/irq-davinci-cp-intc.c +++ b/drivers/irqchip/irq-davinci-cp-intc.c @@ -212,7 +212,7 @@ davinci_cp_intc_do_init(const struct davinci_cp_intc_co= nfig *config, return irq_base; } =20 - davinci_cp_intc_irq_domain =3D irq_domain_add_legacy( + davinci_cp_intc_irq_domain =3D irq_domain_add_legacy_of_node( node, config->num_irqs, irq_base, 0, &davinci_cp_intc_irq_domain_ops, NULL); =20 diff --git a/drivers/irqchip/irq-digicolor.c b/drivers/irqchip/irq-digicolo= r.c index 3b0d78aac13b..dc1ef02ecdfb 100644 --- a/drivers/irqchip/irq-digicolor.c +++ b/drivers/irqchip/irq-digicolor.c @@ -95,7 +95,7 @@ static int __init digicolor_of_init(struct device_node *n= ode, regmap_write(ucregs, UC_IRQ_CONTROL, 1); =20 digicolor_irq_domain =3D - irq_domain_add_linear(node, 64, &irq_generic_chip_ops, NULL); + irq_domain_add_linear_of_node(node, 64, &irq_generic_chip_ops, NULL); if (!digicolor_irq_domain) { pr_err("%pOF: unable to create IRQ domain\n", node); return -ENOMEM; diff --git a/drivers/irqchip/irq-dw-apb-ictl.c b/drivers/irqchip/irq-dw-apb= -ictl.c index d5c1c750c8d2..355a761e5295 100644 --- a/drivers/irqchip/irq-dw-apb-ictl.c +++ b/drivers/irqchip/irq-dw-apb-ictl.c @@ -173,7 +173,7 @@ static int __init dw_apb_ictl_init(struct device_node *= np, else nrirqs =3D fls(readl_relaxed(iobase + APB_INT_ENABLE_L)); =20 - domain =3D irq_domain_add_linear(np, nrirqs, domain_ops, NULL); + domain =3D irq_domain_add_linear_of_node(np, nrirqs, domain_ops, NULL); if (!domain) { pr_err("%pOF: unable to add irq domain\n", np); ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-ftintc010.c b/drivers/irqchip/irq-ftintc01= 0.c index b91c358ea6db..8ee4a3a11c30 100644 --- a/drivers/irqchip/irq-ftintc010.c +++ b/drivers/irqchip/irq-ftintc010.c @@ -180,7 +180,7 @@ static int __init ft010_of_init_irq(struct device_node = *node, writel(0, FT010_IRQ_MASK(f->base)); writel(0, FT010_FIQ_MASK(f->base)); =20 - f->domain =3D irq_domain_add_simple(node, FT010_NUM_IRQS, 0, + f->domain =3D irq_domain_add_simple_of_node(node, FT010_NUM_IRQS, 0, &ft010_irqdomain_ops, f); set_handle_irq(ft010_irqchip_handle_irq); =20 diff --git a/drivers/irqchip/irq-goldfish-pic.c b/drivers/irqchip/irq-goldf= ish-pic.c index 513f6edbbe95..50cc2172254f 100644 --- a/drivers/irqchip/irq-goldfish-pic.c +++ b/drivers/irqchip/irq-goldfish-pic.c @@ -101,7 +101,7 @@ static int __init goldfish_pic_of_init(struct device_no= de *of_node, irq_setup_generic_chip(gc, IRQ_MSK(GFPIC_NR_IRQS), 0, IRQ_NOPROBE | IRQ_LEVEL, 0); =20 - gfpic->irq_domain =3D irq_domain_add_legacy(of_node, GFPIC_NR_IRQS, + gfpic->irq_domain =3D irq_domain_add_legacy_of_node(of_node, GFPIC_NR_IRQ= S, GFPIC_IRQ_BASE, 0, &goldfish_irq_domain_ops, NULL); diff --git a/drivers/irqchip/irq-hip04.c b/drivers/irqchip/irq-hip04.c index 31c3f70a5d5e..00c2fb40cf51 100644 --- a/drivers/irqchip/irq-hip04.c +++ b/drivers/irqchip/irq-hip04.c @@ -386,7 +386,7 @@ hip04_of_init(struct device_node *node, struct device_n= ode *parent) return -EINVAL; } =20 - hip04_data.domain =3D irq_domain_add_legacy(node, nr_irqs, irq_base, + hip04_data.domain =3D irq_domain_add_legacy_of_node(node, nr_irqs, irq_ba= se, 0, &hip04_irq_domain_ops, &hip04_data); diff --git a/drivers/irqchip/irq-i8259.c b/drivers/irqchip/irq-i8259.c index 115bdcffab24..3f0932f0c6f5 100644 --- a/drivers/irqchip/irq-i8259.c +++ b/drivers/irqchip/irq-i8259.c @@ -313,7 +313,7 @@ struct irq_domain * __init __init_i8259_irqs(struct dev= ice_node *node) =20 init_8259A(0); =20 - domain =3D irq_domain_add_legacy(node, 16, I8259A_IRQ_BASE, 0, + domain =3D irq_domain_add_legacy_of_node(node, 16, I8259A_IRQ_BASE, 0, &i8259A_ops, NULL); if (!domain) panic("Failed to add i8259 IRQ domain"); diff --git a/drivers/irqchip/irq-idt3243x.c b/drivers/irqchip/irq-idt3243x.c index 0732a0e9af62..13275a5ab2b1 100644 --- a/drivers/irqchip/irq-idt3243x.c +++ b/drivers/irqchip/irq-idt3243x.c @@ -72,7 +72,7 @@ static int idt_pic_init(struct device_node *of_node, stru= ct device_node *parent) goto out_unmap_irq; } =20 - domain =3D irq_domain_add_linear(of_node, IDT_PIC_NR_IRQS, + domain =3D irq_domain_add_linear_of_node(of_node, IDT_PIC_NR_IRQS, &irq_generic_chip_ops, NULL); if (!domain) { pr_err("Failed to add irqdomain!\n"); diff --git a/drivers/irqchip/irq-imgpdc.c b/drivers/irqchip/irq-imgpdc.c index 85f80bac0961..edd1c03d3956 100644 --- a/drivers/irqchip/irq-imgpdc.c +++ b/drivers/irqchip/irq-imgpdc.c @@ -372,7 +372,7 @@ static int pdc_intc_probe(struct platform_device *pdev) priv->syswake_irq =3D irq; =20 /* Set up an IRQ domain */ - priv->domain =3D irq_domain_add_linear(node, 16, &irq_generic_chip_ops, + priv->domain =3D irq_domain_add_linear_of_node(node, 16, &irq_generic_chi= p_ops, priv); if (unlikely(!priv->domain)) { dev_err(&pdev->dev, "cannot add IRQ domain\n"); diff --git a/drivers/irqchip/irq-imx-gpcv2.c b/drivers/irqchip/irq-imx-gpcv= 2.c index 095ae8e3217e..3fc0ba278107 100644 --- a/drivers/irqchip/irq-imx-gpcv2.c +++ b/drivers/irqchip/irq-imx-gpcv2.c @@ -240,7 +240,7 @@ static int __init imx_gpcv2_irqchip_init(struct device_= node *node, return -ENOMEM; } =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, GPC_MAX_IRQS, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, GPC_MAX_IRQ= S, node, &gpcv2_irqchip_data_domain_ops, cd); if (!domain) { iounmap(cd->gpc_base); diff --git a/drivers/irqchip/irq-imx-intmux.c b/drivers/irqchip/irq-imx-int= mux.c index 787543d07565..adfc3386ad51 100644 --- a/drivers/irqchip/irq-imx-intmux.c +++ b/drivers/irqchip/irq-imx-intmux.c @@ -254,7 +254,7 @@ static int imx_intmux_probe(struct platform_device *pde= v) goto out; } =20 - domain =3D irq_domain_add_linear(np, 32, &imx_intmux_domain_ops, + domain =3D irq_domain_add_linear_of_node(np, 32, &imx_intmux_domain_ops, &data->irqchip_data[i]); if (!domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index b0e9788c0045..52fa0a192822 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -212,7 +212,7 @@ static int imx_irqsteer_probe(struct platform_device *p= dev) /* steer all IRQs into configured channel */ writel_relaxed(BIT(data->channel), data->regs + CHANCTRL); =20 - data->domain =3D irq_domain_add_linear(np, data->reg_num * 32, + data->domain =3D irq_domain_add_linear_of_node(np, data->reg_num * 32, &imx_irqsteer_domain_ops, data); if (!data->domain) { dev_err(&pdev->dev, "failed to create IRQ domain\n"); diff --git a/drivers/irqchip/irq-ingenic-tcu.c b/drivers/irqchip/irq-ingeni= c-tcu.c index 3363f83bd7e9..e1af08dccf4d 100644 --- a/drivers/irqchip/irq-ingenic-tcu.c +++ b/drivers/irqchip/irq-ingenic-tcu.c @@ -114,7 +114,7 @@ static int __init ingenic_tcu_irq_init(struct device_no= de *np, =20 tcu->nb_parent_irqs =3D irqs; =20 - tcu->domain =3D irq_domain_add_linear(np, 32, &irq_generic_chip_ops, + tcu->domain =3D irq_domain_add_linear_of_node(np, 32, &irq_generic_chip_o= ps, NULL); if (!tcu->domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-ingenic.c b/drivers/irqchip/irq-ingenic.c index cee839ca627e..a1324b688324 100644 --- a/drivers/irqchip/irq-ingenic.c +++ b/drivers/irqchip/irq-ingenic.c @@ -90,7 +90,7 @@ static int __init ingenic_intc_of_init(struct device_node= *node, goto out_unmap_irq; } =20 - domain =3D irq_domain_add_linear(node, num_chips * 32, + domain =3D irq_domain_add_linear_of_node(node, num_chips * 32, &irq_generic_chip_ops, NULL); if (!domain) { err =3D -ENOMEM; diff --git a/drivers/irqchip/irq-jcore-aic.c b/drivers/irqchip/irq-jcore-ai= c.c index b9dcc8e78c75..4ec6c85c523a 100644 --- a/drivers/irqchip/irq-jcore-aic.c +++ b/drivers/irqchip/irq-jcore-aic.c @@ -107,7 +107,7 @@ static int __init aic_irq_of_init(struct device_node *n= ode, if (ret < 0) return ret; =20 - domain =3D irq_domain_add_legacy(node, dom_sz - min_irq, min_irq, min_irq, + domain =3D irq_domain_add_legacy_of_node(node, dom_sz - min_irq, min_irq,= min_irq, &jcore_aic_irqdomain_ops, &jcore_aic); if (!domain) diff --git a/drivers/irqchip/irq-keystone.c b/drivers/irqchip/irq-keystone.c index 808c781e2548..0d31aa5d5e99 100644 --- a/drivers/irqchip/irq-keystone.c +++ b/drivers/irqchip/irq-keystone.c @@ -164,7 +164,7 @@ static int keystone_irq_probe(struct platform_device *p= dev) kirq->chip.irq_mask =3D keystone_irq_setmask; kirq->chip.irq_unmask =3D keystone_irq_unmask; =20 - kirq->irqd =3D irq_domain_add_linear(np, KEYSTONE_N_IRQ, + kirq->irqd =3D irq_domain_add_linear_of_node(np, KEYSTONE_N_IRQ, &keystone_irq_ops, kirq); if (!kirq->irqd) { dev_err(dev, "IRQ domain registration failed\n"); diff --git a/drivers/irqchip/irq-lpc32xx.c b/drivers/irqchip/irq-lpc32xx.c index 4d70a857133f..f14f50510c0a 100644 --- a/drivers/irqchip/irq-lpc32xx.c +++ b/drivers/irqchip/irq-lpc32xx.c @@ -210,7 +210,7 @@ static int __init lpc32xx_of_ic_init(struct device_node= *node, return -EINVAL; } =20 - irqc->domain =3D irq_domain_add_linear(node, NR_LPC32XX_IC_IRQS, + irqc->domain =3D irq_domain_add_linear_of_node(node, NR_LPC32XX_IC_IRQS, &lpc32xx_irq_domain_ops, irqc); if (!irqc->domain) { pr_err("unable to add irq domain\n"); diff --git a/drivers/irqchip/irq-ls-extirq.c b/drivers/irqchip/irq-ls-extir= q.c index 139f26b0a6ef..dd0d4e9eeea7 100644 --- a/drivers/irqchip/irq-ls-extirq.c +++ b/drivers/irqchip/irq-ls-extirq.c @@ -208,7 +208,7 @@ ls_extirq_of_init(struct device_node *node, struct devi= ce_node *parent) of_device_is_compatible(node, "fsl,ls1043a-extirq"); raw_spin_lock_init(&priv->lock); =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, priv->nirq, node, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, priv->nirq,= node, &extirq_domain_ops, priv); if (!domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-ls-scfg-msi.c b/drivers/irqchip/irq-ls-scf= g-msi.c index 12fc48555634..64bb8916a005 100644 --- a/drivers/irqchip/irq-ls-scfg-msi.c +++ b/drivers/irqchip/irq-ls-scfg-msi.c @@ -216,7 +216,7 @@ static void ls_scfg_msi_irq_handler(struct irq_desc *de= sc) static int ls_scfg_msi_domains_init(struct ls_scfg_msi *msi_data) { /* Initialize MSI domain parent */ - msi_data->parent =3D irq_domain_add_linear(NULL, + msi_data->parent =3D irq_domain_add_linear_of_node(NULL, msi_data->irqs_num, &ls_scfg_msi_domain_ops, msi_data); diff --git a/drivers/irqchip/irq-ls1x.c b/drivers/irqchip/irq-ls1x.c index 77a3f7dfaaf0..740dc38582f1 100644 --- a/drivers/irqchip/irq-ls1x.c +++ b/drivers/irqchip/irq-ls1x.c @@ -126,7 +126,7 @@ static int __init ls1x_intc_of_init(struct device_node = *node, } =20 /* Set up an IRQ domain */ - priv->domain =3D irq_domain_add_linear(node, 32, &irq_generic_chip_ops, + priv->domain =3D irq_domain_add_linear_of_node(node, 32, &irq_generic_chi= p_ops, NULL); if (!priv->domain) { pr_err("ls1x-irq: cannot add IRQ domain\n"); diff --git a/drivers/irqchip/irq-mchp-eic.c b/drivers/irqchip/irq-mchp-eic.c index 5dcd94c000a2..fccd5a118df5 100644 --- a/drivers/irqchip/irq-mchp-eic.c +++ b/drivers/irqchip/irq-mchp-eic.c @@ -248,7 +248,7 @@ static int mchp_eic_init(struct device_node *node, stru= ct device_node *parent) eic->irqs[i] =3D irq.args[1]; } =20 - eic->domain =3D irq_domain_add_hierarchy(parent_domain, 0, MCHP_EIC_NIRQ, + eic->domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, MCHP_E= IC_NIRQ, node, &mchp_eic_domain_ops, eic); if (!eic->domain) { pr_err("%pOF: Failed to add domain\n", node); diff --git a/drivers/irqchip/irq-mips-cpu.c b/drivers/irqchip/irq-mips-cpu.c index 0c7ae71a0af0..818d79db02ce 100644 --- a/drivers/irqchip/irq-mips-cpu.c +++ b/drivers/irqchip/irq-mips-cpu.c @@ -238,7 +238,7 @@ static void mips_cpu_register_ipi_domain(struct device_= node *of_node) struct cpu_ipi_domain_state *ipi_domain_state; =20 ipi_domain_state =3D kzalloc(sizeof(*ipi_domain_state), GFP_KERNEL); - ipi_domain =3D irq_domain_add_hierarchy(irq_domain, + ipi_domain =3D irq_domain_add_hierarchy_of_node(irq_domain, IRQ_DOMAIN_FLAG_IPI_SINGLE, 2, of_node, &mips_cpu_ipi_chip_ops, @@ -260,7 +260,7 @@ static void __init __mips_cpu_irq_init(struct device_no= de *of_node) clear_c0_status(ST0_IM); clear_c0_cause(CAUSEF_IP); =20 - irq_domain =3D irq_domain_add_legacy(of_node, 8, MIPS_CPU_IRQ_BASE, 0, + irq_domain =3D irq_domain_add_legacy_of_node(of_node, 8, MIPS_CPU_IRQ_BAS= E, 0, &mips_cpu_intc_irq_domain_ops, NULL); if (!irq_domain) diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c index bca8053864b2..9082c1effa65 100644 --- a/drivers/irqchip/irq-mips-gic.c +++ b/drivers/irqchip/irq-mips-gic.c @@ -841,7 +841,7 @@ static int gic_register_ipi_domain(struct device_node *= node) struct irq_domain *gic_ipi_domain; unsigned int v[2], num_ipis; =20 - gic_ipi_domain =3D irq_domain_add_hierarchy(gic_irq_domain, + gic_ipi_domain =3D irq_domain_add_hierarchy_of_node(gic_irq_domain, IRQ_DOMAIN_FLAG_IPI_PER_CPU, GIC_NUM_LOCAL_INTRS + gic_shared_intrs, node, &gic_ipi_domain_ops, NULL); @@ -963,7 +963,7 @@ static int __init gic_of_init(struct device_node *node, gic_irq_dispatch); } =20 - gic_irq_domain =3D irq_domain_add_simple(node, GIC_NUM_LOCAL_INTRS + + gic_irq_domain =3D irq_domain_add_simple_of_node(node, GIC_NUM_LOCAL_INTR= S + gic_shared_intrs, 0, &gic_irq_domain_ops, NULL); if (!gic_irq_domain) { diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c index 25cf4f80e767..af888d9fcfda 100644 --- a/drivers/irqchip/irq-mmp.c +++ b/drivers/irqchip/irq-mmp.c @@ -261,7 +261,7 @@ static int __init mmp_init_bases(struct device_node *no= de) } =20 icu_data[0].virq_base =3D 0; - icu_data[0].domain =3D irq_domain_add_linear(node, nr_irqs, + icu_data[0].domain =3D irq_domain_add_linear_of_node(node, nr_irqs, &mmp_irq_domain_ops, &icu_data[0]); for (irq =3D 0; irq < nr_irqs; irq++) { @@ -391,7 +391,7 @@ static int __init mmp2_mux_of_init(struct device_node *= node, return -EINVAL; =20 icu_data[i].virq_base =3D 0; - icu_data[i].domain =3D irq_domain_add_linear(node, nr_irqs, + icu_data[i].domain =3D irq_domain_add_linear_of_node(node, nr_irqs, &mmp_irq_domain_ops, &icu_data[i]); for (irq =3D 0; irq < nr_irqs; irq++) { diff --git a/drivers/irqchip/irq-mscc-ocelot.c b/drivers/irqchip/irq-mscc-o= celot.c index 3dc745b14caf..31fb6e9c63ed 100644 --- a/drivers/irqchip/irq-mscc-ocelot.c +++ b/drivers/irqchip/irq-mscc-ocelot.c @@ -132,7 +132,7 @@ static int __init vcoreiii_irq_init(struct device_node = *node, if (!parent_irq) return -EINVAL; =20 - domain =3D irq_domain_add_linear(node, p->n_irq, + domain =3D irq_domain_add_linear_of_node(node, p->n_irq, &irq_generic_chip_ops, NULL); if (!domain) { pr_err("%pOFn: unable to add irq domain\n", node); diff --git a/drivers/irqchip/irq-mst-intc.c b/drivers/irqchip/irq-mst-intc.c index f6133ae28155..21b78e6dbb02 100644 --- a/drivers/irqchip/irq-mst-intc.c +++ b/drivers/irqchip/irq-mst-intc.c @@ -273,7 +273,7 @@ static int __init mst_intc_of_init(struct device_node *= dn, raw_spin_lock_init(&cd->lock); cd->irq_start =3D irq_start; cd->nr_irqs =3D irq_end - irq_start + 1; - domain =3D irq_domain_add_hierarchy(domain_parent, 0, cd->nr_irqs, dn, + domain =3D irq_domain_add_hierarchy_of_node(domain_parent, 0, cd->nr_irqs= , dn, &mst_intc_domain_ops, cd); if (!domain) { iounmap(cd->base); diff --git a/drivers/irqchip/irq-mtk-cirq.c b/drivers/irqchip/irq-mtk-cirq.c index 76bc0283e3b9..3673848886ac 100644 --- a/drivers/irqchip/irq-mtk-cirq.c +++ b/drivers/irqchip/irq-mtk-cirq.c @@ -336,7 +336,7 @@ static int __init mtk_cirq_of_init(struct device_node *= node, cirq_data->offsets =3D match->data; =20 irq_num =3D cirq_data->ext_irq_end - cirq_data->ext_irq_start + 1; - domain =3D irq_domain_add_hierarchy(domain_parent, 0, + domain =3D irq_domain_add_hierarchy_of_node(domain_parent, 0, irq_num, node, &cirq_domain_ops, cirq_data); if (!domain) { diff --git a/drivers/irqchip/irq-mtk-sysirq.c b/drivers/irqchip/irq-mtk-sys= irq.c index 586e52d5442b..9bc644fd5bf0 100644 --- a/drivers/irqchip/irq-mtk-sysirq.c +++ b/drivers/irqchip/irq-mtk-sysirq.c @@ -207,7 +207,7 @@ static int __init mtk_sysirq_of_init(struct device_node= *node, chip_data->which_word[i] =3D word; } =20 - domain =3D irq_domain_add_hierarchy(domain_parent, 0, intpol_num, node, + domain =3D irq_domain_add_hierarchy_of_node(domain_parent, 0, intpol_num,= node, &sysirq_domain_ops, chip_data); if (!domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-mvebu-pic.c b/drivers/irqchip/irq-mvebu-pi= c.c index 3888b7585981..65ad777278e9 100644 --- a/drivers/irqchip/irq-mvebu-pic.c +++ b/drivers/irqchip/irq-mvebu-pic.c @@ -150,7 +150,7 @@ static int mvebu_pic_probe(struct platform_device *pdev) return -EINVAL; } =20 - pic->domain =3D irq_domain_add_linear(node, PIC_MAX_IRQS, + pic->domain =3D irq_domain_add_linear_of_node(node, PIC_MAX_IRQS, &mvebu_pic_domain_ops, pic); if (!pic->domain) { dev_err(&pdev->dev, "Failed to allocate irq domain\n"); diff --git a/drivers/irqchip/irq-mxs.c b/drivers/irqchip/irq-mxs.c index d67b5da38982..9a9e55311bb4 100644 --- a/drivers/irqchip/irq-mxs.c +++ b/drivers/irqchip/irq-mxs.c @@ -162,7 +162,7 @@ static const struct irq_domain_ops icoll_irq_domain_ops= =3D { static void __init icoll_add_domain(struct device_node *np, int num) { - icoll_domain =3D irq_domain_add_linear(np, num, + icoll_domain =3D irq_domain_add_linear_of_node(np, num, &icoll_irq_domain_ops, NULL); =20 if (!icoll_domain) diff --git a/drivers/irqchip/irq-nvic.c b/drivers/irqchip/irq-nvic.c index ba6332b00a0a..6e2dd487086c 100644 --- a/drivers/irqchip/irq-nvic.c +++ b/drivers/irqchip/irq-nvic.c @@ -90,7 +90,7 @@ static int __init nvic_of_init(struct device_node *node, irqs =3D NVIC_MAX_IRQ; =20 nvic_irq_domain =3D - irq_domain_add_linear(node, irqs, &nvic_irq_domain_ops, NULL); + irq_domain_add_linear_of_node(node, irqs, &nvic_irq_domain_ops, NULL); =20 if (!nvic_irq_domain) { pr_warn("Failed to allocate irq domain\n"); diff --git a/drivers/irqchip/irq-omap-intc.c b/drivers/irqchip/irq-omap-int= c.c index ad84a2f03368..ccc9eae8e035 100644 --- a/drivers/irqchip/irq-omap-intc.c +++ b/drivers/irqchip/irq-omap-intc.c @@ -248,7 +248,7 @@ static int __init omap_init_irq_of(struct device_node *= node) if (WARN_ON(!omap_irq_base)) return -ENOMEM; =20 - domain =3D irq_domain_add_linear(node, omap_nr_irqs, + domain =3D irq_domain_add_linear_of_node(node, omap_nr_irqs, &irq_generic_chip_ops, NULL); =20 omap_irq_soft_reset(); @@ -274,7 +274,7 @@ static int __init omap_init_irq_legacy(u32 base, struct= device_node *node) irq_base =3D 0; } =20 - domain =3D irq_domain_add_legacy(node, omap_nr_irqs, irq_base, 0, + domain =3D irq_domain_add_legacy_of_node(node, omap_nr_irqs, irq_base, 0, &irq_domain_simple_ops, NULL); =20 omap_irq_soft_reset(); diff --git a/drivers/irqchip/irq-or1k-pic.c b/drivers/irqchip/irq-or1k-pic.c index f289ccd95291..b10a16d759bb 100644 --- a/drivers/irqchip/irq-or1k-pic.c +++ b/drivers/irqchip/irq-or1k-pic.c @@ -144,7 +144,7 @@ static int __init or1k_pic_init(struct device_node *nod= e, /* Disable all interrupts until explicitly requested */ mtspr(SPR_PICMR, (0UL)); =20 - root_domain =3D irq_domain_add_linear(node, 32, &or1k_irq_domain_ops, + root_domain =3D irq_domain_add_linear_of_node(node, 32, &or1k_irq_domain_= ops, pic); =20 set_handle_irq(or1k_pic_handle_irq); diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c index 4e4e874e09a8..224ef54473e9 100644 --- a/drivers/irqchip/irq-orion.c +++ b/drivers/irqchip/irq-orion.c @@ -59,7 +59,7 @@ static int __init orion_irq_init(struct device_node *np, /* count number of irq chips by valid reg addresses */ num_chips =3D of_address_count(np); =20 - orion_irq_domain =3D irq_domain_add_linear(np, + orion_irq_domain =3D irq_domain_add_linear_of_node(np, num_chips * ORION_IRQS_PER_CHIP, &irq_generic_chip_ops, NULL); if (!orion_irq_domain) @@ -146,7 +146,7 @@ static int __init orion_bridge_irq_init(struct device_n= ode *np, /* get optional number of interrupts provided */ of_property_read_u32(np, "marvell,#interrupts", &nrirqs); =20 - domain =3D irq_domain_add_linear(np, nrirqs, + domain =3D irq_domain_add_linear_of_node(np, nrirqs, &irq_generic_chip_ops, NULL); if (!domain) { pr_err("%pOFn: unable to add irq domain\n", np); diff --git a/drivers/irqchip/irq-owl-sirq.c b/drivers/irqchip/irq-owl-sirq.c index 6e4127465094..80079d40a2ca 100644 --- a/drivers/irqchip/irq-owl-sirq.c +++ b/drivers/irqchip/irq-owl-sirq.c @@ -323,7 +323,7 @@ static int __init owl_sirq_init(const struct owl_sirq_p= arams *params, owl_sirq_clear_set_extctl(chip_data, 0, INTC_EXTCTL_CLK_SEL, i); } =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, NUM_SIRQ, node, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, NUM_SIRQ, n= ode, &owl_sirq_domain_ops, chip_data); if (!domain) { pr_err("%pOF: failed to add domain\n", node); diff --git a/drivers/irqchip/irq-pic32-evic.c b/drivers/irqchip/irq-pic32-e= vic.c index b546b1036e12..44a164bc7dcf 100644 --- a/drivers/irqchip/irq-pic32-evic.c +++ b/drivers/irqchip/irq-pic32-evic.c @@ -227,7 +227,7 @@ static int __init pic32_of_init(struct device_node *nod= e, goto err_iounmap; } =20 - evic_irq_domain =3D irq_domain_add_linear(node, nchips * 32, + evic_irq_domain =3D irq_domain_add_linear_of_node(node, nchips * 32, &pic32_irq_domain_ops, priv); if (!evic_irq_domain) { diff --git a/drivers/irqchip/irq-pruss-intc.c b/drivers/irqchip/irq-pruss-i= ntc.c index bee01980b463..c532b37bda0b 100644 --- a/drivers/irqchip/irq-pruss-intc.c +++ b/drivers/irqchip/irq-pruss-intc.c @@ -555,7 +555,7 @@ static int pruss_intc_probe(struct platform_device *pde= v) =20 mutex_init(&intc->lock); =20 - intc->domain =3D irq_domain_add_linear(dev->of_node, max_system_events, + intc->domain =3D irq_domain_add_linear_of_node(dev->of_node, max_system_e= vents, &pruss_intc_irq_domain_ops, intc); if (!intc->domain) return -ENOMEM; diff --git a/drivers/irqchip/irq-realtek-rtl.c b/drivers/irqchip/irq-realte= k-rtl.c index 2a349082af81..6229da7a9427 100644 --- a/drivers/irqchip/irq-realtek-rtl.c +++ b/drivers/irqchip/irq-realtek-rtl.c @@ -162,7 +162,7 @@ static int __init realtek_rtl_of_init(struct device_nod= e *node, struct device_no else if (!parent_irq) return -ENODEV; =20 - domain =3D irq_domain_add_linear(node, RTL_ICTL_NUM_INPUTS, &irq_domain_o= ps, NULL); + domain =3D irq_domain_add_linear_of_node(node, RTL_ICTL_NUM_INPUTS, &irq_= domain_ops, NULL); if (!domain) return -ENOMEM; =20 diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c b/drivers/irqchip/ir= q-renesas-intc-irqpin.c index 954419f2460d..4954d16afbb5 100644 --- a/drivers/irqchip/irq-renesas-intc-irqpin.c +++ b/drivers/irqchip/irq-renesas-intc-irqpin.c @@ -513,7 +513,7 @@ static int intc_irqpin_probe(struct platform_device *pd= ev) irq_chip->irq_set_wake =3D intc_irqpin_irq_set_wake; irq_chip->flags =3D IRQCHIP_MASK_ON_SUSPEND; =20 - p->irq_domain =3D irq_domain_add_simple(dev->of_node, nirqs, 0, + p->irq_domain =3D irq_domain_add_simple_of_node(dev->of_node, nirqs, 0, &intc_irqpin_irq_domain_ops, p); if (!p->irq_domain) { ret =3D -ENXIO; diff --git a/drivers/irqchip/irq-renesas-irqc.c b/drivers/irqchip/irq-renes= as-irqc.c index cbce8ffc7de4..aafd41c2e5e6 100644 --- a/drivers/irqchip/irq-renesas-irqc.c +++ b/drivers/irqchip/irq-renesas-irqc.c @@ -168,7 +168,7 @@ static int irqc_probe(struct platform_device *pdev) =20 p->cpu_int_base =3D p->iomem + IRQC_INT_CPU_BASE(0); /* SYS-SPI */ =20 - p->irq_domain =3D irq_domain_add_linear(dev->of_node, p->number_of_irqs, + p->irq_domain =3D irq_domain_add_linear_of_node(dev->of_node, p->number_o= f_irqs, &irq_generic_chip_ops, p); if (!p->irq_domain) { ret =3D -ENXIO; diff --git a/drivers/irqchip/irq-renesas-rza1.c b/drivers/irqchip/irq-renes= as-rza1.c index d4e6a68889ec..540f76a077d4 100644 --- a/drivers/irqchip/irq-renesas-rza1.c +++ b/drivers/irqchip/irq-renesas-rza1.c @@ -231,7 +231,7 @@ static int rza1_irqc_probe(struct platform_device *pdev) priv->chip.irq_set_type =3D rza1_irqc_set_type; priv->chip.flags =3D IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE; =20 - priv->irq_domain =3D irq_domain_add_hierarchy(parent, 0, IRQC_NUM_IRQ, + priv->irq_domain =3D irq_domain_add_hierarchy_of_node(parent, 0, IRQC_NUM= _IRQ, np, &rza1_irqc_domain_ops, priv); if (!priv->irq_domain) { diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-rene= sas-rzg2l.c index 99e27e01b0b1..0f81f094371b 100644 --- a/drivers/irqchip/irq-renesas-rzg2l.c +++ b/drivers/irqchip/irq-renesas-rzg2l.c @@ -581,7 +581,7 @@ static int rzg2l_irqc_common_init(struct device_node *n= ode, struct device_node * =20 raw_spin_lock_init(&rzg2l_irqc_data->lock); =20 - irq_domain =3D irq_domain_add_hierarchy(parent_domain, 0, IRQC_NUM_IRQ, + irq_domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, IRQC_NU= M_IRQ, node, &rzg2l_irqc_domain_ops, rzg2l_irqc_data); if (!irq_domain) { diff --git a/drivers/irqchip/irq-renesas-rzv2h.c b/drivers/irqchip/irq-rene= sas-rzv2h.c index fe2d29e91026..0593fb843a61 100644 --- a/drivers/irqchip/irq-renesas-rzv2h.c +++ b/drivers/irqchip/irq-renesas-rzv2h.c @@ -481,7 +481,7 @@ static int rzv2h_icu_init(struct device_node *node, str= uct device_node *parent) =20 raw_spin_lock_init(&rzv2h_icu_data->lock); =20 - irq_domain =3D irq_domain_add_hierarchy(parent_domain, 0, ICU_NUM_IRQ, no= de, + irq_domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, ICU_NUM= _IRQ, node, &rzv2h_icu_domain_ops, rzv2h_icu_data); if (!irq_domain) { dev_err(&pdev->dev, "failed to add irq domain\n"); diff --git a/drivers/irqchip/irq-sa11x0.c b/drivers/irqchip/irq-sa11x0.c index 9d0b80271949..26e83111d1fd 100644 --- a/drivers/irqchip/irq-sa11x0.c +++ b/drivers/irqchip/irq-sa11x0.c @@ -162,7 +162,7 @@ void __init sa11x0_init_irq_nodt(int irq_start, resourc= e_size_t io_start) */ writel_relaxed(1, iobase + ICCR); =20 - sa1100_normal_irqdomain =3D irq_domain_add_simple(NULL, + sa1100_normal_irqdomain =3D irq_domain_add_simple_of_node(NULL, 32, irq_start, &sa1100_normal_irqdomain_ops, NULL); =20 diff --git a/drivers/irqchip/irq-sni-exiu.c b/drivers/irqchip/irq-sni-exiu.c index 7d10bf6e5824..75a1db427c83 100644 --- a/drivers/irqchip/irq-sni-exiu.c +++ b/drivers/irqchip/irq-sni-exiu.c @@ -253,7 +253,7 @@ static int __init exiu_dt_init(struct device_node *node, if (IS_ERR(data)) return PTR_ERR(data); =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, NUM_IRQS, node, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, NUM_IRQS, n= ode, &exiu_domain_ops, data); if (!domain) { pr_err("%pOF: failed to allocate domain\n", node); diff --git a/drivers/irqchip/irq-sp7021-intc.c b/drivers/irqchip/irq-sp7021= -intc.c index bed78d1def3d..0152c1507dce 100644 --- a/drivers/irqchip/irq-sp7021-intc.c +++ b/drivers/irqchip/irq-sp7021-intc.c @@ -256,7 +256,7 @@ static int __init sp_intc_init_dt(struct device_node *n= ode, struct device_node * writel_relaxed(~0, REG_INTR_CLEAR + i * 4); } =20 - sp_intc.domain =3D irq_domain_add_linear(node, SP_INTC_NR_IRQS, + sp_intc.domain =3D irq_domain_add_linear_of_node(node, SP_INTC_NR_IRQS, &sp_intc_dm_ops, &sp_intc); if (!sp_intc.domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-starfive-jh8100-intc.c b/drivers/irqchip/i= rq-starfive-jh8100-intc.c index 0f5837176e53..fcffad01305f 100644 --- a/drivers/irqchip/irq-starfive-jh8100-intc.c +++ b/drivers/irqchip/irq-starfive-jh8100-intc.c @@ -158,7 +158,7 @@ static int __init starfive_intc_init(struct device_node= *intc, =20 raw_spin_lock_init(&irqc->lock); =20 - irqc->domain =3D irq_domain_add_linear(intc, STARFIVE_INTC_SRC_IRQ_NUM, + irqc->domain =3D irq_domain_add_linear_of_node(intc, STARFIVE_INTC_SRC_IR= Q_NUM, &starfive_intc_domain_ops, irqc); if (!irqc->domain) { pr_err("Unable to create IRQ domain\n"); diff --git a/drivers/irqchip/irq-stm32-exti.c b/drivers/irqchip/irq-stm32-e= xti.c index 7c6a0080c330..50f576c5b01b 100644 --- a/drivers/irqchip/irq-stm32-exti.c +++ b/drivers/irqchip/irq-stm32-exti.c @@ -344,7 +344,7 @@ static int __init stm32_exti_init(const struct stm32_ex= ti_drv_data *drv_data, if (!host_data) return -ENOMEM; =20 - domain =3D irq_domain_add_linear(node, drv_data->bank_nr * IRQS_PER_BANK, + domain =3D irq_domain_add_linear_of_node(node, drv_data->bank_nr * IRQS_P= ER_BANK, &irq_exti_domain_ops, NULL); if (!domain) { pr_err("%pOFn: Could not register interrupt domain.\n", diff --git a/drivers/irqchip/irq-stm32mp-exti.c b/drivers/irqchip/irq-stm32= mp-exti.c index 649b84f12efc..a396bfc519f0 100644 --- a/drivers/irqchip/irq-stm32mp-exti.c +++ b/drivers/irqchip/irq-stm32mp-exti.c @@ -682,7 +682,7 @@ static int stm32mp_exti_probe(struct platform_device *p= dev) return -EINVAL; } =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, drv_data->bank_nr * IRQS_PER_BANK, np, &stm32mp_exti_domain_ops, host_data); diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c index dd506ebfdacb..952a47740333 100644 --- a/drivers/irqchip/irq-sun4i.c +++ b/drivers/irqchip/irq-sun4i.c @@ -133,7 +133,7 @@ static int __init sun4i_of_init(struct device_node *nod= e, /* Configure the external interrupt source type */ writel(0x00, irq_ic_data->irq_base + SUN4I_IRQ_NMI_CTRL_REG); =20 - irq_ic_data->irq_domain =3D irq_domain_add_linear(node, 3 * 32, + irq_ic_data->irq_domain =3D irq_domain_add_linear_of_node(node, 3 * 32, &sun4i_irq_ops, NULL); if (!irq_ic_data->irq_domain) panic("%pOF: unable to create IRQ domain\n", node); diff --git a/drivers/irqchip/irq-sun6i-r.c b/drivers/irqchip/irq-sun6i-r.c index 99958d470d62..26d57f1c048c 100644 --- a/drivers/irqchip/irq-sun6i-r.c +++ b/drivers/irqchip/irq-sun6i-r.c @@ -338,7 +338,7 @@ static int __init sun6i_r_intc_init(struct device_node = *node, return PTR_ERR(base); } =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, 0, node, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, 0, node, &sun6i_r_intc_domain_ops, NULL); if (!domain) { pr_err("%pOF: Failed to allocate domain\n", node); diff --git a/drivers/irqchip/irq-sunxi-nmi.c b/drivers/irqchip/irq-sunxi-nm= i.c index bb92fd85e975..d3642a2a6975 100644 --- a/drivers/irqchip/irq-sunxi-nmi.c +++ b/drivers/irqchip/irq-sunxi-nmi.c @@ -152,7 +152,7 @@ static int __init sunxi_sc_nmi_irq_init(struct device_n= ode *node, int ret; =20 =20 - domain =3D irq_domain_add_linear(node, 1, &irq_generic_chip_ops, NULL); + domain =3D irq_domain_add_linear_of_node(node, 1, &irq_generic_chip_ops, = NULL); if (!domain) { pr_err("Could not register interrupt domain.\n"); return -ENOMEM; diff --git a/drivers/irqchip/irq-tb10x.c b/drivers/irqchip/irq-tb10x.c index d59bfbe8c6d0..51e9a25dead4 100644 --- a/drivers/irqchip/irq-tb10x.c +++ b/drivers/irqchip/irq-tb10x.c @@ -121,7 +121,7 @@ static int __init of_tb10x_init_irq(struct device_node = *ictl, goto ioremap_fail; } =20 - domain =3D irq_domain_add_linear(ictl, AB_IRQCTL_MAXIRQ, + domain =3D irq_domain_add_linear_of_node(ictl, AB_IRQCTL_MAXIRQ, &irq_generic_chip_ops, NULL); if (!domain) { ret =3D -ENOMEM; diff --git a/drivers/irqchip/irq-tegra.c b/drivers/irqchip/irq-tegra.c index ad3e2c1b3c87..f64d4e3734a6 100644 --- a/drivers/irqchip/irq-tegra.c +++ b/drivers/irqchip/irq-tegra.c @@ -330,7 +330,7 @@ static int __init tegra_ictlr_init(struct device_node *= node, node, num_ictlrs, soc->num_ictlrs); =20 =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, num_ictlrs * 32, + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, num_ictlrs = * 32, node, &tegra_ictlr_domain_ops, lic); if (!domain) { diff --git a/drivers/irqchip/irq-ti-sci-inta.c b/drivers/irqchip/irq-ti-sci= -inta.c index 6c9e2bb99a96..7e071cefbc7f 100644 --- a/drivers/irqchip/irq-ti-sci-inta.c +++ b/drivers/irqchip/irq-ti-sci-inta.c @@ -701,7 +701,7 @@ static int ti_sci_inta_irq_domain_probe(struct platform= _device *pdev) if (ret) return ret; =20 - domain =3D irq_domain_add_linear(dev_of_node(dev), + domain =3D irq_domain_add_linear_of_node(dev_of_node(dev), ti_sci_get_num_resources(inta->vint), &ti_sci_inta_irq_domain_ops, inta); if (!domain) { diff --git a/drivers/irqchip/irq-ti-sci-intr.c b/drivers/irqchip/irq-ti-sci= -intr.c index 930313ed772d..74bc81e01f01 100644 --- a/drivers/irqchip/irq-ti-sci-intr.c +++ b/drivers/irqchip/irq-ti-sci-intr.c @@ -274,7 +274,7 @@ static int ti_sci_intr_irq_domain_probe(struct platform= _device *pdev) return PTR_ERR(intr->out_irqs); } =20 - domain =3D irq_domain_add_hierarchy(parent_domain, 0, 0, dev_of_node(dev), + domain =3D irq_domain_add_hierarchy_of_node(parent_domain, 0, 0, dev_of_n= ode(dev), &ti_sci_intr_irq_domain_ops, intr); if (!domain) { dev_err(dev, "Failed to allocate IRQ domain\n"); diff --git a/drivers/irqchip/irq-ts4800.c b/drivers/irqchip/irq-ts4800.c index cc219f28d317..b24f6efad73f 100644 --- a/drivers/irqchip/irq-ts4800.c +++ b/drivers/irqchip/irq-ts4800.c @@ -125,7 +125,7 @@ static int ts4800_ic_probe(struct platform_device *pdev) return -EINVAL; } =20 - data->domain =3D irq_domain_add_linear(node, 8, &ts4800_ic_ops, data); + data->domain =3D irq_domain_add_linear_of_node(node, 8, &ts4800_ic_ops, d= ata); if (!data->domain) { dev_err(&pdev->dev, "cannot add IRQ domain\n"); return -ENOMEM; diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-ver= satile-fpga.c index 0abc8934c2ee..da83cd2be928 100644 --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c @@ -176,7 +176,7 @@ static void __init fpga_irq_init(void __iomem *base, in= t parent_irq, f); } =20 - f->domain =3D irq_domain_add_linear(node, fls(valid), + f->domain =3D irq_domain_add_linear_of_node(node, fls(valid), &fpga_irqdomain_ops, f); =20 /* This will allocate all valid descriptors in the linear case */ diff --git a/drivers/irqchip/irq-vf610-mscm-ir.c b/drivers/irqchip/irq-vf61= 0-mscm-ir.c index 2b9a8ba58e26..6a3b029d7f65 100644 --- a/drivers/irqchip/irq-vf610-mscm-ir.c +++ b/drivers/irqchip/irq-vf610-mscm-ir.c @@ -209,7 +209,7 @@ static int __init vf610_mscm_ir_of_init(struct device_n= ode *node, regmap_read(mscm_cp_regmap, MSCM_CPxNUM, &cpuid); mscm_ir_data->cpu_mask =3D 0x1 << cpuid; =20 - domain =3D irq_domain_add_hierarchy(domain_parent, 0, + domain =3D irq_domain_add_hierarchy_of_node(domain_parent, 0, MSCM_IRSPRC_NUM, node, &mscm_irq_domain_ops, mscm_ir_data); if (!domain) { diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c index ea93e7236c4a..1fa865d949cb 100644 --- a/drivers/irqchip/irq-vic.c +++ b/drivers/irqchip/irq-vic.c @@ -289,7 +289,7 @@ static void __init vic_register(void __iomem *base, uns= igned int parent_irq, vic_handle_irq_cascaded, v); } =20 - v->domain =3D irq_domain_add_simple(node, fls(valid_sources), irq, + v->domain =3D irq_domain_add_simple_of_node(node, fls(valid_sources), irq, &vic_irqdomain_ops, v); /* create an IRQ mapping for each valid IRQ */ for (i =3D 0; i < fls(valid_sources); i++) diff --git a/drivers/irqchip/irq-vt8500.c b/drivers/irqchip/irq-vt8500.c index e17dd3a8c2d5..b24504c8ae0d 100644 --- a/drivers/irqchip/irq-vt8500.c +++ b/drivers/irqchip/irq-vt8500.c @@ -200,7 +200,7 @@ static int __init vt8500_irq_init(struct device_node *n= ode, } =20 intc[active_cnt].base =3D of_iomap(np, 0); - intc[active_cnt].domain =3D irq_domain_add_linear(node, 64, + intc[active_cnt].domain =3D irq_domain_add_linear_of_node(node, 64, &vt8500_irq_domain_ops, &intc[active_cnt]); =20 if (!intc[active_cnt].base) { diff --git a/drivers/irqchip/irq-wpcm450-aic.c b/drivers/irqchip/irq-wpcm45= 0-aic.c index 91df62a64cd9..0d24f13a2a70 100644 --- a/drivers/irqchip/irq-wpcm450-aic.c +++ b/drivers/irqchip/irq-wpcm450-aic.c @@ -154,7 +154,7 @@ static int __init wpcm450_aic_of_init(struct device_nod= e *node, =20 set_handle_irq(wpcm450_aic_handle_irq); =20 - aic->domain =3D irq_domain_add_linear(node, AIC_NUM_IRQS, &wpcm450_aic_op= s, aic); + aic->domain =3D irq_domain_add_linear_of_node(node, AIC_NUM_IRQS, &wpcm45= 0_aic_ops, aic); =20 return 0; } diff --git a/drivers/irqchip/irq-xilinx-intc.c b/drivers/irqchip/irq-xilinx= -intc.c index 38727e9cc713..11f79e37b7b0 100644 --- a/drivers/irqchip/irq-xilinx-intc.c +++ b/drivers/irqchip/irq-xilinx-intc.c @@ -212,7 +212,7 @@ static int __init xilinx_intc_of_init(struct device_nod= e *intc, xintc_write(irqc, MER, MER_HIE | MER_ME); } =20 - irqc->root_domain =3D irq_domain_add_linear(intc, irqc->nr_irq, + irqc->root_domain =3D irq_domain_add_linear_of_node(intc, irqc->nr_irq, &xintc_irq_domain_ops, irqc); if (!irqc->root_domain) { pr_err("irq-xilinx: Unable to create IRQ domain\n"); diff --git a/drivers/irqchip/irq-xtensa-mx.c b/drivers/irqchip/irq-xtensa-m= x.c index 9b441d180299..4fb96943f1b5 100644 --- a/drivers/irqchip/irq-xtensa-mx.c +++ b/drivers/irqchip/irq-xtensa-mx.c @@ -167,7 +167,7 @@ static void __init xtensa_mx_init_common(struct irq_dom= ain *root_domain) int __init xtensa_mx_init_legacy(struct device_node *interrupt_parent) { struct irq_domain *root_domain =3D - irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0, + irq_domain_add_legacy_of_node(NULL, NR_IRQS - 1, 1, 0, &xtensa_mx_irq_domain_ops, &xtensa_mx_irq_chip); xtensa_mx_init_common(root_domain); @@ -178,7 +178,7 @@ static int __init xtensa_mx_init(struct device_node *np, struct device_node *interrupt_parent) { struct irq_domain *root_domain =3D - irq_domain_add_linear(np, NR_IRQS, &xtensa_mx_irq_domain_ops, + irq_domain_add_linear_of_node(np, NR_IRQS, &xtensa_mx_irq_domain_ops, &xtensa_mx_irq_chip); xtensa_mx_init_common(root_domain); return 0; diff --git a/drivers/irqchip/irq-xtensa-pic.c b/drivers/irqchip/irq-xtensa-= pic.c index 9be7b7c5cd23..9205506877cb 100644 --- a/drivers/irqchip/irq-xtensa-pic.c +++ b/drivers/irqchip/irq-xtensa-pic.c @@ -85,7 +85,7 @@ static struct irq_chip xtensa_irq_chip =3D { int __init xtensa_pic_init_legacy(struct device_node *interrupt_parent) { struct irq_domain *root_domain =3D - irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0, + irq_domain_add_legacy_of_node(NULL, NR_IRQS - 1, 1, 0, &xtensa_irq_domain_ops, &xtensa_irq_chip); irq_set_default_domain(root_domain); return 0; @@ -95,7 +95,7 @@ static int __init xtensa_pic_init(struct device_node *np, struct device_node *interrupt_parent) { struct irq_domain *root_domain =3D - irq_domain_add_linear(np, NR_IRQS, &xtensa_irq_domain_ops, + irq_domain_add_linear_of_node(np, NR_IRQS, &xtensa_irq_domain_ops, &xtensa_irq_chip); irq_set_default_domain(root_domain); return 0; diff --git a/drivers/irqchip/irq-zevio.c b/drivers/irqchip/irq-zevio.c index 7a72620fc478..005dcb58a5b7 100644 --- a/drivers/irqchip/irq-zevio.c +++ b/drivers/irqchip/irq-zevio.c @@ -92,7 +92,7 @@ static int __init zevio_of_init(struct device_node *node, zevio_init_irq_base(zevio_irq_io + IO_IRQ_BASE); zevio_init_irq_base(zevio_irq_io + IO_FIQ_BASE); =20 - zevio_irq_domain =3D irq_domain_add_linear(node, MAX_INTRS, + zevio_irq_domain =3D irq_domain_add_linear_of_node(node, MAX_INTRS, &irq_generic_chip_ops, NULL); BUG_ON(!zevio_irq_domain); =20 diff --git a/drivers/irqchip/spear-shirq.c b/drivers/irqchip/spear-shirq.c index 7c17a6f643ef..bbd4c53a9f6c 100644 --- a/drivers/irqchip/spear-shirq.c +++ b/drivers/irqchip/spear-shirq.c @@ -239,7 +239,7 @@ static int __init shirq_init(struct spear_shirq **shirq= _blocks, int block_nr, goto err_unmap; } =20 - shirq_domain =3D irq_domain_add_legacy(np, nr_irqs, virq_base, 0, + shirq_domain =3D irq_domain_add_legacy_of_node(np, nr_irqs, virq_base, 0, &irq_domain_simple_ops, NULL); if (WARN_ON(!shirq_domain)) { pr_warn("%s: irq domain init failed\n", __func__); diff --git a/drivers/mailbox/qcom-ipcc.c b/drivers/mailbox/qcom-ipcc.c index 14c7907c6632..18ffa77ba866 100644 --- a/drivers/mailbox/qcom-ipcc.c +++ b/drivers/mailbox/qcom-ipcc.c @@ -296,7 +296,7 @@ static int qcom_ipcc_probe(struct platform_device *pdev) if (!name) return -ENOMEM; =20 - ipcc->irq_domain =3D irq_domain_add_tree(pdev->dev.of_node, + ipcc->irq_domain =3D irq_domain_add_tree_of_node(pdev->dev.of_node, &qcom_ipcc_irq_ops, ipcc); if (!ipcc->irq_domain) return -ENOMEM; diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c index e2a75a52563f..5fa3d90f0028 100644 --- a/drivers/memory/omap-gpmc.c +++ b/drivers/memory/omap-gpmc.c @@ -1455,7 +1455,7 @@ static int gpmc_setup_irq(struct gpmc_device *gpmc) gpmc->irq_chip.irq_unmask =3D gpmc_irq_unmask; gpmc->irq_chip.irq_set_type =3D gpmc_irq_set_type; =20 - gpmc_irq_domain =3D irq_domain_add_linear(gpmc->dev->of_node, + gpmc_irq_domain =3D irq_domain_add_linear_of_node(gpmc->dev->of_node, gpmc->nirqs, &gpmc_irq_domain_ops, gpmc); diff --git a/drivers/mfd/88pm860x-core.c b/drivers/mfd/88pm860x-core.c index 8e68b64bd7f8..c593c4b41f17 100644 --- a/drivers/mfd/88pm860x-core.c +++ b/drivers/mfd/88pm860x-core.c @@ -624,7 +624,7 @@ static int device_irq_init(struct pm860x_chip *chip, ret =3D -EBUSY; goto out; } - irq_domain_add_legacy(node, nr_irqs, chip->irq_base, 0, + irq_domain_add_legacy_of_node(node, nr_irqs, chip->irq_base, 0, &pm860x_irq_domain_ops, chip); chip->core_irq =3D i2c->irq; if (!chip->core_irq) diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c index 15c95828b09a..656c56504009 100644 --- a/drivers/mfd/ab8500-core.c +++ b/drivers/mfd/ab8500-core.c @@ -580,7 +580,7 @@ static int ab8500_irq_init(struct ab8500 *ab8500, struc= t device_node *np) num_irqs =3D AB8500_NR_IRQS; =20 /* If ->irq_base is zero this will give a linear mapping */ - ab8500->domain =3D irq_domain_add_simple(ab8500->dev->of_node, + ab8500->domain =3D irq_domain_add_simple_of_node(ab8500->dev->of_node, num_irqs, 0, &ab8500_irq_ops, ab8500); =20 diff --git a/drivers/mfd/arizona-irq.c b/drivers/mfd/arizona-irq.c index d919ae9691e2..83fcf54afecb 100644 --- a/drivers/mfd/arizona-irq.c +++ b/drivers/mfd/arizona-irq.c @@ -312,7 +312,7 @@ int arizona_irq_init(struct arizona *arizona) flags |=3D arizona->pdata.irq_flags; =20 /* Allocate a virtual IRQ domain to distribute to the regmap domains */ - arizona->virq =3D irq_domain_add_linear(NULL, 2, &arizona_domain_ops, + arizona->virq =3D irq_domain_add_linear_of_node(NULL, 2, &arizona_domain_= ops, arizona); if (!arizona->virq) { dev_err(arizona->dev, "Failed to add core IRQ domain\n"); diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c index 5b3e355e78f6..806d652eeb20 100644 --- a/drivers/mfd/db8500-prcmu.c +++ b/drivers/mfd/db8500-prcmu.c @@ -2607,7 +2607,7 @@ static int db8500_irq_init(struct device_node *np) { int i; =20 - db8500_irq_domain =3D irq_domain_add_simple( + db8500_irq_domain =3D irq_domain_add_simple_of_node( np, NUM_PRCMU_WAKEUPS, 0, &db8500_irq_ops, NULL); =20 diff --git a/drivers/mfd/fsl-imx25-tsadc.c b/drivers/mfd/fsl-imx25-tsadc.c index 6fe388da6fb6..fe6e2b51ef6c 100644 --- a/drivers/mfd/fsl-imx25-tsadc.c +++ b/drivers/mfd/fsl-imx25-tsadc.c @@ -72,7 +72,7 @@ static int mx25_tsadc_setup_irq(struct platform_device *p= dev, if (irq < 0) return irq; =20 - tsadc->domain =3D irq_domain_add_simple(np, 2, 0, &mx25_tsadc_domain_ops, + tsadc->domain =3D irq_domain_add_simple_of_node(np, 2, 0, &mx25_tsadc_dom= ain_ops, tsadc); if (!tsadc->domain) { dev_err(dev, "Failed to add irq domain\n"); diff --git a/drivers/mfd/lp8788-irq.c b/drivers/mfd/lp8788-irq.c index 39006297f3d2..724f82c2a6bf 100644 --- a/drivers/mfd/lp8788-irq.c +++ b/drivers/mfd/lp8788-irq.c @@ -161,7 +161,7 @@ int lp8788_irq_init(struct lp8788 *lp, int irq) return -ENOMEM; =20 irqd->lp =3D lp; - irqd->domain =3D irq_domain_add_linear(lp->dev->of_node, LP8788_INT_MAX, + irqd->domain =3D irq_domain_add_linear_of_node(lp->dev->of_node, LP8788_I= NT_MAX, &lp8788_domain_ops, irqd); if (!irqd->domain) { dev_err(lp->dev, "failed to add irq domain err\n"); diff --git a/drivers/mfd/max8925-core.c b/drivers/mfd/max8925-core.c index 105d79b91493..110e2ba1119c 100644 --- a/drivers/mfd/max8925-core.c +++ b/drivers/mfd/max8925-core.c @@ -682,7 +682,7 @@ static int max8925_irq_init(struct max8925_chip *chip, = int irq, return -EBUSY; } =20 - irq_domain_add_legacy(node, MAX8925_NR_IRQS, chip->irq_base, 0, + irq_domain_add_legacy_of_node(node, MAX8925_NR_IRQS, chip->irq_base, 0, &max8925_irq_domain_ops, chip); =20 /* request irq handler for pmic main irq*/ diff --git a/drivers/mfd/max8997-irq.c b/drivers/mfd/max8997-irq.c index 93a3b1698d9c..c253ff646bea 100644 --- a/drivers/mfd/max8997-irq.c +++ b/drivers/mfd/max8997-irq.c @@ -327,7 +327,7 @@ int max8997_irq_init(struct max8997_dev *max8997) true : false; } =20 - domain =3D irq_domain_add_linear(NULL, MAX8997_IRQ_NR, + domain =3D irq_domain_add_linear_of_node(NULL, MAX8997_IRQ_NR, &max8997_irq_domain_ops, max8997); if (!domain) { dev_err(max8997->dev, "could not create irq domain\n"); diff --git a/drivers/mfd/max8998-irq.c b/drivers/mfd/max8998-irq.c index 83b6f510bc05..c6560e4f9ac3 100644 --- a/drivers/mfd/max8998-irq.c +++ b/drivers/mfd/max8998-irq.c @@ -230,7 +230,7 @@ int max8998_irq_init(struct max8998_dev *max8998) max8998_write_reg(max8998->i2c, MAX8998_REG_STATUSM1, 0xff); max8998_write_reg(max8998->i2c, MAX8998_REG_STATUSM2, 0xff); =20 - domain =3D irq_domain_add_simple(NULL, MAX8998_IRQ_NR, + domain =3D irq_domain_add_simple_of_node(NULL, MAX8998_IRQ_NR, max8998->irq_base, &max8998_irq_domain_ops, max8998); if (!domain) { dev_err(max8998->dev, "could not create irq domain\n"); diff --git a/drivers/mfd/mt6358-irq.c b/drivers/mfd/mt6358-irq.c index 49830b526ee8..391bd1a7556f 100644 --- a/drivers/mfd/mt6358-irq.c +++ b/drivers/mfd/mt6358-irq.c @@ -272,7 +272,7 @@ int mt6358_irq_init(struct mt6397_chip *chip) irqd->pmic_ints[i].en_reg_shift * j, 0); } =20 - chip->irq_domain =3D irq_domain_add_linear(chip->dev->of_node, + chip->irq_domain =3D irq_domain_add_linear_of_node(chip->dev->of_node, irqd->num_pmic_irqs, &mt6358_irq_domain_ops, chip); if (!chip->irq_domain) { diff --git a/drivers/mfd/mt6397-irq.c b/drivers/mfd/mt6397-irq.c index 1310665200ed..069521a6421b 100644 --- a/drivers/mfd/mt6397-irq.c +++ b/drivers/mfd/mt6397-irq.c @@ -216,7 +216,7 @@ int mt6397_irq_init(struct mt6397_chip *chip) regmap_write(chip->regmap, chip->int_con[2], 0x0); =20 chip->pm_nb.notifier_call =3D mt6397_irq_pm_notifier; - chip->irq_domain =3D irq_domain_add_linear(chip->dev->of_node, + chip->irq_domain =3D irq_domain_add_linear_of_node(chip->dev->of_node, MT6397_IRQ_NR, &mt6397_irq_domain_ops, chip); diff --git a/drivers/mfd/qcom-pm8xxx.c b/drivers/mfd/qcom-pm8xxx.c index f9ebdf5845b8..b2a57d1063c9 100644 --- a/drivers/mfd/qcom-pm8xxx.c +++ b/drivers/mfd/qcom-pm8xxx.c @@ -559,7 +559,7 @@ static int pm8xxx_probe(struct platform_device *pdev) chip->pm_irq_data =3D data; spin_lock_init(&chip->pm_irq_lock); =20 - chip->irqdomain =3D irq_domain_add_linear(pdev->dev.of_node, + chip->irqdomain =3D irq_domain_add_linear_of_node(pdev->dev.of_node, data->num_irqs, &pm8xxx_irq_domain_ops, chip); diff --git a/drivers/mfd/stmfx.c b/drivers/mfd/stmfx.c index f391c2ccaa72..e3238ec3cb9d 100644 --- a/drivers/mfd/stmfx.c +++ b/drivers/mfd/stmfx.c @@ -269,7 +269,7 @@ static int stmfx_irq_init(struct i2c_client *client) u32 irqoutpin =3D 0, irqtrigger; int ret; =20 - stmfx->irq_domain =3D irq_domain_add_simple(stmfx->dev->of_node, + stmfx->irq_domain =3D irq_domain_add_simple_of_node(stmfx->dev->of_node, STMFX_REG_IRQ_SRC_MAX, 0, &stmfx_irq_ops, stmfx); if (!stmfx->irq_domain) { diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c index 9c3cf58457a7..9bda909438b2 100644 --- a/drivers/mfd/stmpe.c +++ b/drivers/mfd/stmpe.c @@ -1219,7 +1219,7 @@ static int stmpe_irq_init(struct stmpe *stmpe, struct= device_node *np) int base =3D 0; int num_irqs =3D stmpe->variant->num_irqs; =20 - stmpe->domain =3D irq_domain_add_simple(np, num_irqs, base, + stmpe->domain =3D irq_domain_add_simple_of_node(np, num_irqs, base, &stmpe_irq_ops, stmpe); if (!stmpe->domain) { dev_err(stmpe->dev, "Failed to create irqdomain\n"); diff --git a/drivers/mfd/tc3589x.c b/drivers/mfd/tc3589x.c index ef953ee73145..c254910b3172 100644 --- a/drivers/mfd/tc3589x.c +++ b/drivers/mfd/tc3589x.c @@ -234,7 +234,7 @@ static const struct irq_domain_ops tc3589x_irq_ops =3D { =20 static int tc3589x_irq_init(struct tc3589x *tc3589x, struct device_node *n= p) { - tc3589x->domain =3D irq_domain_add_simple( + tc3589x->domain =3D irq_domain_add_simple_of_node( np, TC3589x_NR_INTERNAL_IRQS, 0, &tc3589x_irq_ops, tc3589x); =20 diff --git a/drivers/mfd/tps65217.c b/drivers/mfd/tps65217.c index 029ecc32f078..4ac3c89ca985 100644 --- a/drivers/mfd/tps65217.c +++ b/drivers/mfd/tps65217.c @@ -158,7 +158,7 @@ static int tps65217_irq_init(struct tps65217 *tps, int = irq) tps65217_set_bits(tps, TPS65217_REG_INT, TPS65217_INT_MASK, TPS65217_INT_MASK, TPS65217_PROTECT_NONE); =20 - tps->irq_domain =3D irq_domain_add_linear(tps->dev->of_node, + tps->irq_domain =3D irq_domain_add_linear_of_node(tps->dev->of_node, TPS65217_NUM_IRQ, &tps65217_irq_domain_ops, tps); if (!tps->irq_domain) { dev_err(tps->dev, "Could not create IRQ domain\n"); diff --git a/drivers/mfd/tps6586x.c b/drivers/mfd/tps6586x.c index 82714899efb2..32f5312bf34e 100644 --- a/drivers/mfd/tps6586x.c +++ b/drivers/mfd/tps6586x.c @@ -363,7 +363,7 @@ static int tps6586x_irq_init(struct tps6586x *tps6586x,= int irq, new_irq_base =3D 0; } =20 - tps6586x->irq_domain =3D irq_domain_add_simple(tps6586x->dev->of_node, + tps6586x->irq_domain =3D irq_domain_add_simple_of_node(tps6586x->dev->of_= node, irq_num, new_irq_base, &tps6586x_domain_ops, tps6586x); if (!tps6586x->irq_domain) { diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c index 87496c1cb8bc..2754930ddce0 100644 --- a/drivers/mfd/twl4030-irq.c +++ b/drivers/mfd/twl4030-irq.c @@ -691,7 +691,7 @@ int twl4030_init_irq(struct device *dev, int irq_num) return irq_base; } =20 - irq_domain_add_legacy(node, nr_irqs, irq_base, 0, + irq_domain_add_legacy_of_node(node, nr_irqs, irq_base, 0, &irq_domain_simple_ops, NULL); =20 irq_end =3D irq_base + TWL4030_CORE_NR_IRQS; diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c index 3c03681c124c..5771b3693b7b 100644 --- a/drivers/mfd/twl6030-irq.c +++ b/drivers/mfd/twl6030-irq.c @@ -412,7 +412,7 @@ int twl6030_init_irq(struct device *dev, int irq_num) twl6030_irq->irq_mapping_tbl =3D of_id->data; =20 twl6030_irq->irq_domain =3D - irq_domain_add_linear(node, nr_irqs, + irq_domain_add_linear_of_node(node, nr_irqs, &twl6030_irq_domain_ops, twl6030_irq); if (!twl6030_irq->irq_domain) { dev_err(dev, "Can't add irq_domain\n"); diff --git a/drivers/mfd/wm831x-irq.c b/drivers/mfd/wm831x-irq.c index f1f58e3149ae..f42ebde971ee 100644 --- a/drivers/mfd/wm831x-irq.c +++ b/drivers/mfd/wm831x-irq.c @@ -587,13 +587,13 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq) } =20 if (irq_base) - domain =3D irq_domain_add_legacy(wm831x->dev->of_node, + domain =3D irq_domain_add_legacy_of_node(wm831x->dev->of_node, ARRAY_SIZE(wm831x_irqs), irq_base, 0, &wm831x_irq_domain_ops, wm831x); else - domain =3D irq_domain_add_linear(wm831x->dev->of_node, + domain =3D irq_domain_add_linear_of_node(wm831x->dev->of_node, ARRAY_SIZE(wm831x_irqs), &wm831x_irq_domain_ops, wm831x); diff --git a/drivers/mfd/wm8994-irq.c b/drivers/mfd/wm8994-irq.c index 651a028bc519..d23c4039f9a3 100644 --- a/drivers/mfd/wm8994-irq.c +++ b/drivers/mfd/wm8994-irq.c @@ -213,7 +213,7 @@ int wm8994_irq_init(struct wm8994 *wm8994) return ret; } =20 - wm8994->edge_irq =3D irq_domain_add_linear(NULL, 1, + wm8994->edge_irq =3D irq_domain_add_linear_of_node(NULL, 1, &wm8994_edge_irq_ops, wm8994); =20 diff --git a/drivers/misc/hi6421v600-irq.c b/drivers/misc/hi6421v600-irq.c index 69ee4f39af2a..ec111aae77e1 100644 --- a/drivers/misc/hi6421v600-irq.c +++ b/drivers/misc/hi6421v600-irq.c @@ -254,7 +254,7 @@ static int hi6421v600_irq_probe(struct platform_device = *pdev) if (!priv->irqs) return -ENOMEM; =20 - priv->domain =3D irq_domain_add_simple(np, PMIC_IRQ_LIST_MAX, 0, + priv->domain =3D irq_domain_add_simple_of_node(np, PMIC_IRQ_LIST_MAX, 0, &hi6421v600_domain_ops, priv); if (!priv->domain) { dev_err(dev, "Failed to create IRQ domain\n"); diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/micro= chip/ksz_common.c index 89f0796894af..8abf80aeafcf 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -2697,7 +2697,7 @@ static int ksz_irq_common_setup(struct ksz_device *de= v, struct ksz_irq *kirq) kirq->dev =3D dev; kirq->masked =3D ~0; =20 - kirq->domain =3D irq_domain_add_simple(dev->dev->of_node, kirq->nirqs, 0, + kirq->domain =3D irq_domain_add_simple_of_node(dev->dev->of_node, kirq->n= irqs, 0, &ksz_irq_domain_ops, kirq); if (!kirq->domain) return -ENOMEM; diff --git a/drivers/net/dsa/microchip/ksz_ptp.c b/drivers/net/dsa/microchi= p/ksz_ptp.c index 22fb9ef4645c..43e108b485a9 100644 --- a/drivers/net/dsa/microchip/ksz_ptp.c +++ b/drivers/net/dsa/microchip/ksz_ptp.c @@ -1136,7 +1136,7 @@ int ksz_ptp_irq_setup(struct dsa_switch *ds, u8 p) =20 init_completion(&port->tstamp_msg_comp); =20 - ptpirq->domain =3D irq_domain_add_linear(dev->dev->of_node, ptpirq->nirqs, + ptpirq->domain =3D irq_domain_add_linear_of_node(dev->dev->of_node, ptpir= q->nirqs, &ksz_ptp_irq_domain_ops, ptpirq); if (!ptpirq->domain) return -ENOMEM; diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index d2d0f091e49e..54e7be0bea60 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -2210,11 +2210,11 @@ mt7530_setup_irq(struct mt7530_priv *priv) } =20 if (priv->id =3D=3D ID_MT7988 || priv->id =3D=3D ID_EN7581) - priv->irq_domain =3D irq_domain_add_linear(np, MT7530_NUM_PHYS, + priv->irq_domain =3D irq_domain_add_linear_of_node(np, MT7530_NUM_PHYS, &mt7988_irq_domain_ops, priv); else - priv->irq_domain =3D irq_domain_add_linear(np, MT7530_NUM_PHYS, + priv->irq_domain =3D irq_domain_add_linear_of_node(np, MT7530_NUM_PHYS, &mt7530_irq_domain_ops, priv); =20 diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/c= hip.c index 68d1e891752b..7cb90789d135 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -297,7 +297,7 @@ static int mv88e6xxx_g1_irq_setup_common(struct mv88e6x= xx_chip *chip) u16 reg, mask; =20 chip->g1_irq.nirqs =3D chip->info->g1_irqs; - chip->g1_irq.domain =3D irq_domain_add_simple( + chip->g1_irq.domain =3D irq_domain_add_simple_of_node( NULL, chip->g1_irq.nirqs, 0, &mv88e6xxx_g1_irq_domain_ops, chip); if (!chip->g1_irq.domain) diff --git a/drivers/net/dsa/mv88e6xxx/global2.c b/drivers/net/dsa/mv88e6xx= x/global2.c index b2b5f6ba438f..e6bc4c2621b0 100644 --- a/drivers/net/dsa/mv88e6xxx/global2.c +++ b/drivers/net/dsa/mv88e6xxx/global2.c @@ -1154,7 +1154,7 @@ int mv88e6xxx_g2_irq_setup(struct mv88e6xxx_chip *chi= p) if (err) return err; =20 - chip->g2_irq.domain =3D irq_domain_add_simple( + chip->g2_irq.domain =3D irq_domain_add_simple_of_node( chip->dev->of_node, 16, 0, &mv88e6xxx_g2_irq_domain_ops, chip); if (!chip->g2_irq.domain) return -ENOMEM; diff --git a/drivers/net/dsa/qca/ar9331.c b/drivers/net/dsa/qca/ar9331.c index e9f2c67bc15f..31f34536c425 100644 --- a/drivers/net/dsa/qca/ar9331.c +++ b/drivers/net/dsa/qca/ar9331.c @@ -821,7 +821,7 @@ static int ar9331_sw_irq_init(struct ar9331_sw_priv *pr= iv) return ret; } =20 - priv->irqdomain =3D irq_domain_add_linear(np, 1, &ar9331_sw_irqdomain_ops, + priv->irqdomain =3D irq_domain_add_linear_of_node(np, 1, &ar9331_sw_irqdo= main_ops, priv); if (!priv->irqdomain) { dev_err(dev, "failed to create IRQ domain\n"); diff --git a/drivers/net/dsa/realtek/rtl8365mb.c b/drivers/net/dsa/realtek/= rtl8365mb.c index 7e96355c28bd..996b39e86806 100644 --- a/drivers/net/dsa/realtek/rtl8365mb.c +++ b/drivers/net/dsa/realtek/rtl8365mb.c @@ -1719,7 +1719,7 @@ static int rtl8365mb_irq_setup(struct realtek_priv *p= riv) goto out_put_node; } =20 - priv->irqdomain =3D irq_domain_add_linear(intc, priv->num_ports, + priv->irqdomain =3D irq_domain_add_linear_of_node(intc, priv->num_ports, &rtl8365mb_irqdomain_ops, priv); if (!priv->irqdomain) { dev_err(priv->dev, "failed to add irq domain\n"); diff --git a/drivers/net/dsa/realtek/rtl8366rb.c b/drivers/net/dsa/realtek/= rtl8366rb.c index 23374178a176..1b016ae928eb 100644 --- a/drivers/net/dsa/realtek/rtl8366rb.c +++ b/drivers/net/dsa/realtek/rtl8366rb.c @@ -627,7 +627,7 @@ static int rtl8366rb_setup_cascaded_irq(struct realtek_= priv *priv) dev_err(priv->dev, "unable to request irq: %d\n", ret); goto out_put_node; } - priv->irqdomain =3D irq_domain_add_linear(intc, + priv->irqdomain =3D irq_domain_add_linear_of_node(intc, RTL8366RB_NUM_INTERRUPT, &rtl8366rb_irqdomain_ops, priv); diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c b/drivers/net/e= thernet/wangxun/txgbe/txgbe_irq.c index 0ee73a265545..1eb5e11e7022 100644 --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c @@ -178,7 +178,7 @@ int txgbe_setup_misc_irq(struct txgbe *txgbe) int hwirq, err; =20 txgbe->misc.nirqs =3D 1; - txgbe->misc.domain =3D irq_domain_add_simple(NULL, txgbe->misc.nirqs, 0, + txgbe->misc.domain =3D irq_domain_add_simple_of_node(NULL, txgbe->misc.ni= rqs, 0, &txgbe_misc_irq_domain_ops, txgbe); if (!txgbe->misc.domain) return -ENOMEM; diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index a91bf9c7e31d..47627e2d3182 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -2475,7 +2475,7 @@ static int lan78xx_setup_irq_domain(struct lan78xx_ne= t *dev) dev->domain_data.irqchip =3D &lan78xx_irqchip; dev->domain_data.irq_handler =3D handle_simple_irq; =20 - irqdomain =3D irq_domain_add_simple(of_node, MAX_INT_EP, 0, + irqdomain =3D irq_domain_add_simple_of_node(of_node, MAX_INT_EP, 0, &chip_domain_ops, &dev->domain_data); if (irqdomain) { /* create mapping for PHY interrupt */ diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controll= er/dwc/pci-dra7xx.c index 5c62e1a3ba52..8e88a76aa841 100644 --- a/drivers/pci/controller/dwc/pci-dra7xx.c +++ b/drivers/pci/controller/dwc/pci-dra7xx.c @@ -359,7 +359,7 @@ static int dra7xx_pcie_init_irq_domain(struct dw_pcie_r= p *pp) =20 irq_set_chained_handler_and_data(pp->irq, dra7xx_pcie_msi_irq_handler, pp); - dra7xx->irq_domain =3D irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + dra7xx->irq_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, PCI_= NUM_INTX, &intx_domain_ops, pp); of_node_put(pcie_intc_node); if (!dra7xx->irq_domain) { diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/contro= ller/dwc/pci-keystone.c index 63bd5003da45..201f5db24dd9 100644 --- a/drivers/pci/controller/dwc/pci-keystone.c +++ b/drivers/pci/controller/dwc/pci-keystone.c @@ -761,7 +761,7 @@ static int ks_pcie_config_intx_irq(struct keystone_pcie= *ks_pcie) ks_pcie); } =20 - intx_irq_domain =3D irq_domain_add_linear(intc_np, PCI_NUM_INTX, + intx_irq_domain =3D irq_domain_add_linear_of_node(intc_np, PCI_NUM_INTX, &ks_pcie_intx_irq_domain_ops, NULL); if (!intx_irq_domain) { dev_err(dev, "Failed to add irq domain for INTX irqs\n"); diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/co= ntroller/dwc/pcie-dw-rockchip.c index ce4b511bff9b..e58333b98336 100644 --- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c +++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c @@ -144,7 +144,7 @@ static int rockchip_pcie_init_irq_domain(struct rockchi= p_pcie *rockchip) return -EINVAL; } =20 - rockchip->irq_domain =3D irq_domain_add_linear(intc, PCI_NUM_INTX, + rockchip->irq_domain =3D irq_domain_add_linear_of_node(intc, PCI_NUM_INTX, &intx_domain_ops, rockchip); of_node_put(intc); if (!rockchip->irq_domain) { diff --git a/drivers/pci/controller/dwc/pcie-uniphier.c b/drivers/pci/contr= oller/dwc/pcie-uniphier.c index 5757ca3803c9..14f1ad9e7457 100644 --- a/drivers/pci/controller/dwc/pcie-uniphier.c +++ b/drivers/pci/controller/dwc/pcie-uniphier.c @@ -279,7 +279,7 @@ static int uniphier_pcie_config_intx_irq(struct dw_pcie= _rp *pp) goto out_put_node; } =20 - pcie->intx_irq_domain =3D irq_domain_add_linear(np_intc, PCI_NUM_INTX, + pcie->intx_irq_domain =3D irq_domain_add_linear_of_node(np_intc, PCI_NUM_= INTX, &uniphier_intx_domain_ops, pp); if (!pcie->intx_irq_domain) { dev_err(pci->dev, "Failed to get INTx domain\n"); diff --git a/drivers/pci/controller/mobiveil/pcie-mobiveil-host.c b/drivers= /pci/controller/mobiveil/pcie-mobiveil-host.c index 6628eed9d26e..a0e97397919d 100644 --- a/drivers/pci/controller/mobiveil/pcie-mobiveil-host.c +++ b/drivers/pci/controller/mobiveil/pcie-mobiveil-host.c @@ -439,7 +439,7 @@ static int mobiveil_allocate_msi_domains(struct mobivei= l_pcie *pcie) struct mobiveil_msi *msi =3D &pcie->rp.msi; =20 mutex_init(&msi->lock); - msi->dev_domain =3D irq_domain_add_linear(NULL, msi->num_of_vectors, + msi->dev_domain =3D irq_domain_add_linear_of_node(NULL, msi->num_of_vecto= rs, &msi_domain_ops, pcie); if (!msi->dev_domain) { dev_err(dev, "failed to create IRQ domain\n"); @@ -465,7 +465,7 @@ static int mobiveil_pcie_init_irq_domain(struct mobivei= l_pcie *pcie) struct mobiveil_root_port *rp =3D &pcie->rp; =20 /* setup INTx */ - rp->intx_domain =3D irq_domain_add_linear(node, PCI_NUM_INTX, + rp->intx_domain =3D irq_domain_add_linear_of_node(node, PCI_NUM_INTX, &intx_domain_ops, pcie); =20 if (!rp->intx_domain) { diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller= /pci-aardvark.c index a29796cce420..6045b472973d 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -1457,7 +1457,7 @@ static int advk_pcie_init_msi_irq_domain(struct advk_= pcie *pcie) mutex_init(&pcie->msi_used_lock); =20 pcie->msi_inner_domain =3D - irq_domain_add_linear(NULL, MSI_IRQ_NUM, + irq_domain_add_linear_of_node(NULL, MSI_IRQ_NUM, &advk_msi_domain_ops, pcie); if (!pcie->msi_inner_domain) return -ENOMEM; @@ -1509,7 +1509,7 @@ static int advk_pcie_init_irq_domain(struct advk_pcie= *pcie) irq_chip->irq_unmask =3D advk_pcie_irq_unmask; =20 pcie->irq_domain =3D - irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + irq_domain_add_linear_of_node(pcie_intc_node, PCI_NUM_INTX, &advk_pcie_irq_domain_ops, pcie); if (!pcie->irq_domain) { dev_err(dev, "Failed to get a INTx IRQ domain\n"); @@ -1549,7 +1549,7 @@ static const struct irq_domain_ops advk_pcie_rp_irq_d= omain_ops =3D { =20 static int advk_pcie_init_rp_irq_domain(struct advk_pcie *pcie) { - pcie->rp_irq_domain =3D irq_domain_add_linear(NULL, 1, + pcie->rp_irq_domain =3D irq_domain_add_linear_of_node(NULL, 1, &advk_pcie_rp_irq_domain_ops, pcie); if (!pcie->rp_irq_domain) { diff --git a/drivers/pci/controller/pci-ftpci100.c b/drivers/pci/controller= /pci-ftpci100.c index ffdeed25e961..ddbed351e7ef 100644 --- a/drivers/pci/controller/pci-ftpci100.c +++ b/drivers/pci/controller/pci-ftpci100.c @@ -345,7 +345,7 @@ static int faraday_pci_setup_cascaded_irq(struct farada= y_pci *p) return irq ?: -EINVAL; } =20 - p->irqdomain =3D irq_domain_add_linear(intc, PCI_NUM_INTX, + p->irqdomain =3D irq_domain_add_linear_of_node(intc, PCI_NUM_INTX, &faraday_pci_irqdomain_ops, p); of_node_put(intc); if (!p->irqdomain) { diff --git a/drivers/pci/controller/pci-mvebu.c b/drivers/pci/controller/pc= i-mvebu.c index 46d3afe1d308..7b55743eb3d5 100644 --- a/drivers/pci/controller/pci-mvebu.c +++ b/drivers/pci/controller/pci-mvebu.c @@ -1078,7 +1078,7 @@ static int mvebu_pcie_init_irq_domain(struct mvebu_pc= ie_port *port) return -ENODEV; } =20 - port->intx_irq_domain =3D irq_domain_add_linear(pcie_intc_node, PCI_NUM_I= NTX, + port->intx_irq_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, P= CI_NUM_INTX, &mvebu_pcie_intx_irq_domain_ops, port); of_node_put(pcie_intc_node); diff --git a/drivers/pci/controller/pci-xgene-msi.c b/drivers/pci/controlle= r/pci-xgene-msi.c index 2c825105ad82..9ccc2925b97e 100644 --- a/drivers/pci/controller/pci-xgene-msi.c +++ b/drivers/pci/controller/pci-xgene-msi.c @@ -242,7 +242,7 @@ static const struct irq_domain_ops msi_domain_ops =3D { =20 static int xgene_allocate_domains(struct xgene_msi *msi) { - msi->inner_domain =3D irq_domain_add_linear(NULL, NR_MSI_VEC, + msi->inner_domain =3D irq_domain_add_linear_of_node(NULL, NR_MSI_VEC, &msi_domain_ops, msi); if (!msi->inner_domain) return -ENOMEM; diff --git a/drivers/pci/controller/pcie-altera-msi.c b/drivers/pci/control= ler/pcie-altera-msi.c index 5fb3a2e0017e..d445c9da9374 100644 --- a/drivers/pci/controller/pcie-altera-msi.c +++ b/drivers/pci/controller/pcie-altera-msi.c @@ -166,7 +166,7 @@ static int altera_allocate_domains(struct altera_msi *m= si) { struct fwnode_handle *fwnode =3D of_fwnode_handle(msi->pdev->dev.of_node); =20 - msi->inner_domain =3D irq_domain_add_linear(NULL, msi->num_of_vectors, + msi->inner_domain =3D irq_domain_add_linear_of_node(NULL, msi->num_of_vec= tors, &msi_domain_ops, msi); if (!msi->inner_domain) { dev_err(&msi->pdev->dev, "failed to create IRQ domain\n"); diff --git a/drivers/pci/controller/pcie-altera.c b/drivers/pci/controller/= pcie-altera.c index eb55a7f8573a..d68e14be43c6 100644 --- a/drivers/pci/controller/pcie-altera.c +++ b/drivers/pci/controller/pcie-altera.c @@ -669,7 +669,7 @@ static int altera_pcie_init_irq_domain(struct altera_pc= ie *pcie) struct device_node *node =3D dev->of_node; =20 /* Setup INTx */ - pcie->irq_domain =3D irq_domain_add_linear(node, PCI_NUM_INTX, + pcie->irq_domain =3D irq_domain_add_linear_of_node(node, PCI_NUM_INTX, &intx_domain_ops, pcie); if (!pcie->irq_domain) { dev_err(dev, "Failed to get a INTx IRQ domain\n"); diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller= /pcie-brcmstb.c index 6bfe86ace0cc..350671d4db47 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -575,7 +575,7 @@ static int brcm_allocate_domains(struct brcm_msi *msi) struct fwnode_handle *fwnode =3D of_fwnode_handle(msi->np); struct device *dev =3D msi->dev; =20 - msi->inner_domain =3D irq_domain_add_linear(NULL, msi->nr, &msi_domain_op= s, msi); + msi->inner_domain =3D irq_domain_add_linear_of_node(NULL, msi->nr, &msi_d= omain_ops, msi); if (!msi->inner_domain) { dev_err(dev, "failed to create IRQ domain\n"); return -ENOMEM; diff --git a/drivers/pci/controller/pcie-iproc-msi.c b/drivers/pci/controll= er/pcie-iproc-msi.c index 804b3a5787c5..175efd4af600 100644 --- a/drivers/pci/controller/pcie-iproc-msi.c +++ b/drivers/pci/controller/pcie-iproc-msi.c @@ -446,7 +446,7 @@ static void iproc_msi_disable(struct iproc_msi *msi) static int iproc_msi_alloc_domains(struct device_node *node, struct iproc_msi *msi) { - msi->inner_domain =3D irq_domain_add_linear(NULL, msi->nr_msi_vecs, + msi->inner_domain =3D irq_domain_add_linear_of_node(NULL, msi->nr_msi_vec= s, &msi_domain_ops, msi); if (!msi->inner_domain) return -ENOMEM; diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/cont= roller/pcie-mediatek-gen3.c index 0aa42df33090..af9ff824203f 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -745,7 +745,7 @@ static int mtk_pcie_init_irq_domains(struct mtk_gen3_pc= ie *pcie) return -ENODEV; } =20 - pcie->intx_domain =3D irq_domain_add_linear(intc_node, PCI_NUM_INTX, + pcie->intx_domain =3D irq_domain_add_linear_of_node(intc_node, PCI_NUM_IN= TX, &intx_domain_ops, pcie); if (!pcie->intx_domain) { dev_err(dev, "failed to create INTx IRQ domain\n"); @@ -756,7 +756,7 @@ static int mtk_pcie_init_irq_domains(struct mtk_gen3_pc= ie *pcie) /* Setup MSI */ mutex_init(&pcie->lock); =20 - pcie->msi_bottom_domain =3D irq_domain_add_linear(node, PCIE_MSI_IRQS_NUM, + pcie->msi_bottom_domain =3D irq_domain_add_linear_of_node(node, PCIE_MSI_= IRQS_NUM, &mtk_msi_bottom_domain_ops, pcie); if (!pcie->msi_bottom_domain) { dev_err(dev, "failed to create MSI bottom domain\n"); diff --git a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controlle= r/pcie-mediatek.c index e9e6072577ce..cc4cd4c5e63c 100644 --- a/drivers/pci/controller/pcie-mediatek.c +++ b/drivers/pci/controller/pcie-mediatek.c @@ -569,7 +569,7 @@ static int mtk_pcie_init_irq_domain(struct mtk_pcie_por= t *port, return -ENODEV; } =20 - port->irq_domain =3D irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + port->irq_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, PCI_NU= M_INTX, &intx_domain_ops, port); of_node_put(pcie_intc_node); if (!port->irq_domain) { diff --git a/drivers/pci/controller/pcie-rockchip-host.c b/drivers/pci/cont= roller/pcie-rockchip-host.c index 5adac6adc046..91fdcb31c4e4 100644 --- a/drivers/pci/controller/pcie-rockchip-host.c +++ b/drivers/pci/controller/pcie-rockchip-host.c @@ -693,7 +693,7 @@ static int rockchip_pcie_init_irq_domain(struct rockchi= p_pcie *rockchip) return -EINVAL; } =20 - rockchip->irq_domain =3D irq_domain_add_linear(intc, PCI_NUM_INTX, + rockchip->irq_domain =3D irq_domain_add_linear_of_node(intc, PCI_NUM_INTX, &intx_domain_ops, rockchip); of_node_put(intc); if (!rockchip->irq_domain) { diff --git a/drivers/pci/controller/pcie-xilinx-cpm.c b/drivers/pci/control= ler/pcie-xilinx-cpm.c index 81e8bfae53d0..cbd105aa5d9f 100644 --- a/drivers/pci/controller/pcie-xilinx-cpm.c +++ b/drivers/pci/controller/pcie-xilinx-cpm.c @@ -394,7 +394,7 @@ static int xilinx_cpm_pcie_init_irq_domain(struct xilin= x_cpm_pcie *port) return -EINVAL; } =20 - port->cpm_domain =3D irq_domain_add_linear(pcie_intc_node, 32, + port->cpm_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, 32, &event_domain_ops, port); if (!port->cpm_domain) @@ -402,7 +402,7 @@ static int xilinx_cpm_pcie_init_irq_domain(struct xilin= x_cpm_pcie *port) =20 irq_domain_update_bus_token(port->cpm_domain, DOMAIN_BUS_NEXUS); =20 - port->intx_domain =3D irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + port->intx_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, PCI_N= UM_INTX, &intx_domain_ops, port); if (!port->intx_domain) diff --git a/drivers/pci/controller/pcie-xilinx-dma-pl.c b/drivers/pci/cont= roller/pcie-xilinx-dma-pl.c index 71cf13ae51c7..3639b8934cbe 100644 --- a/drivers/pci/controller/pcie-xilinx-dma-pl.c +++ b/drivers/pci/controller/pcie-xilinx-dma-pl.c @@ -472,7 +472,7 @@ static int xilinx_pl_dma_pcie_init_msi_irq_domain(struc= t pl_dma_pcie *port) int size =3D BITS_TO_LONGS(XILINX_NUM_MSI_IRQS) * sizeof(long); struct fwnode_handle *fwnode =3D of_fwnode_handle(port->dev->of_node); =20 - msi->dev_domain =3D irq_domain_add_linear(NULL, XILINX_NUM_MSI_IRQS, + msi->dev_domain =3D irq_domain_add_linear_of_node(NULL, XILINX_NUM_MSI_IR= QS, &dev_msi_domain_ops, port); if (!msi->dev_domain) goto out; @@ -585,14 +585,14 @@ static int xilinx_pl_dma_pcie_init_irq_domain(struct = pl_dma_pcie *port) return -EINVAL; } =20 - port->pldma_domain =3D irq_domain_add_linear(pcie_intc_node, 32, + port->pldma_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, 32, &event_domain_ops, port); if (!port->pldma_domain) return -ENOMEM; =20 irq_domain_update_bus_token(port->pldma_domain, DOMAIN_BUS_NEXUS); =20 - port->intx_domain =3D irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + port->intx_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, PCI_N= UM_INTX, &intx_domain_ops, port); if (!port->intx_domain) { dev_err(dev, "Failed to get a INTx IRQ domain\n"); diff --git a/drivers/pci/controller/pcie-xilinx-nwl.c b/drivers/pci/control= ler/pcie-xilinx-nwl.c index 9cf8a96f7bc4..4716f1a12823 100644 --- a/drivers/pci/controller/pcie-xilinx-nwl.c +++ b/drivers/pci/controller/pcie-xilinx-nwl.c @@ -498,7 +498,7 @@ static int nwl_pcie_init_msi_irq_domain(struct nwl_pcie= *pcie) struct fwnode_handle *fwnode =3D of_fwnode_handle(dev->of_node); struct nwl_msi *msi =3D &pcie->msi; =20 - msi->dev_domain =3D irq_domain_add_linear(NULL, INT_PCI_MSI_NR, + msi->dev_domain =3D irq_domain_add_linear_of_node(NULL, INT_PCI_MSI_NR, &dev_msi_domain_ops, pcie); if (!msi->dev_domain) { dev_err(dev, "failed to create dev IRQ domain\n"); @@ -582,7 +582,7 @@ static int nwl_pcie_init_irq_domain(struct nwl_pcie *pc= ie) return -EINVAL; } =20 - pcie->intx_irq_domain =3D irq_domain_add_linear(intc_node, + pcie->intx_irq_domain =3D irq_domain_add_linear_of_node(intc_node, PCI_NUM_INTX, &intx_domain_ops, pcie); diff --git a/drivers/pci/controller/pcie-xilinx.c b/drivers/pci/controller/= pcie-xilinx.c index 0b534f73a942..6c0268e92e41 100644 --- a/drivers/pci/controller/pcie-xilinx.c +++ b/drivers/pci/controller/pcie-xilinx.c @@ -461,7 +461,7 @@ static int xilinx_pcie_init_irq_domain(struct xilinx_pc= ie *pcie) return -ENODEV; } =20 - pcie->leg_domain =3D irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + pcie->leg_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, PCI_NU= M_INTX, &intx_domain_ops, pcie); of_node_put(pcie_intc_node); diff --git a/drivers/pci/controller/plda/pcie-plda-host.c b/drivers/pci/con= troller/plda/pcie-plda-host.c index 91ead8ebc2ae..4dd79e20ce04 100644 --- a/drivers/pci/controller/plda/pcie-plda-host.c +++ b/drivers/pci/controller/plda/pcie-plda-host.c @@ -152,7 +152,7 @@ static int plda_allocate_msi_domains(struct plda_pcie_r= p *port) =20 mutex_init(&port->msi.lock); =20 - msi->dev_domain =3D irq_domain_add_linear(NULL, msi->num_vectors, + msi->dev_domain =3D irq_domain_add_linear_of_node(NULL, msi->num_vectors, &msi_domain_ops, port); if (!msi->dev_domain) { dev_err(dev, "failed to create IRQ domain\n"); @@ -390,7 +390,7 @@ static int plda_pcie_init_irq_domains(struct plda_pcie_= rp *port) return -EINVAL; } =20 - port->event_domain =3D irq_domain_add_linear(pcie_intc_node, + port->event_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, port->num_events, &plda_event_domain_ops, port); @@ -402,7 +402,7 @@ static int plda_pcie_init_irq_domains(struct plda_pcie_= rp *port) =20 irq_domain_update_bus_token(port->event_domain, DOMAIN_BUS_NEXUS); =20 - port->intx_domain =3D irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX, + port->intx_domain =3D irq_domain_add_linear_of_node(pcie_intc_node, PCI_N= UM_INTX, &intx_domain_ops, port); if (!port->intx_domain) { dev_err(dev, "failed to get an INTx IRQ domain\n"); diff --git a/drivers/pinctrl/mediatek/mtk-eint.c b/drivers/pinctrl/mediatek= /mtk-eint.c index 27f0a54e12bf..2f546e88e1d6 100644 --- a/drivers/pinctrl/mediatek/mtk-eint.c +++ b/drivers/pinctrl/mediatek/mtk-eint.c @@ -508,7 +508,7 @@ int mtk_eint_do_init(struct mtk_eint *eint) if (!eint->dual_edge) return -ENOMEM; =20 - eint->domain =3D irq_domain_add_linear(eint->dev->of_node, + eint->domain =3D irq_domain_add_linear_of_node(eint->dev->of_node, eint->hw->ap_num, &irq_domain_simple_ops, NULL); if (!eint->domain) diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-= at91-pio4.c index 8b01d312305a..40f172d3bd29 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -1206,7 +1206,7 @@ static int atmel_pinctrl_probe(struct platform_device= *pdev) dev_dbg(dev, "bank %i: irq=3D%d\n", i, ret); } =20 - atmel_pioctrl->irq_domain =3D irq_domain_add_linear(dev->of_node, + atmel_pioctrl->irq_domain =3D irq_domain_add_linear_of_node(dev->of_node, atmel_pioctrl->gpio_chip->ngpio, &irq_domain_simple_ops, NULL); if (!atmel_pioctrl->irq_domain) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-sin= gle.c index 5be14dc979e2..7ca1a80dd65a 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c @@ -1611,13 +1611,13 @@ static int pcs_irq_init_chained_handler(struct pcs_= device *pcs, =20 /* * We can use the register offset as the hardirq - * number as irq_domain_add_simple maps them lazily. + * number as irq_domain_add_simple_of_node maps them lazily. * This way we can easily support more than one * interrupt per function if needed. */ num_irqs =3D pcs->size; =20 - pcs->domain =3D irq_domain_add_simple(np, num_irqs, 0, + pcs->domain =3D irq_domain_add_simple_of_node(np, num_irqs, 0, &pcs_irqdomain_ops, pcs_soc); if (!pcs->domain) { diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/= pinctrl-sunxi.c index bde67ee31417..6de124300e46 100644 --- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c +++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c @@ -1626,7 +1626,7 @@ int sunxi_pinctrl_init_with_variant(struct platform_d= evice *pdev, } } =20 - pctl->domain =3D irq_domain_add_linear(node, + pctl->domain =3D irq_domain_add_linear_of_node(node, pctl->desc->irq_banks * IRQ_PER_BANK, &sunxi_pinctrl_irq_domain_ops, pctl); diff --git a/drivers/platform/x86/asus-tf103c-dock.c b/drivers/platform/x86= /asus-tf103c-dock.c index ca4670d0dc67..e360d0ab6081 100644 --- a/drivers/platform/x86/asus-tf103c-dock.c +++ b/drivers/platform/x86/asus-tf103c-dock.c @@ -856,7 +856,7 @@ static int tf103c_dock_probe(struct i2c_client *client) /* 5. Setup irqchip for touchpad IRQ pass-through */ dock->tp_irqchip.name =3D KBUILD_MODNAME; =20 - dock->tp_irq_domain =3D irq_domain_add_linear(NULL, 1, &irq_domain_simple= _ops, NULL); + dock->tp_irq_domain =3D irq_domain_add_linear_of_node(NULL, 1, &irq_domai= n_simple_ops, NULL); if (!dock->tp_irq_domain) return -ENOMEM; =20 diff --git a/drivers/sh/intc/irqdomain.c b/drivers/sh/intc/irqdomain.c index 3968f1c3c5c3..23dc3b68d1e0 100644 --- a/drivers/sh/intc/irqdomain.c +++ b/drivers/sh/intc/irqdomain.c @@ -59,10 +59,10 @@ void __init intc_irq_domain_init(struct intc_desc_int *= d, * tree penalty for linear cases with non-zero hwirq bases. */ if (irq_base =3D=3D 0 && irq_end =3D=3D (irq_base + hw->nr_vectors - 1)) - d->domain =3D irq_domain_add_linear(NULL, hw->nr_vectors, + d->domain =3D irq_domain_add_linear_of_node(NULL, hw->nr_vectors, &intc_evt_ops, NULL); else - d->domain =3D irq_domain_add_tree(NULL, &intc_evt_ops, NULL); + d->domain =3D irq_domain_add_tree_of_node(NULL, &intc_evt_ops, NULL); =20 BUG_ON(!d->domain); } diff --git a/drivers/soc/dove/pmu.c b/drivers/soc/dove/pmu.c index 6202dbcd20a8..bafbba8709f0 100644 --- a/drivers/soc/dove/pmu.c +++ b/drivers/soc/dove/pmu.c @@ -274,7 +274,7 @@ static int __init dove_init_pmu_irq(struct pmu_data *pm= u, int irq) writel(0, pmu->pmc_base + PMC_IRQ_MASK); writel(0, pmu->pmc_base + PMC_IRQ_CAUSE); =20 - domain =3D irq_domain_add_linear(pmu->of_node, NR_PMU_IRQS, + domain =3D irq_domain_add_linear_of_node(pmu->of_node, NR_PMU_IRQS, &irq_generic_chip_ops, NULL); if (!domain) { pr_err("%s: unable to add irq domain\n", name); diff --git a/drivers/soc/fsl/qe/qe_ic.c b/drivers/soc/fsl/qe/qe_ic.c index bbae3d39c7be..1da110eeb0c7 100644 --- a/drivers/soc/fsl/qe/qe_ic.c +++ b/drivers/soc/fsl/qe/qe_ic.c @@ -446,7 +446,7 @@ static int qe_ic_init(struct platform_device *pdev) high_handler =3D NULL; } =20 - qe_ic->irqhost =3D irq_domain_add_linear(node, NR_QE_IC_INTS, + qe_ic->irqhost =3D irq_domain_add_linear_of_node(node, NR_QE_IC_INTS, &qe_ic_host_ops, qe_ic); if (qe_ic->irqhost =3D=3D NULL) { dev_err(dev, "failed to add irq domain\n"); diff --git a/drivers/soc/qcom/smp2p.c b/drivers/soc/qcom/smp2p.c index 4783ab1adb8d..46385c192997 100644 --- a/drivers/soc/qcom/smp2p.c +++ b/drivers/soc/qcom/smp2p.c @@ -399,7 +399,7 @@ static int qcom_smp2p_inbound_entry(struct qcom_smp2p *= smp2p, struct smp2p_entry *entry, struct device_node *node) { - entry->domain =3D irq_domain_add_linear(node, 32, &smp2p_irq_ops, entry); + entry->domain =3D irq_domain_add_linear_of_node(node, 32, &smp2p_irq_ops,= entry); if (!entry->domain) { dev_err(smp2p->dev, "failed to add irq_domain\n"); return -ENOMEM; diff --git a/drivers/soc/qcom/smsm.c b/drivers/soc/qcom/smsm.c index e803ea342c97..a7587b8f929c 100644 --- a/drivers/soc/qcom/smsm.c +++ b/drivers/soc/qcom/smsm.c @@ -456,7 +456,7 @@ static int smsm_inbound_entry(struct qcom_smsm *smsm, return ret; } =20 - entry->domain =3D irq_domain_add_linear(node, 32, &smsm_irq_ops, entry); + entry->domain =3D irq_domain_add_linear_of_node(node, 32, &smsm_irq_ops, = entry); if (!entry->domain) { dev_err(smsm->dev, "failed to add irq_domain\n"); return -ENOMEM; diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c index a08c377933c5..64da24d8bdd3 100644 --- a/drivers/soc/tegra/pmc.c +++ b/drivers/soc/tegra/pmc.c @@ -2499,7 +2499,7 @@ static int tegra_pmc_irq_init(struct tegra_pmc *pmc) pmc->irq.irq_set_type =3D pmc->soc->irq_set_type; pmc->irq.irq_set_wake =3D pmc->soc->irq_set_wake; =20 - pmc->domain =3D irq_domain_add_hierarchy(parent, 0, 96, pmc->dev->of_node, + pmc->domain =3D irq_domain_add_hierarchy_of_node(parent, 0, 96, pmc->dev-= >of_node, &tegra_pmc_irq_domain_ops, pmc); if (!pmc->domain) { dev_err(pmc->dev, "failed to allocate domain\n"); diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c index 73f2f19737f8..31bec5645777 100644 --- a/drivers/spmi/spmi-pmic-arb.c +++ b/drivers/spmi/spmi-pmic-arb.c @@ -1737,7 +1737,7 @@ static int spmi_pmic_arb_bus_init(struct platform_dev= ice *pdev, =20 dev_dbg(&pdev->dev, "adding irq domain for bus %d\n", bus_index); =20 - bus->domain =3D irq_domain_add_tree(node, &pmic_arb_irq_domain_ops, bus); + bus->domain =3D irq_domain_add_tree_of_node(node, &pmic_arb_irq_domain_op= s, bus); if (!bus->domain) { dev_err(&pdev->dev, "unable to create irq_domain\n"); return -ENOMEM; diff --git a/drivers/ssb/driver_gpio.c b/drivers/ssb/driver_gpio.c index 897cb8db5084..9c0c789bb936 100644 --- a/drivers/ssb/driver_gpio.c +++ b/drivers/ssb/driver_gpio.c @@ -148,7 +148,7 @@ static int ssb_gpio_irq_chipco_domain_init(struct ssb_b= us *bus) if (bus->bustype !=3D SSB_BUSTYPE_SSB) return 0; =20 - bus->irq_domain =3D irq_domain_add_linear(NULL, chip->ngpio, + bus->irq_domain =3D irq_domain_add_linear_of_node(NULL, chip->ngpio, &irq_domain_simple_ops, chipco); if (!bus->irq_domain) { err =3D -ENODEV; @@ -347,7 +347,7 @@ static int ssb_gpio_irq_extif_domain_init(struct ssb_bu= s *bus) if (bus->bustype !=3D SSB_BUSTYPE_SSB) return 0; =20 - bus->irq_domain =3D irq_domain_add_linear(NULL, chip->ngpio, + bus->irq_domain =3D irq_domain_add_linear_of_node(NULL, chip->ngpio, &irq_domain_simple_ops, extif); if (!bus->irq_domain) { err =3D -ENODEV; diff --git a/drivers/thermal/qcom/lmh.c b/drivers/thermal/qcom/lmh.c index d2d49264cf83..2b6cdffbab28 100644 --- a/drivers/thermal/qcom/lmh.c +++ b/drivers/thermal/qcom/lmh.c @@ -209,7 +209,7 @@ static int lmh_probe(struct platform_device *pdev) } =20 lmh_data->irq =3D platform_get_irq(pdev, 0); - lmh_data->domain =3D irq_domain_add_linear(np, 1, &lmh_irq_ops, lmh_data); + lmh_data->domain =3D irq_domain_add_linear_of_node(np, 1, &lmh_irq_ops, l= mh_data); if (!lmh_data->domain) { dev_err(dev, "Error adding irq_domain\n"); return -EINVAL; diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/socth= erm.c index 2c5ddf0db40c..636d92b28692 100644 --- a/drivers/thermal/tegra/soctherm.c +++ b/drivers/thermal/tegra/soctherm.c @@ -1234,7 +1234,7 @@ static int soctherm_oc_int_init(struct device_node *n= p, int num_irqs) soc_irq_cdata.irq_chip.irq_set_type =3D soctherm_oc_irq_set_type; soc_irq_cdata.irq_chip.irq_set_wake =3D NULL; =20 - soc_irq_cdata.domain =3D irq_domain_add_linear(np, num_irqs, + soc_irq_cdata.domain =3D irq_domain_add_linear_of_node(np, num_irqs, &soctherm_oc_domain_ops, &soc_irq_cdata); =20 diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index 2dd7cb9cc270..7d2bdb265de9 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@ -286,7 +286,7 @@ struct gpio_irq_chip { /** * @first: * - * Required for static IRQ allocation. If set, irq_domain_add_simple() + * Required for static IRQ allocation. If set, irq_domain_add_simple_of_n= ode() * will allocate and map all IRQs during initialization. */ unsigned int first; diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index a7f41a6163c5..ebc6f622e96b 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -346,7 +346,7 @@ struct irq_domain *irq_domain_create_legacy(struct fwno= de_handle *fwnode, void *host_data); =20 /** - * irq_domain_add_legacy() - Allocate and register a legacy revmap irq_dom= ain. + * irq_domain_add_legacy_of_node() - Allocate and register a legacy revmap= irq_domain. * @of_node: pointer to interrupt controller's device tree node. * @size: total number of irqs in legacy mapping * @first_irq: first number of irq block assigned to the domain @@ -360,7 +360,7 @@ struct irq_domain *irq_domain_create_legacy(struct fwno= de_handle *fwnode, * for all legacy interrupts except 0 (which is always the invalid irq for * a legacy controller). */ -static inline struct irq_domain *irq_domain_add_legacy(struct device_node = *of_node, +static inline struct irq_domain *irq_domain_add_legacy_of_node(struct devi= ce_node *of_node, unsigned int size, unsigned int first_irq, irq_hw_number_t first_hwirq, @@ -417,7 +417,7 @@ static inline struct irq_domain *irq_find_host(struct d= evice_node *node) return d; } =20 -static inline struct irq_domain *irq_domain_add_simple(struct device_node = *of_node, +static inline struct irq_domain *irq_domain_add_simple_of_node(struct devi= ce_node *of_node, unsigned int size, unsigned int first_irq, const struct irq_domain_ops *ops, @@ -427,13 +427,13 @@ static inline struct irq_domain *irq_domain_add_simpl= e(struct device_node *of_no } =20 /** - * irq_domain_add_linear() - Allocate and register a linear revmap irq_dom= ain. + * irq_domain_add_linear_of_node() - Allocate and register a linear revmap= irq_domain. * @of_node: pointer to interrupt controller's device tree node. * @size: Number of interrupts in the domain. * @ops: map/unmap domain callbacks * @host_data: Controller private data pointer */ -static inline struct irq_domain *irq_domain_add_linear(struct device_node = *of_node, +static inline struct irq_domain *irq_domain_add_linear_of_node(struct devi= ce_node *of_node, unsigned int size, const struct irq_domain_ops *ops, void *host_data) @@ -451,7 +451,7 @@ static inline struct irq_domain *irq_domain_add_linear(= struct device_node *of_no } =20 #ifdef CONFIG_IRQ_DOMAIN_NOMAP -static inline struct irq_domain *irq_domain_add_nomap(struct device_node *= of_node, +static inline struct irq_domain *irq_domain_add_nomap_of_node(struct devic= e_node *of_node, unsigned int max_irq, const struct irq_domain_ops *ops, void *host_data) @@ -471,7 +471,7 @@ static inline struct irq_domain *irq_domain_add_nomap(s= truct device_node *of_nod unsigned int irq_create_direct_mapping(struct irq_domain *domain); #endif =20 -static inline struct irq_domain *irq_domain_add_tree(struct device_node *o= f_node, +static inline struct irq_domain *irq_domain_add_tree_of_node(struct device= _node *of_node, const struct irq_domain_ops *ops, void *host_data) { @@ -643,7 +643,7 @@ static inline struct irq_domain *irq_domain_create_hier= archy(struct irq_domain * return IS_ERR(d) ? NULL : d; } =20 -static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domai= n *parent, +static inline struct irq_domain *irq_domain_add_hierarchy_of_node(struct i= rq_domain *parent, unsigned int flags, unsigned int size, struct device_node *node, diff --git a/sound/soc/codecs/wcd937x.c b/sound/soc/codecs/wcd937x.c index c9d5e67bf66e..8afa20a3bdfb 100644 --- a/sound/soc/codecs/wcd937x.c +++ b/sound/soc/codecs/wcd937x.c @@ -2472,7 +2472,7 @@ static const struct irq_domain_ops wcd_domain_ops =3D= { =20 static int wcd937x_irq_init(struct wcd937x_priv *wcd, struct device *dev) { - wcd->virq =3D irq_domain_add_linear(NULL, 1, &wcd_domain_ops, NULL); + wcd->virq =3D irq_domain_add_linear_of_node(NULL, 1, &wcd_domain_ops, NUL= L); if (!(wcd->virq)) { dev_err(dev, "%s: Failed to add IRQ domain\n", __func__); return -EINVAL; diff --git a/sound/soc/codecs/wcd938x.c b/sound/soc/codecs/wcd938x.c index f2a4f3262bdb..81fff69b3152 100644 --- a/sound/soc/codecs/wcd938x.c +++ b/sound/soc/codecs/wcd938x.c @@ -3030,7 +3030,7 @@ static const struct irq_domain_ops wcd_domain_ops =3D= { static int wcd938x_irq_init(struct wcd938x_priv *wcd, struct device *dev) { =20 - wcd->virq =3D irq_domain_add_linear(NULL, 1, &wcd_domain_ops, NULL); + wcd->virq =3D irq_domain_add_linear_of_node(NULL, 1, &wcd_domain_ops, NUL= L); if (!(wcd->virq)) { dev_err(dev, "%s: Failed to add IRQ domain\n", __func__); return -EINVAL; diff --git a/sound/soc/codecs/wcd939x.c b/sound/soc/codecs/wcd939x.c index 4a417a92514d..0c2190909839 100644 --- a/sound/soc/codecs/wcd939x.c +++ b/sound/soc/codecs/wcd939x.c @@ -2975,7 +2975,7 @@ static const struct irq_domain_ops wcd_domain_ops =3D= { =20 static int wcd939x_irq_init(struct wcd939x_priv *wcd, struct device *dev) { - wcd->virq =3D irq_domain_add_linear(NULL, 1, &wcd_domain_ops, NULL); + wcd->virq =3D irq_domain_add_linear_of_node(NULL, 1, &wcd_domain_ops, NUL= L); if (!(wcd->virq)) { dev_err(dev, "%s: Failed to add IRQ domain\n", __func__); return -EINVAL; --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 8923D3DAC13 for ; Wed, 15 Jan 2025 08:54:29 +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=1736931269; cv=none; b=Hy2OZeUrYrczulYpqHDNuBOgq1WwNVfabaQ72IPpEFyVIDWZswMhsVN7xcrrK8S8iourRHflx+Dcg/CNBD7dJTTF0/wfzbYT1NjfcxE9kgC4ee8nzUmy804vo1MKZMTXqhPu9pEYCLSmUp42XOqn4pRyZM7OuMR/W3KR5FxjYXY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931269; c=relaxed/simple; bh=nOS/7sp+ipxpv8hEFwoQfYivR1+4UhHAoTGvQkxNHB4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qE9MjLZXZ/2Q4AYtv5XKvShp7JFw4uozln9GWncnPYDEwhVOwYksI1LicFWOS/aE3rbLzEmRBBaFrxvIv+k5c68zsoVg9LAhTTMi6vSsl2VoOTeBoREdzpJKnW/gCtt/mwcKkHrVCzp+HOZ9/xfBhgcHDUW+6aCPuobD4yGuHi8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NMESDODw; 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="NMESDODw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5406BC4CEE8; Wed, 15 Jan 2025 08:54:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931269; bh=nOS/7sp+ipxpv8hEFwoQfYivR1+4UhHAoTGvQkxNHB4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NMESDODwOWiGd8NiIsIDcWyHe3A+pRwjqs86GhngVaax7WpJV4X73w52/uZRAr+dT 7i/U6eInyFDuz+ypjpYcSUu7Z6fZZiIUCXLJnglYyU8gJPqkx4HpXnBMPf2x3mFcul UIn0NAxhEgGbPMf2Dej14v6RXyXPDfhznNhIhdRI6lTML4/bHRv60zy2S6QjG5BesI 1VCZCnKhrAfZHzrRd5uhRbB5QZiehQeCW1gjH21GtHwoR+ledxafTUi3OLqIF7Fo/Y AsVfqfbp260bGYhRwyPKOZbKPdwFAK3p1cu8P6QDB8jeZpZgMjfhvS1LR0wLwHH9U6 n0Hg8QbF5PO3g== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 10/18] irqdomain: Rename _create functions to _add_*_fwnode Date: Wed, 15 Jan 2025 09:53:59 +0100 Message-ID: <20250115085409.1629787-11-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Continuing the unifying idea of the previous patch, all "_create" functions are renamed to "_add" and appended with a "_fwnode" suffix. Now, the interface is: * dom =3D irq_domain_add_linear_fwnode(fwnode, ...) * irq_domain_remove(dom) Note: Sorry, I am not capable of wrapping chinese text properly. Signed-off-by: Jiri Slaby (SUSE) --- Documentation/core-api/irq/irq-domain.rst | 42 +++++++++---------- .../driver-api/driver-model/devres.rst | 2 +- .../zh_CN/core-api/irq/irq-domain.rst | 22 +++++----- arch/arm64/kvm/arch_timer.c | 2 +- arch/mips/pci/pci-xtalk-bridge.c | 2 +- arch/mips/sgi-ip27/ip27-irq.c | 2 +- arch/mips/sgi-ip30/ip30-irq.c | 2 +- arch/powerpc/platforms/powernv/pci-ioda.c | 2 +- arch/powerpc/platforms/pseries/msi.c | 2 +- arch/powerpc/sysdev/xics/xics-common.c | 2 +- arch/powerpc/sysdev/xive/common.c | 2 +- arch/x86/kernel/apic/io_apic.c | 2 +- arch/x86/kernel/apic/vector.c | 2 +- arch/x86/platform/uv/uv_irq.c | 2 +- drivers/acpi/irq.c | 2 +- drivers/gpio/gpio-bcm-kona.c | 2 +- drivers/gpio/gpio-mockup.c | 2 +- drivers/gpio/gpio-mpc8xxx.c | 2 +- drivers/gpio/gpio-sim.c | 2 +- drivers/gpio/gpio-uniphier.c | 2 +- drivers/gpio/gpio-xgene-sb.c | 2 +- drivers/gpio/gpiolib.c | 4 +- drivers/hid/hid-rmi.c | 2 +- drivers/i2c/i2c-core-base.c | 2 +- drivers/iio/dummy/iio_dummy_evgen.c | 2 +- drivers/input/rmi4/rmi_driver.c | 2 +- drivers/iommu/amd/init.c | 2 +- drivers/iommu/amd/iommu.c | 2 +- drivers/iommu/hyperv-iommu.c | 2 +- drivers/iommu/intel/irq_remapping.c | 2 +- drivers/irqchip/irq-apple-aic.c | 2 +- drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-bcm2836.c | 2 +- drivers/irqchip/irq-gic-v2m.c | 2 +- drivers/irqchip/irq-gic-v3-its.c | 2 +- drivers/irqchip/irq-gic-v3-mbi.c | 2 +- drivers/irqchip/irq-gic-v3.c | 2 +- drivers/irqchip/irq-gic-v4.c | 4 +- drivers/irqchip/irq-gic.c | 2 +- drivers/irqchip/irq-imx-mu-msi.c | 2 +- drivers/irqchip/irq-ixp4xx.c | 2 +- drivers/irqchip/irq-loongarch-avec.c | 2 +- drivers/irqchip/irq-loongarch-cpu.c | 4 +- drivers/irqchip/irq-loongson-eiointc.c | 2 +- drivers/irqchip/irq-loongson-htvec.c | 2 +- drivers/irqchip/irq-loongson-liointc.c | 4 +- drivers/irqchip/irq-loongson-pch-lpc.c | 2 +- drivers/irqchip/irq-loongson-pch-msi.c | 2 +- drivers/irqchip/irq-loongson-pch-pic.c | 2 +- drivers/irqchip/irq-meson-gpio.c | 2 +- drivers/irqchip/irq-mvebu-gicp.c | 2 +- drivers/irqchip/irq-mvebu-odmi.c | 2 +- drivers/irqchip/irq-mvebu-sei.c | 6 +-- drivers/irqchip/irq-partition-percpu.c | 2 +- drivers/irqchip/irq-qcom-mpm.c | 2 +- drivers/irqchip/irq-rda-intc.c | 2 +- drivers/irqchip/irq-riscv-aplic-direct.c | 2 +- drivers/irqchip/irq-riscv-imsic-platform.c | 2 +- drivers/irqchip/irq-riscv-intc.c | 2 +- drivers/irqchip/irq-sifive-plic.c | 2 +- drivers/irqchip/irq-uniphier-aidet.c | 2 +- drivers/irqchip/qcom-irq-combiner.c | 4 +- drivers/irqchip/qcom-pdc.c | 2 +- drivers/mfd/ioc3.c | 2 +- drivers/misc/lan966x_pci.c | 2 +- drivers/net/usb/smsc95xx.c | 2 +- .../pci/controller/dwc/pcie-designware-host.c | 2 +- drivers/pci/controller/pci-tegra.c | 2 +- drivers/pci/controller/pcie-apple.c | 4 +- drivers/pci/controller/pcie-mediatek.c | 2 +- drivers/pci/controller/pcie-rcar-host.c | 2 +- drivers/pci/controller/pcie-xilinx.c | 2 +- drivers/pinctrl/samsung/pinctrl-exynos.c | 4 +- drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 4 +- drivers/pinctrl/stm32/pinctrl-stm32.c | 2 +- .../platform/x86/intel/crystal_cove_charger.c | 2 +- drivers/soundwire/irq.c | 2 +- include/linux/irq_sim.h | 8 ++-- include/linux/irqdomain.h | 18 ++++---- kernel/irq/ipi-mux.c | 2 +- kernel/irq/irq_sim.c | 28 ++++++------- kernel/irq/irqdomain.c | 10 ++--- kernel/irq/msi.c | 2 +- sound/soc/codecs/rt5677.c | 2 +- 84 files changed, 152 insertions(+), 152 deletions(-) diff --git a/Documentation/core-api/irq/irq-domain.rst b/Documentation/core= -api/irq/irq-domain.rst index 9a80112360d8..e315489b1292 100644 --- a/Documentation/core-api/irq/irq-domain.rst +++ b/Documentation/core-api/irq/irq-domain.rst @@ -42,11 +42,11 @@ irq_domain usage =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 An interrupt controller driver creates and registers an irq_domain by -calling one of the irq_domain_add_*_of_node() or irq_domain_create_*() -functions (each mapping method has a different allocator function, -more on that later). The function will return a pointer to the -irq_domain on success. The caller must provide the allocator function -with an irq_domain_ops structure. +calling one of the irq_domain_add_*_of_node() or +irq_domain_add_*_fwnode() functions (each mapping method has a +different allocator function, more on that later). The function will +return a pointer to the irq_domain on success. The caller must provide +the allocator function with an irq_domain_ops structure. =20 In most cases, the irq_domain will begin empty without any mappings between hwirq and IRQ numbers. Mappings are added to the irq_domain @@ -94,7 +94,7 @@ Linear :: =20 irq_domain_add_linear_of_node() - irq_domain_create_linear() + irq_domain_add_linear_fwnode() =20 The linear reverse map maintains a fixed size table indexed by the hwirq number. When a hwirq is mapped, an irq_desc is allocated for @@ -106,7 +106,7 @@ map are fixed time lookup for IRQ numbers, and irq_desc= s are only allocated for in-use IRQs. The disadvantage is that the table must be as large as the largest possible hwirq number. =20 -irq_domain_add_linear_of_node() and irq_domain_create_linear() are +irq_domain_add_linear_of_node() and irq_domain_add_linear_fwnode() are functionally equivalent, except for the first argument is different - the former accepts an Open Firmware specific 'struct device_node', while the latter accepts a more general abstraction 'struct @@ -120,7 +120,7 @@ Tree :: =20 irq_domain_add_tree_of_node() - irq_domain_create_tree() + irq_domain_add_tree_fwnode() =20 The irq_domain maintains a radix tree map from hwirq numbers to Linux IRQs. When an hwirq is mapped, an irq_desc is allocated and the @@ -131,7 +131,7 @@ since it doesn't need to allocate a table as large as t= he largest hwirq number. The disadvantage is that hwirq to IRQ number lookup is dependent on how many entries are in the table. =20 -irq_domain_add_tree_of_node() and irq_domain_create_tree() are +irq_domain_add_tree_of_node() and irq_domain_add_tree_fwnode() are functionally equivalent, except for the first argument is different - the former accepts an Open Firmware specific 'struct device_node', while the latter accepts a more general abstraction 'struct @@ -164,8 +164,8 @@ Legacy =20 irq_domain_add_simple_of_node() irq_domain_add_legacy_of_node() - irq_domain_create_simple() - irq_domain_create_legacy() + irq_domain_add_simple_fwnode() + irq_domain_add_legacy_fwnode() =20 The Legacy mapping is a special case for drivers that already have a range of irq_descs allocated for the hwirqs. It is used when the @@ -193,14 +193,14 @@ mapping Linux IRQs 0-15 so that existing ISA drivers = get the correct IRQ numbers. =20 Most users of legacy mappings should use -irq_domain_add_simple_of_node() or irq_domain_create_simple() which -will use a legacy domain only if an IRQ range is supplied by the +irq_domain_add_simple_of_node() or irq_domain_add_simple_fwnode() +which will use a legacy domain only if an IRQ range is supplied by the system and will otherwise use a linear domain mapping. The semantics of this call are such that if an IRQ range is specified then descriptors will be allocated on-the-fly for it, and if no range is specified it will fall through to irq_domain_add_linear_of_node() or -irq_domain_create_linear() which means *no* irq descriptors will be -allocated. +irq_domain_add_linear_fwnode() which means *no* irq descriptors will +be allocated. =20 A typical use case for simple domains is where an irqchip provider is supporting both dynamic and static IRQ assignments. @@ -211,12 +211,12 @@ that the driver using the simple domain call irq_crea= te_mapping() before any irq_find_mapping() since the latter will actually work for the static IRQ assignment case. =20 -irq_domain_add_simple_of_node() and irq_domain_create_simple() as well -as irq_domain_add_legacy_of_node() and irq_domain_create_legacy() are -functionally equivalent, except for the first argument is different - -the former accepts an Open Firmware specific 'struct device_node', -while the latter accepts a more general abstraction 'struct -fwnode_handle'. +irq_domain_add_simple_of_node() and irq_domain_add_simple_fwnode() as +well as irq_domain_add_legacy_of_node() and +irq_domain_add_legacy_fwnode() are functionally equivalent, except for +the first argument is different - the former accepts an Open Firmware +specific 'struct device_node', while the latter accepts a more general +abstraction 'struct fwnode_handle'. =20 Hierarchy IRQ domain -------------------- diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentati= on/driver-api/driver-model/devres.rst index d594d0ea0e9d..3cce1f46e165 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -337,7 +337,7 @@ IRQ devm_irq_alloc_descs_from() devm_irq_alloc_generic_chip() devm_irq_setup_generic_chip() - devm_irq_domain_create_sim() + devm_irq_domain_add_sim_fwnode() =20 LED devm_led_classdev_register() diff --git a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst b= /Documentation/translations/zh_CN/core-api/irq/irq-domain.rst index 3fcd5b8d508d..795a5218819f 100644 --- a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst +++ b/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst @@ -43,7 +43,7 @@ irq_domain=E7=9A=84=E7=94=A8=E6=B3=95 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 =E4=B8=AD=E6=96=AD=E6=8E=A7=E5=88=B6=E5=99=A8=E9=A9=B1=E5=8A=A8=E7=A8=8B= =E5=BA=8F=E9=80=9A=E8=BF=87=E4=BB=A5=E4=B8=8B=E6=96=B9=E5=BC=8F=E5=88=9B=E5= =BB=BA=E5=B9=B6=E6=B3=A8=E5=86=8C=E4=B8=80=E4=B8=AAirq_domain=E3=80=82=E8= =B0=83=E7=94=A8 -irq_domain_add_*_of_node() =E6=88=96 irq_domain_create_*()=E5=87=BD=E6=95= =B0=E4=B9=8B=E4=B8=80=EF=BC=88=E6=AF=8F=E4=B8=AA=E6=98=A0=E5=B0=84=E6=96=B9= =E6=B3=95=E9=83=BD=E6=9C=89=E4=B8=8D +irq_domain_add_*_of_node() =E6=88=96 irq_domain_add_*_fwnode()=E5=87=BD=E6= =95=B0=E4=B9=8B=E4=B8=80=EF=BC=88=E6=AF=8F=E4=B8=AA=E6=98=A0=E5=B0=84=E6=96= =B9=E6=B3=95=E9=83=BD=E6=9C=89=E4=B8=8D =E5=90=8C=E7=9A=84=E5=88=86=E9=85=8D=E5=99=A8=E5=87=BD=E6=95=B0=EF=BC=8C= =E5=90=8E=E9=9D=A2=E4=BC=9A=E8=AF=A6=E7=BB=86=E4=BB=8B=E7=BB=8D=EF=BC=89=E3= =80=82 =E5=87=BD=E6=95=B0=E6=88=90=E5=8A=9F=E5=90=8E=E4=BC=9A=E8=BF=94=E5= =9B=9E=E4=B8=80=E4=B8=AA=E6=8C=87=E5=90=91irq_domain=E7=9A=84=E6=8C=87=E9= =92=88=E3=80=82 =E8=B0=83=E7=94=A8=E8=80=85=E5=BF=85=E9=A1=BB=E5=90=91=E5=88=86=E9=85=8D= =E5=99=A8=E5=87=BD=E6=95=B0=E6=8F=90=E4=BE=9B=E4=B8=80=E4=B8=AAirq_domain_o= ps=E7=BB=93=E6=9E=84=E4=BD=93=E3=80=82 =20 @@ -84,7 +84,7 @@ irq_domain=E6=98=A0=E5=B0=84=E7=9A=84=E7=B1=BB=E5=9E=8B :: =20 irq_domain_add_linear_of_node() - irq_domain_create_linear() + irq_domain_add_linear_fwnode() =20 =E7=BA=BF=E6=80=A7=E5=8F=8D=E5=90=91=E6=98=A0=E5=B0=84=E7=BB=B4=E6=8A=A4= =E4=BA=86=E4=B8=80=E4=B8=AA=E5=9B=BA=E5=AE=9A=E5=A4=A7=E5=B0=8F=E7=9A=84=E8= =A1=A8=EF=BC=8C=E8=AF=A5=E8=A1=A8=E4=BB=A5hwirq=E5=8F=B7=E4=B8=BA=E7=B4=A2= =E5=BC=95=E3=80=82 =E5=BD=93=E4=B8=80=E4=B8=AAhwirq=E8=A2=AB=E6=98=A0=E5=B0= =84 =E6=97=B6=EF=BC=8C=E4=BC=9A=E7=BB=99hwirq=E5=88=86=E9=85=8D=E4=B8=80=E4=B8= =AAirq_desc=EF=BC=8C=E5=B9=B6=E5=B0=86irq=E5=8F=B7=E5=AD=98=E5=82=A8=E5=9C= =A8=E8=A1=A8=E4=B8=AD=E3=80=82 @@ -93,7 +93,7 @@ irq_domain=E6=98=A0=E5=B0=84=E7=9A=84=E7=B1=BB=E5=9E=8B =E6=98=A0=E5=B0=84=E7=9A=84=E4=BC=98=E7=82=B9=E6=98=AF=E5=9B=BA=E5=AE=9A= =E6=97=B6=E9=97=B4=E6=9F=A5=E6=89=BEIRQ=E5=8F=B7=EF=BC=8C=E8=80=8C=E4=B8=94= irq_descs=E5=8F=AA=E5=88=86=E9=85=8D=E7=BB=99=E5=9C=A8=E7=94=A8=E7=9A=84IRQ= =E3=80=82 =E7=BC=BA=E7=82=B9=E6=98=AF=E8=AF=A5=E8=A1=A8 =E5=BF=85=E9=A1=BB=E5=B0=BD=E5=8F=AF=E8=83=BD=E5=A4=A7=E7=9A=84hwirq=E5=8F= =B7=E3=80=82 =20 -irq_domain_add_linear_of_node()=E5=92=8Cirq_domain_create_linear()=E5=9C= =A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C +irq_domain_add_linear_of_node()=E5=92=8Cirq_domain_add_linear_fwnode()=E5= =9C=A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC= =8C =E9=99=A4=E4=BA=86=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=8F=82=E6=95=B0=E4=B8=8D= =E5=90=8C--=E5=89=8D=E8=80=85=E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AAOpen Firmw= are=E7=89=B9=E5=AE=9A=E7=9A=84 'struct device_node' =E8=80=8C =E5=90=8E=E8=80=85=E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AA=E6=9B=B4=E9=80=9A= =E7=94=A8=E7=9A=84=E6=8A=BD=E8=B1=A1 'struct fwnode_handle' =E3=80=82 =20 @@ -105,7 +105,7 @@ irq_domain_add_linear_of_node()=E5=92=8Cirq_domain_crea= te_linear()=E5=9C=A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89 :: =20 irq_domain_add_tree_of_node() - irq_domain_create_tree() + irq_domain_add_tree_fwnode() =20 irq_domain=E7=BB=B4=E6=8A=A4=E7=9D=80=E4=BB=8Ehwirq=E5=8F=B7=E5=88=B0Linux= IRQ=E7=9A=84radix=E7=9A=84=E6=A0=91=E7=8A=B6=E6=98=A0=E5=B0=84=E3=80=82 = =E5=BD=93=E4=B8=80=E4=B8=AAhwirq=E8=A2=AB=E6=98=A0=E5=B0=84=E6=97=B6=EF=BC= =8C =E4=B8=80=E4=B8=AAirq_desc=E8=A2=AB=E5=88=86=E9=85=8D=EF=BC=8Chwirq=E8=A2= =AB=E7=94=A8=E4=BD=9Cradix=E6=A0=91=E7=9A=84=E6=9F=A5=E6=89=BE=E9=94=AE=E3= =80=82 @@ -113,7 +113,7 @@ irq_domain=E7=BB=B4=E6=8A=A4=E7=9D=80=E4=BB=8Ehwirq=E5= =8F=B7=E5=88=B0Linux IRQ=E7=9A=84radix=E7=9A=84=E6=A0=91=E7=8A=B6=E6=98=A0= =E5=B0=84=E3=80=82 =E5=BD=93=E4=B8=80=E4=B8=AAhw =E5=A6=82=E6=9E=9Chwirq=E5=8F=B7=E5=8F=AF=E4=BB=A5=E9=9D=9E=E5=B8=B8=E5=A4= =A7=EF=BC=8C=E6=A0=91=E7=8A=B6=E6=98=A0=E5=B0=84=E6=98=AF=E4=B8=80=E4=B8=AA= =E5=BE=88=E5=A5=BD=E7=9A=84=E9=80=89=E6=8B=A9=EF=BC=8C=E5=9B=A0=E4=B8=BA=E5= =AE=83=E4=B8=8D=E9=9C=80=E8=A6=81=E5=88=86=E9=85=8D=E4=B8=80=E4=B8=AA=E5=92= =8C=E6=9C=80=E5=A4=A7hwirq =E5=8F=B7=E4=B8=80=E6=A0=B7=E5=A4=A7=E7=9A=84=E8=A1=A8=E3=80=82 =E7=BC=BA= =E7=82=B9=E6=98=AF=EF=BC=8Chwirq=E5=88=B0IRQ=E5=8F=B7=E7=9A=84=E6=9F=A5=E6= =89=BE=E5=8F=96=E5=86=B3=E4=BA=8E=E8=A1=A8=E4=B8=AD=E6=9C=89=E5=A4=9A=E5=B0= =91=E6=9D=A1=E7=9B=AE=E3=80=82 =20 -irq_domain_add_tree_of_node()=E5=92=8Cirq_domain_create_tree()=E5=9C=A8=E5= =8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C=E9=99= =A4=E4=BA=86=E7=AC=AC=E4=B8=80 +irq_domain_add_tree_of_node()=E5=92=8Cirq_domain_add_tree_fwnode()=E5=9C= =A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C= =E9=99=A4=E4=BA=86=E7=AC=AC=E4=B8=80 =E4=B8=AA=E5=8F=82=E6=95=B0=E4=B8=8D=E5=90=8C=E2=80=94=E2=80=94=E5=89=8D= =E8=80=85=E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AAOpen Firmware=E7=89=B9=E5=AE= =9A=E7=9A=84 'struct device_node' =EF=BC=8C=E8=80=8C=E5=90=8E=E8=80=85=E6= =8E=A5=E5=8F=97 =E4=B8=80=E4=B8=AA=E6=9B=B4=E9=80=9A=E7=94=A8=E7=9A=84=E6=8A=BD=E8=B1=A1 '= struct fwnode_handle' =E3=80=82 =20 @@ -140,8 +140,8 @@ Linux IRQ=E5=8F=B7=E7=BC=96=E5=85=A5=E7=A1=AC=E4=BB=B6= =E6=9C=AC=E8=BA=AB=EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=B8=8D=E9=9C=80=E8= =A6=81=E6=98=A0=E5=B0=84=E4=BA=86=E3=80=82 =E8=B0=83=E7=94=A8irq_create =20 irq_domain_add_simple_of_node() irq_domain_add_legacy_of_node() - irq_domain_create_simple() - irq_domain_create_legacy() + irq_domain_add_simple_fwnode() + irq_domain_add_legacy_fwnode() =20 =E4=BC=A0=E7=BB=9F=E6=98=A0=E5=B0=84=E6=98=AF=E5=B7=B2=E7=BB=8F=E4=B8=BA h= wirqs =E5=88=86=E9=85=8D=E4=BA=86=E4=B8=80=E7=B3=BB=E5=88=97 irq_descs =E7= =9A=84=E9=A9=B1=E5=8A=A8=E7=A8=8B=E5=BA=8F=E7=9A=84=E7=89=B9=E6=AE=8A=E6=83= =85=E5=86=B5=E3=80=82 =E5=BD=93=E9=A9=B1=E5=8A=A8=E7=A8=8B =E5=BA=8F=E4=B8=8D=E8=83=BD=E7=AB=8B=E5=8D=B3=E8=BD=AC=E6=8D=A2=E4=B8=BA= =E4=BD=BF=E7=94=A8=E7=BA=BF=E6=80=A7=E6=98=A0=E5=B0=84=E6=97=B6=EF=BC=8C=E5= =B0=B1=E4=BC=9A=E4=BD=BF=E7=94=A8=E5=AE=83=E3=80=82 =E4=BE=8B=E5=A6=82=EF= =BC=8C=E8=AE=B8=E5=A4=9A=E5=B5=8C=E5=85=A5=E5=BC=8F=E7=B3=BB=E7=BB=9F=E6=9D= =BF=E5=8D=A1=E6=94=AF=E6=8C=81=E6=96=87=E4=BB=B6=E4=BD=BF=E7=94=A8 @@ -159,10 +159,10 @@ Linux IRQ=E5=8F=B7=E7=BC=96=E5=85=A5=E7=A1=AC=E4=BB= =B6=E6=9C=AC=E8=BA=AB=EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=B8=8D=E9=9C=80= =E8=A6=81=E6=98=A0=E5=B0=84=E4=BA=86=E3=80=82 =E8=B0=83=E7=94=A8irq_create =E6=98=A0=E5=B0=84Linux IRQ 0-15=EF=BC=8C=E8=BF=99=E6=A0=B7=E7=8E=B0=E6=9C= =89=E7=9A=84ISA=E9=A9=B1=E5=8A=A8=E7=A8=8B=E5=BA=8F=E5=B0=B1=E8=83=BD=E5=BE= =97=E5=88=B0=E6=AD=A3=E7=A1=AE=E7=9A=84IRQ=E5=8F=B7=E3=80=82 =20 =E5=A4=A7=E5=A4=9A=E6=95=B0=E4=BD=BF=E7=94=A8=E4=BC=A0=E7=BB=9F=E6=98=A0= =E5=B0=84=E7=9A=84=E7=94=A8=E6=88=B7=E5=BA=94=E8=AF=A5=E4=BD=BF=E7=94=A8irq= _domain_add_simple_of_node()=E6=88=96 -irq_domain_create_simple()=EF=BC=8C=E5=8F=AA=E6=9C=89=E5=9C=A8=E7=B3=BB=E7= =BB=9F=E6=8F=90=E4=BE=9BIRQ=E8=8C=83=E5=9B=B4=E6=97=B6=E6=89=8D=E4=BC=9A=E4= =BD=BF=E7=94=A8=E4=BC=A0=E7=BB=9F=E5=9F=9F=EF=BC=8C=E5=90=A6=E5=88=99=E5=B0= =86=E4=BD=BF=E7=94=A8 +irq_domain_add_simple_fwnode()=EF=BC=8C=E5=8F=AA=E6=9C=89=E5=9C=A8=E7=B3= =BB=E7=BB=9F=E6=8F=90=E4=BE=9BIRQ=E8=8C=83=E5=9B=B4=E6=97=B6=E6=89=8D=E4=BC= =9A=E4=BD=BF=E7=94=A8=E4=BC=A0=E7=BB=9F=E5=9F=9F=EF=BC=8C=E5=90=A6=E5=88=99= =E5=B0=86=E4=BD=BF=E7=94=A8 =E7=BA=BF=E6=80=A7=E5=9F=9F=E6=98=A0=E5=B0=84=E3=80=82=E8=BF=99=E4=B8=AA= =E8=B0=83=E7=94=A8=E7=9A=84=E8=AF=AD=E4=B9=89=E6=98=AF=E8=BF=99=E6=A0=B7=E7= =9A=84=EF=BC=9A=E5=A6=82=E6=9E=9C=E6=8C=87=E5=AE=9A=E4=BA=86=E4=B8=80=E4=B8= =AAIRQ=E8=8C=83=E5=9B=B4=EF=BC=8C=E9=82=A3=E4=B9=88 =E6=8F=8F=E8=BF=B0=E7= =AC=A6=E5=B0=86=E8=A2=AB=E5=8D=B3=E6=97=B6=E5=88=86=E9=85=8D =E7=BB=99=E5=AE=83=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89=E8=8C=83= =E5=9B=B4=E8=A2=AB=E5=88=86=E9=85=8D=EF=BC=8C=E5=AE=83=E5=B0=86=E4=B8=8D=E4= =BC=9A=E6=89=A7=E8=A1=8C irq_domain_add_linear_of_node() =E6=88=96 -irq_domain_create_linear()=EF=BC=8C=E8=BF=99=E6=84=8F=E5=91=B3=E7=9D=80 *n= o* irq =E6=8F=8F=E8=BF=B0=E7=AC=A6=E5=B0=86=E8=A2=AB=E5=88=86=E9=85=8D=E3= =80=82 +irq_domain_add_linear_fwnode()=EF=BC=8C=E8=BF=99=E6=84=8F=E5=91=B3=E7=9D= =80 *no* irq =E6=8F=8F=E8=BF=B0=E7=AC=A6=E5=B0=86=E8=A2=AB=E5=88=86=E9=85= =8D=E3=80=82 =20 =E4=B8=80=E4=B8=AA=E7=AE=80=E5=8D=95=E5=9F=9F=E7=9A=84=E5=85=B8=E5=9E=8B= =E7=94=A8=E4=BE=8B=E6=98=AF=EF=BC=8Cirqchip=E4=BE=9B=E5=BA=94=E5=95=86=E5= =90=8C=E6=97=B6=E6=94=AF=E6=8C=81=E5=8A=A8=E6=80=81=E5=92=8C=E9=9D=99=E6=80= =81IRQ=E5=88=86=E9=85=8D=E3=80=82 =20 @@ -170,8 +170,8 @@ irq_domain_create_linear()=EF=BC=8C=E8=BF=99=E6=84=8F= =E5=91=B3=E7=9D=80 *no* irq =E6=8F=8F=E8=BF=B0=E7=AC=A6=E5=B0=86=E8=A2=AB= =E5=88=86=E9=85=8D=E3=80=82 irq_find_mapping()=E4=B9=8B=E5=89=8D=E8=B0=83=E7=94=A8irq_create_mapping()= =E6=98=AF=E9=9D=9E=E5=B8=B8=E9=87=8D=E8=A6=81=E7=9A=84=EF=BC=8C=E5=9B=A0=E4= =B8=BA=E5=90=8E=E8=80=85=E5=AE=9E=E9=99=85=E4=B8=8A =E5=B0=86=E7=94=A8=E4=BA=8E=E9=9D=99=E6=80=81IRQ=E5=88=86=E9=85=8D=E6=83= =85=E5=86=B5=E3=80=82 =20 -irq_domain_add_simple_of_node()=E5=92=8Cirq_domain_create_simple()=E4=BB= =A5=E5=8F=8A -irq_domain_add_legacy_of_node()=E5=92=8Cirq_domain_create_legacy()=E5=9C= =A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC=8C= =E5=8F=AA +irq_domain_add_simple_of_node()=E5=92=8Cirq_domain_add_simple_fwnode()=E4= =BB=A5=E5=8F=8A +irq_domain_add_legacy_of_node()=E5=92=8Cirq_domain_add_legacy_fwnode()=E5= =9C=A8=E5=8A=9F=E8=83=BD=E4=B8=8A=E6=98=AF=E7=AD=89=E4=BB=B7=E7=9A=84=EF=BC= =8C=E5=8F=AA =E6=98=AF=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=8F=82=E6=95=B0=E4=B8=8D=E5=90=8C--= =E5=89=8D=E8=80=85=E6=8E=A5=E5=8F=97Open Firmware=E7=89=B9=E5=AE=9A=E7=9A= =84 'struct device_node' =EF=BC=8C=E8=80=8C=E5=90=8E=E8=80=85 =E6=8E=A5=E5=8F=97=E4=B8=80=E4=B8=AA=E6=9B=B4=E9=80=9A=E7=94=A8=E7=9A=84= =E6=8A=BD=E8=B1=A1 'struct fwnode_handle' =E3=80=82 =20 diff --git a/arch/arm64/kvm/arch_timer.c b/arch/arm64/kvm/arch_timer.c index d3d243366536..4daf03604fca 100644 --- a/arch/arm64/kvm/arch_timer.c +++ b/arch/arm64/kvm/arch_timer.c @@ -1445,7 +1445,7 @@ static int kvm_irq_init(struct arch_timer_kvm_info *i= nfo) =20 /* Assume both vtimer and ptimer in the same parent */ data =3D irq_get_irq_data(host_vtimer_irq); - domain =3D irq_domain_create_hierarchy(data->domain, 0, + domain =3D irq_domain_add_hierarchy_fwnode(data->domain, 0, NR_KVM_TIMERS, fwnode, &timer_domain_ops, NULL); if (!domain) { diff --git a/arch/mips/pci/pci-xtalk-bridge.c b/arch/mips/pci/pci-xtalk-bri= dge.c index e00c38620d14..a6cf694c9c4a 100644 --- a/arch/mips/pci/pci-xtalk-bridge.c +++ b/arch/mips/pci/pci-xtalk-bridge.c @@ -626,7 +626,7 @@ static int bridge_probe(struct platform_device *pdev) fn =3D irq_domain_alloc_named_fwnode("BRIDGE"); if (!fn) return -ENOMEM; - domain =3D irq_domain_create_hierarchy(parent, 0, 8, fn, + domain =3D irq_domain_add_hierarchy_fwnode(parent, 0, 8, fn, &bridge_domain_ops, NULL); if (!domain) { irq_domain_free_fwnode(fn); diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index 288d4d17eddd..7cc0332bdecd 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c @@ -292,7 +292,7 @@ void __init arch_init_irq(void) if (WARN_ON(fn =3D=3D NULL)) return; =20 - domain =3D irq_domain_create_linear(fn, IP27_HUB_IRQ_COUNT, + domain =3D irq_domain_add_linear_fwnode(fn, IP27_HUB_IRQ_COUNT, &hub_domain_ops, NULL); if (WARN_ON(domain =3D=3D NULL)) return; diff --git a/arch/mips/sgi-ip30/ip30-irq.c b/arch/mips/sgi-ip30/ip30-irq.c index 9fb905e2cf14..65150bdfaf3d 100644 --- a/arch/mips/sgi-ip30/ip30-irq.c +++ b/arch/mips/sgi-ip30/ip30-irq.c @@ -307,7 +307,7 @@ void __init arch_init_irq(void) WARN_ON(fn =3D=3D NULL); if (!fn) return; - domain =3D irq_domain_create_linear(fn, HEART_NUM_IRQS, + domain =3D irq_domain_add_linear_fwnode(fn, HEART_NUM_IRQS, &heart_domain_ops, NULL); WARN_ON(domain =3D=3D NULL); if (!domain) diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platf= orms/powernv/pci-ioda.c index 25fba487e7b6..3a13d4aff7e1 100644 --- a/arch/powerpc/platforms/powernv/pci-ioda.c +++ b/arch/powerpc/platforms/powernv/pci-ioda.c @@ -1930,7 +1930,7 @@ static int __init pnv_msi_allocate_domains(struct pci= _controller *hose, unsigned if (!hose->fwnode) return -ENOMEM; =20 - hose->dev_domain =3D irq_domain_create_hierarchy(parent, 0, count, + hose->dev_domain =3D irq_domain_add_hierarchy_fwnode(parent, 0, count, hose->fwnode, &pnv_irq_domain_ops, hose); if (!hose->dev_domain) { diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/= pseries/msi.c index 5b191f70c088..ef23e17b77ab 100644 --- a/arch/powerpc/platforms/pseries/msi.c +++ b/arch/powerpc/platforms/pseries/msi.c @@ -618,7 +618,7 @@ static int __pseries_msi_allocate_domains(struct pci_co= ntroller *phb, if (!phb->fwnode) return -ENOMEM; =20 - phb->dev_domain =3D irq_domain_create_hierarchy(parent, 0, count, + phb->dev_domain =3D irq_domain_add_hierarchy_fwnode(parent, 0, count, phb->fwnode, &pseries_irq_domain_ops, phb); if (!phb->dev_domain) { diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/x= ics/xics-common.c index c3fa539a9898..92e8a75845a1 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c @@ -466,7 +466,7 @@ static int __init xics_allocate_domain(void) if (!fn) return -ENOMEM; =20 - xics_host =3D irq_domain_create_tree(fn, &xics_host_ops, NULL); + xics_host =3D irq_domain_add_tree_fwnode(fn, &xics_host_ops, NULL); if (!xics_host) { irq_domain_free_fwnode(fn); return -ENOMEM; diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/c= ommon.c index d4e28b581b4a..3aaad8aa7f4c 100644 --- a/arch/powerpc/sysdev/xive/common.c +++ b/arch/powerpc/sysdev/xive/common.c @@ -1141,7 +1141,7 @@ static int __init xive_init_ipis(void) if (!fwnode) goto out; =20 - ipi_domain =3D irq_domain_create_linear(fwnode, nr_node_ids, + ipi_domain =3D irq_domain_add_linear_fwnode(fwnode, nr_node_ids, &xive_ipi_irq_domain_ops, NULL); if (!ipi_domain) goto out_free_fwnode; diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index be89493e0e5c..0d93c49e54c5 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c @@ -2243,7 +2243,7 @@ static int mp_irqdomain_create(int ioapic) return -ENODEV; } =20 - ip->irqdomain =3D irq_domain_create_hierarchy(parent, 0, hwirqs, fn, cfg-= >ops, + ip->irqdomain =3D irq_domain_add_hierarchy_fwnode(parent, 0, hwirqs, fn, = cfg->ops, (void *)(long)ioapic); if (!ip->irqdomain) { /* Release fw handle if it was allocated above */ diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c index 38e53cb18dd6..2630d8f4a050 100644 --- a/arch/x86/kernel/apic/vector.c +++ b/arch/x86/kernel/apic/vector.c @@ -796,7 +796,7 @@ int __init arch_early_irq_init(void) =20 fn =3D irq_domain_alloc_named_fwnode("VECTOR"); BUG_ON(!fn); - x86_vector_domain =3D irq_domain_create_tree(fn, &x86_vector_domain_ops, + x86_vector_domain =3D irq_domain_add_tree_fwnode(fn, &x86_vector_domain_o= ps, NULL); BUG_ON(x86_vector_domain =3D=3D NULL); irq_set_default_domain(x86_vector_domain); diff --git a/arch/x86/platform/uv/uv_irq.c b/arch/x86/platform/uv/uv_irq.c index a379501b7a69..a28a686db118 100644 --- a/arch/x86/platform/uv/uv_irq.c +++ b/arch/x86/platform/uv/uv_irq.c @@ -166,7 +166,7 @@ static struct irq_domain *uv_get_irq_domain(void) if (!fn) goto out; =20 - uv_domain =3D irq_domain_create_hierarchy(x86_vector_domain, 0, 0, fn, + uv_domain =3D irq_domain_add_hierarchy_fwnode(x86_vector_domain, 0, 0, fn, &uv_domain_ops, NULL); if (!uv_domain) irq_domain_free_fwnode(fn); diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c index 1687483ff319..9b766b9c9147 100644 --- a/drivers/acpi/irq.c +++ b/drivers/acpi/irq.c @@ -350,7 +350,7 @@ struct irq_domain *acpi_irq_create_hierarchy(unsigned i= nt flags, if (!d) return NULL; =20 - return irq_domain_create_hierarchy(d, flags, size, fwnode, ops, + return irq_domain_add_hierarchy_fwnode(d, flags, size, fwnode, ops, host_data); } EXPORT_SYMBOL_GPL(acpi_irq_create_hierarchy); diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index 5321ef98f442..7216439740d0 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c @@ -593,7 +593,7 @@ static int bcm_kona_gpio_probe(struct platform_device *= pdev) chip->parent =3D dev; chip->ngpio =3D kona_gpio->num_bank * GPIO_PER_BANK; =20 - kona_gpio->irq_domain =3D irq_domain_create_linear(dev_fwnode(dev), + kona_gpio->irq_domain =3D irq_domain_add_linear_fwnode(dev_fwnode(dev), chip->ngpio, &bcm_kona_irq_ops, kona_gpio); diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c index d39c6618bade..cb476d3330ba 100644 --- a/drivers/gpio/gpio-mockup.c +++ b/drivers/gpio/gpio-mockup.c @@ -464,7 +464,7 @@ static int gpio_mockup_probe(struct platform_device *pd= ev) for (i =3D 0; i < gc->ngpio; i++) chip->lines[i].dir =3D GPIO_LINE_DIRECTION_IN; =20 - chip->irq_sim_domain =3D devm_irq_domain_create_sim(dev, NULL, + chip->irq_sim_domain =3D devm_irq_domain_add_sim_fwnode(dev, NULL, gc->ngpio); if (IS_ERR(chip->irq_sim_domain)) return PTR_ERR(chip->irq_sim_domain); diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c index 0cd4c36ae8aa..c76bd9def691 100644 --- a/drivers/gpio/gpio-mpc8xxx.c +++ b/drivers/gpio/gpio-mpc8xxx.c @@ -388,7 +388,7 @@ static int mpc8xxx_probe(struct platform_device *pdev) if (mpc8xxx_gc->irqn < 0) return mpc8xxx_gc->irqn; =20 - mpc8xxx_gc->irq =3D irq_domain_create_linear(fwnode, + mpc8xxx_gc->irq =3D irq_domain_add_linear_fwnode(fwnode, MPC8XXX_GPIO_PINS, &mpc8xxx_gpio_irq_ops, mpc8xxx_gc); diff --git a/drivers/gpio/gpio-sim.c b/drivers/gpio/gpio-sim.c index a086087ada17..68baa759bb45 100644 --- a/drivers/gpio/gpio-sim.c +++ b/drivers/gpio/gpio-sim.c @@ -459,7 +459,7 @@ static int gpio_sim_add_bank(struct fwnode_handle *swno= de, struct device *dev) if (!chip->pull_map) return -ENOMEM; =20 - chip->irq_sim =3D devm_irq_domain_create_sim_full(dev, swnode, num_lines, + chip->irq_sim =3D devm_irq_domain_add_sim_full_fwnode(dev, swnode, num_li= nes, &gpio_sim_irq_sim_ops, chip); if (IS_ERR(chip->irq_sim)) diff --git a/drivers/gpio/gpio-uniphier.c b/drivers/gpio/gpio-uniphier.c index d738da8718f9..3a4ba504a2ad 100644 --- a/drivers/gpio/gpio-uniphier.c +++ b/drivers/gpio/gpio-uniphier.c @@ -402,7 +402,7 @@ static int uniphier_gpio_probe(struct platform_device *= pdev) if (ret) return ret; =20 - priv->domain =3D irq_domain_create_hierarchy( + priv->domain =3D irq_domain_add_hierarchy_fwnode( parent_domain, 0, UNIPHIER_GPIO_IRQ_MAX_NUM, dev_fwnode(dev), diff --git a/drivers/gpio/gpio-xgene-sb.c b/drivers/gpio/gpio-xgene-sb.c index 48b829733b15..0c0071686c3e 100644 --- a/drivers/gpio/gpio-xgene-sb.c +++ b/drivers/gpio/gpio-xgene-sb.c @@ -272,7 +272,7 @@ static int xgene_gpio_sb_probe(struct platform_device *= pdev) =20 platform_set_drvdata(pdev, priv); =20 - priv->irq_domain =3D irq_domain_create_hierarchy(parent_domain, + priv->irq_domain =3D irq_domain_add_hierarchy_fwnode(parent_domain, 0, priv->nirq, pdev->dev.fwnode, &xgene_gpio_sb_domain_ops, priv); if (!priv->irq_domain) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 679ed764cb14..3706effff656 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1623,7 +1623,7 @@ static struct irq_domain *gpiochip_hierarchy_create_d= omain(struct gpio_chip *gc) =20 gpiochip_hierarchy_setup_domain_ops(&gc->irq.child_irq_domain_ops); =20 - domain =3D irq_domain_create_hierarchy( + domain =3D irq_domain_add_hierarchy_fwnode( gc->irq.parent_domain, 0, gc->ngpio, @@ -1766,7 +1766,7 @@ static struct irq_domain *gpiochip_simple_create_doma= in(struct gpio_chip *gc) struct fwnode_handle *fwnode =3D dev_fwnode(&gc->gpiodev->dev); struct irq_domain *domain; =20 - domain =3D irq_domain_create_simple(fwnode, gc->ngpio, gc->irq.first, + domain =3D irq_domain_add_simple_fwnode(fwnode, gc->ngpio, gc->irq.first, &gpiochip_domain_ops, gc); if (!domain) return ERR_PTR(-EINVAL); diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c index d4af17fdba46..691362913db1 100644 --- a/drivers/hid/hid-rmi.c +++ b/drivers/hid/hid-rmi.c @@ -621,7 +621,7 @@ static int rmi_setup_irq_domain(struct hid_device *hdev) struct rmi_data *hdata =3D hid_get_drvdata(hdev); int ret; =20 - hdata->domain =3D irq_domain_create_linear(hdev->dev.fwnode, 1, + hdata->domain =3D irq_domain_add_linear_fwnode(hdev->dev.fwnode, 1, &rmi_irq_ops, hdata); if (!hdata->domain) return -ENOMEM; diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index b4d8771d80a8..4ac60fd7be75 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -1463,7 +1463,7 @@ static int i2c_setup_host_notify_irq_domain(struct i2= c_adapter *adap) if (!i2c_check_functionality(adap, I2C_FUNC_SMBUS_HOST_NOTIFY)) return 0; =20 - domain =3D irq_domain_create_linear(adap->dev.parent->fwnode, + domain =3D irq_domain_add_linear_fwnode(adap->dev.parent->fwnode, I2C_ADDR_7BITS_COUNT, &i2c_host_notify_irq_ops, adap); if (!domain) diff --git a/drivers/iio/dummy/iio_dummy_evgen.c b/drivers/iio/dummy/iio_du= mmy_evgen.c index 16d3f144dda0..836ff5ea38b5 100644 --- a/drivers/iio/dummy/iio_dummy_evgen.c +++ b/drivers/iio/dummy/iio_dummy_evgen.c @@ -51,7 +51,7 @@ static int iio_dummy_evgen_create(void) if (!iio_evgen) return -ENOMEM; =20 - iio_evgen->irq_sim_domain =3D irq_domain_create_sim(NULL, + iio_evgen->irq_sim_domain =3D irq_domain_add_sim_fwnode(NULL, IIO_EVENTGEN_NO); if (IS_ERR(iio_evgen->irq_sim_domain)) { ret =3D PTR_ERR(iio_evgen->irq_sim_domain); diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_drive= r.c index 2168b6cd7167..5bec561d795d 100644 --- a/drivers/input/rmi4/rmi_driver.c +++ b/drivers/input/rmi4/rmi_driver.c @@ -1036,7 +1036,7 @@ int rmi_probe_interrupts(struct rmi_driver_data *data) dev_warn(dev, "Device in bootloader mode.\n"); =20 /* Allocate and register a linear revmap irq_domain */ - data->irqdomain =3D irq_domain_create_linear(fwnode, irq_count, + data->irqdomain =3D irq_domain_add_linear_fwnode(fwnode, irq_count, &irq_domain_simple_ops, data); if (!data->irqdomain) { diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c index 9db8fd1275be..a9ebb264cc0e 100644 --- a/drivers/iommu/amd/init.c +++ b/drivers/iommu/amd/init.c @@ -2376,7 +2376,7 @@ static struct irq_domain *iommu_get_irqdomain(void) if (!fn) return NULL; =20 - iommu_irqdomain =3D irq_domain_create_hierarchy(x86_vector_domain, 0, 0, + iommu_irqdomain =3D irq_domain_add_hierarchy_fwnode(x86_vector_domain, 0,= 0, fn, &intcapxt_domain_ops, NULL); if (!iommu_irqdomain) diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c index 20177e18eb0d..041e41257118 100644 --- a/drivers/iommu/amd/iommu.c +++ b/drivers/iommu/amd/iommu.c @@ -4018,7 +4018,7 @@ int amd_iommu_create_irq_domain(struct amd_iommu *iom= mu) fn =3D irq_domain_alloc_named_id_fwnode("AMD-IR", iommu->index); if (!fn) return -ENOMEM; - iommu->ir_domain =3D irq_domain_create_hierarchy(arch_get_ir_parent_domai= n(), 0, 0, + iommu->ir_domain =3D irq_domain_add_hierarchy_fwnode(arch_get_ir_parent_d= omain(), 0, 0, fn, &amd_ir_domain_ops, iommu); if (!iommu->ir_domain) { irq_domain_free_fwnode(fn); diff --git a/drivers/iommu/hyperv-iommu.c b/drivers/iommu/hyperv-iommu.c index 2a86aa5d54c6..61060b0c4d64 100644 --- a/drivers/iommu/hyperv-iommu.c +++ b/drivers/iommu/hyperv-iommu.c @@ -143,7 +143,7 @@ static int __init hyperv_prepare_irq_remapping(void) return -ENOMEM; =20 ioapic_ir_domain =3D - irq_domain_create_hierarchy(arch_get_ir_parent_domain(), + irq_domain_add_hierarchy_fwnode(arch_get_ir_parent_domain(), 0, IOAPIC_REMAPPING_ENTRY, fn, ops, NULL); =20 if (!ioapic_ir_domain) { diff --git a/drivers/iommu/intel/irq_remapping.c b/drivers/iommu/intel/irq_= remapping.c index 4431543bcfe3..8d840bd2d8a5 100644 --- a/drivers/iommu/intel/irq_remapping.c +++ b/drivers/iommu/intel/irq_remapping.c @@ -557,7 +557,7 @@ static int intel_setup_irq_remapping(struct intel_iommu= *iommu) goto out_free_bitmap; =20 iommu->ir_domain =3D - irq_domain_create_hierarchy(arch_get_ir_parent_domain(), + irq_domain_add_hierarchy_fwnode(arch_get_ir_parent_domain(), 0, INTR_REMAP_TABLE_ENTRIES, fn, &intel_ir_domain_ops, iommu); diff --git a/drivers/irqchip/irq-apple-aic.c b/drivers/irqchip/irq-apple-ai= c.c index fb67815dcb3d..728b12e30cb2 100644 --- a/drivers/irqchip/irq-apple-aic.c +++ b/drivers/irqchip/irq-apple-aic.c @@ -1013,7 +1013,7 @@ static int __init aic_of_ic_init(struct device_node *= node, struct device_node *p =20 irqc->info.die_stride =3D off - start_off; =20 - irqc->hw_domain =3D irq_domain_create_tree(of_fwnode_handle(node), + irqc->hw_domain =3D irq_domain_add_tree_fwnode(of_fwnode_handle(node), &aic_irq_domain_ops, irqc); if (WARN_ON(!irqc->hw_domain)) goto err_unmap; diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-arma= da-370-xp.c index 89c2abd2342d..f6fbfab5ffb7 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -492,7 +492,7 @@ static int __init mpic_ipi_init(struct mpic *mpic, stru= ct device_node *node) { int base_ipi; =20 - mpic->ipi_domain =3D irq_domain_create_linear(of_fwnode_handle(node), IPI= _DOORBELL_NR, + mpic->ipi_domain =3D irq_domain_add_linear_fwnode(of_fwnode_handle(node),= IPI_DOORBELL_NR, &mpic_ipi_domain_ops, mpic); if (WARN_ON(!mpic->ipi_domain)) return -ENOMEM; diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c index aedd69494b9f..e1ab5cea7abe 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -262,7 +262,7 @@ static void __init bcm2836_arm_irqchip_smp_init(void) if (WARN_ON(mux_irq <=3D 0)) return; =20 - ipi_domain =3D irq_domain_create_linear(intc.domain->fwnode, + ipi_domain =3D irq_domain_add_linear_fwnode(intc.domain->fwnode, BITS_PER_MBOX, &ipi_domain_ops, NULL); if (WARN_ON(!ipi_domain)) diff --git a/drivers/irqchip/irq-gic-v2m.c b/drivers/irqchip/irq-gic-v2m.c index be35c5349986..b5fb2b7941ea 100644 --- a/drivers/irqchip/irq-gic-v2m.c +++ b/drivers/irqchip/irq-gic-v2m.c @@ -270,7 +270,7 @@ static __init int gicv2m_allocate_domains(struct irq_do= main *parent) if (!v2m) return 0; =20 - inner_domain =3D irq_domain_create_hierarchy(parent, 0, 0, v2m->fwnode, + inner_domain =3D irq_domain_add_hierarchy_fwnode(parent, 0, 0, v2m->fwnod= e, &gicv2m_domain_ops, v2m); if (!inner_domain) { pr_err("Failed to create GICv2m domain\n"); diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-= its.c index 92244cfa0464..dcc98eb5bd5b 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -5114,7 +5114,7 @@ static int its_init_domain(struct its_node *its) info->ops =3D &its_msi_domain_ops; info->data =3D its; =20 - inner_domain =3D irq_domain_create_hierarchy(its_parent, + inner_domain =3D irq_domain_add_hierarchy_fwnode(its_parent, its->msi_domain_flags, 0, its->fwnode_handle, &its_domain_ops, info); diff --git a/drivers/irqchip/irq-gic-v3-mbi.c b/drivers/irqchip/irq-gic-v3-= mbi.c index 3fe870f8ee17..34456871a3fb 100644 --- a/drivers/irqchip/irq-gic-v3-mbi.c +++ b/drivers/irqchip/irq-gic-v3-mbi.c @@ -211,7 +211,7 @@ static int mbi_allocate_domain(struct irq_domain *paren= t) { struct irq_domain *nexus_domain; =20 - nexus_domain =3D irq_domain_create_hierarchy(parent, 0, 0, parent->fwnode, + nexus_domain =3D irq_domain_add_hierarchy_fwnode(parent, 0, 0, parent->fw= node, &mbi_domain_ops, NULL); if (!nexus_domain) return -ENOMEM; diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index 7e444f509aff..8c7e71e00f92 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -2068,7 +2068,7 @@ static int __init gic_init_bases(phys_addr_t dist_phy= s_base, if (!(gic_data.flags & FLAGS_WORKAROUND_CAVIUM_ERRATUM_38539)) gic_data.rdists.gicd_typer2 =3D readl_relaxed(gic_data.dist_base + GICD_= TYPER2); =20 - gic_data.domain =3D irq_domain_create_tree(handle, &gic_irq_domain_ops, + gic_data.domain =3D irq_domain_add_tree_fwnode(handle, &gic_irq_domain_op= s, &gic_data); gic_data.rdists.rdist =3D alloc_percpu(typeof(*gic_data.rdists.rdist)); if (!static_branch_unlikely(&gic_nvidia_t241_erratum)) { diff --git a/drivers/irqchip/irq-gic-v4.c b/drivers/irqchip/irq-gic-v4.c index 58c28895f8c4..0f576d2649e3 100644 --- a/drivers/irqchip/irq-gic-v4.c +++ b/drivers/irqchip/irq-gic-v4.c @@ -135,7 +135,7 @@ static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int= idx) kfree(name); name =3D NULL; =20 - vpe->sgi_domain =3D irq_domain_create_linear(vpe->fwnode, 16, + vpe->sgi_domain =3D irq_domain_add_linear_fwnode(vpe->fwnode, 16, sgi_domain_ops, vpe); if (!vpe->sgi_domain) goto err; @@ -164,7 +164,7 @@ int its_alloc_vcpu_irqs(struct its_vm *vm) if (!vm->fwnode) goto err; =20 - vm->domain =3D irq_domain_create_hierarchy(gic_domain, 0, vm->nr_vpes, + vm->domain =3D irq_domain_add_hierarchy_fwnode(gic_domain, 0, vm->nr_vpes, vm->fwnode, vpe_domain_ops, vm); if (!vm->domain) diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c index 6503573557fd..ff31eff55cf5 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c @@ -1207,7 +1207,7 @@ static int gic_init_bases(struct gic_chip_data *gic, gic_irqs =3D 1020; gic->gic_irqs =3D gic_irqs; =20 - gic->domain =3D irq_domain_create_linear(handle, gic_irqs, + gic->domain =3D irq_domain_add_linear_fwnode(handle, gic_irqs, &gic_irq_domain_hierarchy_ops, gic); if (WARN_ON(!gic->domain)) { diff --git a/drivers/irqchip/irq-imx-mu-msi.c b/drivers/irqchip/irq-imx-mu-= msi.c index 4342a21de1eb..b160abc97db9 100644 --- a/drivers/irqchip/irq-imx-mu-msi.c +++ b/drivers/irqchip/irq-imx-mu-msi.c @@ -226,7 +226,7 @@ static int imx_mu_msi_domains_init(struct imx_mu_msi *m= si_data, struct device *d struct irq_domain *parent; =20 /* Initialize MSI domain parent */ - parent =3D irq_domain_create_linear(fwnodes, IMX_MU_CHANS, + parent =3D irq_domain_add_linear_fwnode(fwnodes, IMX_MU_CHANS, &imx_mu_msi_domain_ops, msi_data); if (!parent) { dev_err(dev, "failed to create IRQ domain\n"); diff --git a/drivers/irqchip/irq-ixp4xx.c b/drivers/irqchip/irq-ixp4xx.c index a9a5a52b818a..54af44fde25c 100644 --- a/drivers/irqchip/irq-ixp4xx.c +++ b/drivers/irqchip/irq-ixp4xx.c @@ -234,7 +234,7 @@ static int __init ixp4xx_irq_setup(struct ixp4xx_irq *i= xi, ixi->irqchip.irq_unmask =3D ixp4xx_irq_unmask; ixi->irqchip.irq_set_type =3D ixp4xx_set_irq_type; =20 - ixi->domain =3D irq_domain_create_linear(fwnode, nr_irqs, + ixi->domain =3D irq_domain_add_linear_fwnode(fwnode, nr_irqs, &ixp4xx_irqdomain_ops, ixi); if (!ixi->domain) { diff --git a/drivers/irqchip/irq-loongarch-avec.c b/drivers/irqchip/irq-loo= ngarch-avec.c index 0f6e465dd309..92937ae60ab2 100644 --- a/drivers/irqchip/irq-loongarch-avec.c +++ b/drivers/irqchip/irq-loongarch-avec.c @@ -350,7 +350,7 @@ static int __init avecintc_init(struct irq_domain *pare= nt) goto out; } =20 - loongarch_avec.domain =3D irq_domain_create_tree(loongarch_avec.fwnode, + loongarch_avec.domain =3D irq_domain_add_tree_fwnode(loongarch_avec.fwnod= e, &avecintc_domain_ops, NULL); if (!loongarch_avec.domain) { pr_err("Unable to create IRQ domain\n"); diff --git a/drivers/irqchip/irq-loongarch-cpu.c b/drivers/irqchip/irq-loon= garch-cpu.c index 950bc087e388..9e8b2c6a5d0b 100644 --- a/drivers/irqchip/irq-loongarch-cpu.c +++ b/drivers/irqchip/irq-loongarch-cpu.c @@ -102,7 +102,7 @@ static int __init cpuintc_of_init(struct device_node *o= f_node, { cpuintc_handle =3D of_fwnode_handle(of_node); =20 - irq_domain =3D irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, + irq_domain =3D irq_domain_add_linear_fwnode(cpuintc_handle, EXCCODE_INT_N= UM, &loongarch_cpu_intc_irq_domain_ops, NULL); if (!irq_domain) panic("Failed to add irqdomain for loongarch CPU"); @@ -161,7 +161,7 @@ static int __init cpuintc_acpi_init(union acpi_subtable= _headers *header, clear_csr_estat(ESTATF_IP); =20 cpuintc_handle =3D irq_domain_alloc_named_fwnode("CPUINTC"); - irq_domain =3D irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, + irq_domain =3D irq_domain_add_linear_fwnode(cpuintc_handle, EXCCODE_INT_N= UM, &loongarch_cpu_intc_irq_domain_ops, NULL); =20 if (!irq_domain) diff --git a/drivers/irqchip/irq-loongson-eiointc.c b/drivers/irqchip/irq-l= oongson-eiointc.c index b2860eb2d32c..cb04d233df6a 100644 --- a/drivers/irqchip/irq-loongson-eiointc.c +++ b/drivers/irqchip/irq-loongson-eiointc.c @@ -438,7 +438,7 @@ static int __init eiointc_init(struct eiointc_priv *pri= v, int parent_irq, } } =20 - priv->eiointc_domain =3D irq_domain_create_linear(priv->domain_handle, + priv->eiointc_domain =3D irq_domain_add_linear_fwnode(priv->domain_handle, priv->vec_count, &eiointc_domain_ops, priv); diff --git a/drivers/irqchip/irq-loongson-htvec.c b/drivers/irqchip/irq-loo= ngson-htvec.c index d8558eb35044..6d55941c188a 100644 --- a/drivers/irqchip/irq-loongson-htvec.c +++ b/drivers/irqchip/irq-loongson-htvec.c @@ -197,7 +197,7 @@ static int htvec_init(phys_addr_t addr, unsigned long s= ize, raw_spin_lock_init(&priv->htvec_lock); =20 /* Setup IRQ domain */ - priv->htvec_domain =3D irq_domain_create_linear(domain_handle, + priv->htvec_domain =3D irq_domain_add_linear_fwnode(domain_handle, (VEC_COUNT_PER_REG * priv->num_parents), &htvec_domain_ops, priv); if (!priv->htvec_domain) { diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-l= oongson-liointc.c index 95cade56e0be..6d0d162f19a5 100644 --- a/drivers/irqchip/irq-loongson-liointc.c +++ b/drivers/irqchip/irq-loongson-liointc.c @@ -241,10 +241,10 @@ static int liointc_init(phys_addr_t addr, unsigned lo= ng size, int revision, =20 /* Setup IRQ domain */ if (!acpi_disabled) - domain =3D irq_domain_create_linear(domain_handle, LIOINTC_CHIP_IRQ, + domain =3D irq_domain_add_linear_fwnode(domain_handle, LIOINTC_CHIP_IRQ, &acpi_irq_gc_ops, priv); else - domain =3D irq_domain_create_linear(domain_handle, LIOINTC_CHIP_IRQ, + domain =3D irq_domain_add_linear_fwnode(domain_handle, LIOINTC_CHIP_IRQ, &irq_generic_chip_ops, priv); if (!domain) { pr_err("loongson-liointc: cannot add IRQ domain\n"); diff --git a/drivers/irqchip/irq-loongson-pch-lpc.c b/drivers/irqchip/irq-l= oongson-pch-lpc.c index 2d4c3ec128b8..b772cbf90a7e 100644 --- a/drivers/irqchip/irq-loongson-pch-lpc.c +++ b/drivers/irqchip/irq-loongson-pch-lpc.c @@ -200,7 +200,7 @@ int __init pch_lpc_acpi_init(struct irq_domain *parent, goto iounmap_base; } =20 - priv->lpc_domain =3D irq_domain_create_linear(irq_handle, LPC_COUNT, + priv->lpc_domain =3D irq_domain_add_linear_fwnode(irq_handle, LPC_COUNT, &pch_lpc_domain_ops, priv); if (!priv->lpc_domain) { pr_err("Failed to create IRQ domain\n"); diff --git a/drivers/irqchip/irq-loongson-pch-msi.c b/drivers/irqchip/irq-l= oongson-pch-msi.c index 6205d34c6d49..c7084d8e7a20 100644 --- a/drivers/irqchip/irq-loongson-pch-msi.c +++ b/drivers/irqchip/irq-loongson-pch-msi.c @@ -158,7 +158,7 @@ static int pch_msi_init_domains(struct pch_msi_data *pr= iv, { struct irq_domain *middle_domain; =20 - middle_domain =3D irq_domain_create_hierarchy(parent, 0, priv->num_irqs, + middle_domain =3D irq_domain_add_hierarchy_fwnode(parent, 0, priv->num_ir= qs, domain_handle, &pch_msi_middle_domain_ops, priv); diff --git a/drivers/irqchip/irq-loongson-pch-pic.c b/drivers/irqchip/irq-l= oongson-pch-pic.c index 62e6bf3a0611..7bf24fd749fb 100644 --- a/drivers/irqchip/irq-loongson-pch-pic.c +++ b/drivers/irqchip/irq-loongson-pch-pic.c @@ -342,7 +342,7 @@ static int pch_pic_init(phys_addr_t addr, unsigned long= size, int vec_base, priv->vec_count =3D ((readq(priv->base) >> 48) & 0xff) + 1; priv->gsi_base =3D gsi_base; =20 - priv->pic_domain =3D irq_domain_create_hierarchy(parent_domain, 0, + priv->pic_domain =3D irq_domain_add_hierarchy_fwnode(parent_domain, 0, priv->vec_count, domain_handle, &pch_pic_domain_ops, priv); =20 diff --git a/drivers/irqchip/irq-meson-gpio.c b/drivers/irqchip/irq-meson-g= pio.c index 8620c7fb051e..3d2e6e65e341 100644 --- a/drivers/irqchip/irq-meson-gpio.c +++ b/drivers/irqchip/irq-meson-gpio.c @@ -579,7 +579,7 @@ static int meson_gpio_irq_of_init(struct device_node *n= ode, struct device_node * if (ret) goto free_channel_irqs; =20 - domain =3D irq_domain_create_hierarchy(parent_domain, 0, + domain =3D irq_domain_add_hierarchy_fwnode(parent_domain, 0, ctl->params->nr_hwirq, of_fwnode_handle(node), &meson_gpio_irq_domain_ops, diff --git a/drivers/irqchip/irq-mvebu-gicp.c b/drivers/irqchip/irq-mvebu-g= icp.c index fa0082f4dd1d..dd086cf81192 100644 --- a/drivers/irqchip/irq-mvebu-gicp.c +++ b/drivers/irqchip/irq-mvebu-gicp.c @@ -229,7 +229,7 @@ static int mvebu_gicp_probe(struct platform_device *pde= v) return -ENODEV; } =20 - inner_domain =3D irq_domain_create_hierarchy(parent_domain, 0, + inner_domain =3D irq_domain_add_hierarchy_fwnode(parent_domain, 0, gicp->spi_cnt, of_fwnode_handle(node), &gicp_domain_ops, gicp); diff --git a/drivers/irqchip/irq-mvebu-odmi.c b/drivers/irqchip/irq-mvebu-o= dmi.c index 8d01e641be9c..84c095e62b69 100644 --- a/drivers/irqchip/irq-mvebu-odmi.c +++ b/drivers/irqchip/irq-mvebu-odmi.c @@ -204,7 +204,7 @@ static int __init mvebu_odmi_init(struct device_node *n= ode, =20 parent_domain =3D irq_find_host(parent); =20 - inner_domain =3D irq_domain_create_hierarchy(parent_domain, 0, + inner_domain =3D irq_domain_add_hierarchy_fwnode(parent_domain, 0, odmis_count * NODMIS_PER_FRAME, of_fwnode_handle(node), &odmi_domain_ops, NULL); diff --git a/drivers/irqchip/irq-mvebu-sei.c b/drivers/irqchip/irq-mvebu-se= i.c index 495fad4628ca..5bd28d57762a 100644 --- a/drivers/irqchip/irq-mvebu-sei.c +++ b/drivers/irqchip/irq-mvebu-sei.c @@ -401,7 +401,7 @@ static int mvebu_sei_probe(struct platform_device *pdev) } =20 /* Create the root SEI domain */ - sei->sei_domain =3D irq_domain_create_linear(of_fwnode_handle(node), + sei->sei_domain =3D irq_domain_add_linear_fwnode(of_fwnode_handle(node), (sei->caps->ap_range.size + sei->caps->cp_range.size), &mvebu_sei_domain_ops, @@ -415,7 +415,7 @@ static int mvebu_sei_probe(struct platform_device *pdev) irq_domain_update_bus_token(sei->sei_domain, DOMAIN_BUS_NEXUS); =20 /* Create the 'wired' domain */ - sei->ap_domain =3D irq_domain_create_hierarchy(sei->sei_domain, 0, + sei->ap_domain =3D irq_domain_add_hierarchy_fwnode(sei->sei_domain, 0, sei->caps->ap_range.size, of_fwnode_handle(node), &mvebu_sei_ap_domain_ops, @@ -429,7 +429,7 @@ static int mvebu_sei_probe(struct platform_device *pdev) irq_domain_update_bus_token(sei->ap_domain, DOMAIN_BUS_WIRED); =20 /* Create the 'MSI' domain */ - sei->cp_domain =3D irq_domain_create_hierarchy(sei->sei_domain, 0, + sei->cp_domain =3D irq_domain_add_hierarchy_fwnode(sei->sei_domain, 0, sei->caps->cp_range.size, of_fwnode_handle(node), &mvebu_sei_cp_domain_ops, diff --git a/drivers/irqchip/irq-partition-percpu.c b/drivers/irqchip/irq-p= artition-percpu.c index 8e76d2913e6b..fa1f69a65060 100644 --- a/drivers/irqchip/irq-partition-percpu.c +++ b/drivers/irqchip/irq-partition-percpu.c @@ -210,7 +210,7 @@ struct partition_desc *partition_create_desc(struct fwn= ode_handle *fwnode, desc->ops.free =3D partition_domain_free; desc->ops.alloc =3D partition_domain_alloc; =20 - d =3D irq_domain_create_linear(fwnode, nr_parts, &desc->ops, desc); + d =3D irq_domain_add_linear_fwnode(fwnode, nr_parts, &desc->ops, desc); if (!d) goto out; desc->domain =3D d; diff --git a/drivers/irqchip/irq-qcom-mpm.c b/drivers/irqchip/irq-qcom-mpm.c index 00c770e367d0..e3b2b433ad09 100644 --- a/drivers/irqchip/irq-qcom-mpm.c +++ b/drivers/irqchip/irq-qcom-mpm.c @@ -445,7 +445,7 @@ static int qcom_mpm_init(struct device_node *np, struct= device_node *parent) goto free_mbox; } =20 - priv->domain =3D irq_domain_create_hierarchy(parent_domain, + priv->domain =3D irq_domain_add_hierarchy_fwnode(parent_domain, IRQ_DOMAIN_FLAG_QCOM_MPM_WAKEUP, pin_cnt, of_fwnode_handle(np), &qcom_mpm_ops, priv); if (!priv->domain) { diff --git a/drivers/irqchip/irq-rda-intc.c b/drivers/irqchip/irq-rda-intc.c index 9f0144a73777..ad3333337768 100644 --- a/drivers/irqchip/irq-rda-intc.c +++ b/drivers/irqchip/irq-rda-intc.c @@ -91,7 +91,7 @@ static int __init rda8810_intc_init(struct device_node *n= ode, /* Mask all interrupt sources */ writel_relaxed(RDA_IRQ_MASK_ALL, rda_intc_base + RDA_INTC_MASK_CLR); =20 - rda_irq_domain =3D irq_domain_create_linear(&node->fwnode, RDA_NR_IRQS, + rda_irq_domain =3D irq_domain_add_linear_fwnode(&node->fwnode, RDA_NR_IRQ= S, &rda_irq_domain_ops, rda_intc_base); if (!rda_irq_domain) { diff --git a/drivers/irqchip/irq-riscv-aplic-direct.c b/drivers/irqchip/irq= -riscv-aplic-direct.c index 7cd6b646774b..7e7b217f1ae7 100644 --- a/drivers/irqchip/irq-riscv-aplic-direct.c +++ b/drivers/irqchip/irq-riscv-aplic-direct.c @@ -314,7 +314,7 @@ int aplic_direct_setup(struct device *dev, void __iomem= *regs) aplic_init_hw_global(priv, false); =20 /* Create irq domain instance for the APLIC */ - direct->irqdomain =3D irq_domain_create_linear(dev->fwnode, priv->nr_irqs= + 1, + direct->irqdomain =3D irq_domain_add_linear_fwnode(dev->fwnode, priv->nr_= irqs + 1, &aplic_direct_irqdomain_ops, priv); if (!direct->irqdomain) { dev_err(dev, "failed to create direct irq domain\n"); diff --git a/drivers/irqchip/irq-riscv-imsic-platform.c b/drivers/irqchip/i= rq-riscv-imsic-platform.c index c708780e8760..3213a5f03db2 100644 --- a/drivers/irqchip/irq-riscv-imsic-platform.c +++ b/drivers/irqchip/irq-riscv-imsic-platform.c @@ -325,7 +325,7 @@ int imsic_irqdomain_init(void) } =20 /* Create Base IRQ domain */ - imsic->base_domain =3D irq_domain_create_tree(imsic->fwnode, + imsic->base_domain =3D irq_domain_add_tree_fwnode(imsic->fwnode, &imsic_base_domain_ops, imsic); if (!imsic->base_domain) { pr_err("%pfwP: failed to create IMSIC base domain\n", imsic->fwnode); diff --git a/drivers/irqchip/irq-riscv-intc.c b/drivers/irqchip/irq-riscv-i= ntc.c index e5805885394e..f837ee2fbaa1 100644 --- a/drivers/irqchip/irq-riscv-intc.c +++ b/drivers/irqchip/irq-riscv-intc.c @@ -178,7 +178,7 @@ static int __init riscv_intc_init_common(struct fwnode_= handle *fn, struct irq_ch { int rc; =20 - intc_domain =3D irq_domain_create_tree(fn, &riscv_intc_domain_ops, chip); + intc_domain =3D irq_domain_add_tree_fwnode(fn, &riscv_intc_domain_ops, ch= ip); if (!intc_domain) { pr_err("unable to add IRQ domain\n"); return -ENXIO; diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive= -plic.c index bf69a4802b71..310aa6a4c337 100644 --- a/drivers/irqchip/irq-sifive-plic.c +++ b/drivers/irqchip/irq-sifive-plic.c @@ -639,7 +639,7 @@ static int plic_probe(struct fwnode_handle *fwnode) nr_handlers++; } =20 - priv->irqdomain =3D irq_domain_create_linear(fwnode, nr_irqs + 1, + priv->irqdomain =3D irq_domain_add_linear_fwnode(fwnode, nr_irqs + 1, &plic_irqdomain_ops, priv); if (WARN_ON(!priv->irqdomain)) { error =3D -ENOMEM; diff --git a/drivers/irqchip/irq-uniphier-aidet.c b/drivers/irqchip/irq-uni= phier-aidet.c index 6005c2d28dd9..b6abc74fb7f7 100644 --- a/drivers/irqchip/irq-uniphier-aidet.c +++ b/drivers/irqchip/irq-uniphier-aidet.c @@ -185,7 +185,7 @@ static int uniphier_aidet_probe(struct platform_device = *pdev) =20 spin_lock_init(&priv->lock); =20 - priv->domain =3D irq_domain_create_hierarchy( + priv->domain =3D irq_domain_add_hierarchy_fwnode( parent_domain, 0, UNIPHIER_AIDET_NR_IRQS, of_fwnode_handle(dev->of_node), diff --git a/drivers/irqchip/qcom-irq-combiner.c b/drivers/irqchip/qcom-irq= -combiner.c index 18e696dc7f4d..47c1ab68189d 100644 --- a/drivers/irqchip/qcom-irq-combiner.c +++ b/drivers/irqchip/qcom-irq-combiner.c @@ -247,10 +247,10 @@ static int __init combiner_probe(struct platform_devi= ce *pdev) if (combiner->parent_irq <=3D 0) return -EPROBE_DEFER; =20 - combiner->domain =3D irq_domain_create_linear(pdev->dev.fwnode, combiner-= >nirqs, + combiner->domain =3D irq_domain_add_linear_fwnode(pdev->dev.fwnode, combi= ner->nirqs, &domain_ops, combiner); if (!combiner->domain) - /* Errors printed by irq_domain_create_linear */ + /* Errors printed by irq_domain_add_linear_fwnode */ return -ENODEV; =20 irq_set_chained_handler_and_data(combiner->parent_irq, diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c index 74b2f124116e..261b1c6f089b 100644 --- a/drivers/irqchip/qcom-pdc.c +++ b/drivers/irqchip/qcom-pdc.c @@ -345,7 +345,7 @@ static int qcom_pdc_init(struct device_node *node, stru= ct device_node *parent) goto fail; } =20 - pdc_domain =3D irq_domain_create_hierarchy(parent_domain, + pdc_domain =3D irq_domain_add_hierarchy_fwnode(parent_domain, IRQ_DOMAIN_FLAG_QCOM_PDC_WAKEUP, PDC_MAX_GPIO_IRQS, of_fwnode_handle(node), diff --git a/drivers/mfd/ioc3.c b/drivers/mfd/ioc3.c index 58656837b7c6..966cfced03e3 100644 --- a/drivers/mfd/ioc3.c +++ b/drivers/mfd/ioc3.c @@ -138,7 +138,7 @@ static int ioc3_irq_domain_setup(struct ioc3_priv_data = *ipd, int irq) if (!fn) goto err; =20 - domain =3D irq_domain_create_linear(fn, 24, &ioc3_irq_domain_ops, ipd); + domain =3D irq_domain_add_linear_fwnode(fn, 24, &ioc3_irq_domain_ops, ipd= ); if (!domain) { irq_domain_free_fwnode(fn); goto err; diff --git a/drivers/misc/lan966x_pci.c b/drivers/misc/lan966x_pci.c index 9c79b58137e5..8680974078e5 100644 --- a/drivers/misc/lan966x_pci.c +++ b/drivers/misc/lan966x_pci.c @@ -64,7 +64,7 @@ static struct pci_dev_intr_ctrl *pci_dev_create_intr_ctrl= (struct pci_dev *pdev) =20 intr_ctrl->pci_dev =3D pdev; =20 - intr_ctrl->irq_domain =3D irq_domain_create_linear(fwnode, 1, &pci_dev_ir= q_domain_ops, + intr_ctrl->irq_domain =3D irq_domain_add_linear_fwnode(fwnode, 1, &pci_de= v_irq_domain_ops, intr_ctrl); if (!intr_ctrl->irq_domain) { pci_err(pdev, "Failed to create irqdomain\n"); diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 8e82184be5e7..2888ca75f900 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -1145,7 +1145,7 @@ static int smsc95xx_bind(struct usbnet *dev, struct u= sb_interface *intf) goto free_pdata; } =20 - pdata->irqdomain =3D irq_domain_create_linear(pdata->irqfwnode, + pdata->irqdomain =3D irq_domain_add_linear_fwnode(pdata->irqfwnode, SMSC95XX_NR_IRQS, &irq_domain_simple_ops, pdata); diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pc= i/controller/dwc/pcie-designware-host.c index 1ef6b2a734a3..5612812527af 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -229,7 +229,7 @@ int dw_pcie_allocate_domains(struct dw_pcie_rp *pp) struct dw_pcie *pci =3D to_dw_pcie_from_pp(pp); struct fwnode_handle *fwnode =3D of_fwnode_handle(pci->dev->of_node); =20 - pp->irq_domain =3D irq_domain_create_linear(fwnode, pp->num_vectors, + pp->irq_domain =3D irq_domain_add_linear_fwnode(fwnode, pp->num_vectors, &dw_pcie_msi_domain_ops, pp); if (!pp->irq_domain) { dev_err(pci->dev, "Failed to create IRQ domain\n"); diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pc= i-tegra.c index b3cdbc5927de..cb9838cf2c95 100644 --- a/drivers/pci/controller/pci-tegra.c +++ b/drivers/pci/controller/pci-tegra.c @@ -1702,7 +1702,7 @@ static int tegra_allocate_domains(struct tegra_msi *m= si) struct fwnode_handle *fwnode =3D dev_fwnode(pcie->dev); struct irq_domain *parent; =20 - parent =3D irq_domain_create_linear(fwnode, INT_PCI_MSI_NR, + parent =3D irq_domain_add_linear_fwnode(fwnode, INT_PCI_MSI_NR, &tegra_msi_domain_ops, msi); if (!parent) { dev_err(pcie->dev, "failed to create IRQ domain\n"); diff --git a/drivers/pci/controller/pcie-apple.c b/drivers/pci/controller/p= cie-apple.c index fefab2758a06..77d8aa56db3a 100644 --- a/drivers/pci/controller/pcie-apple.c +++ b/drivers/pci/controller/pcie-apple.c @@ -381,7 +381,7 @@ static int apple_pcie_port_setup_irq(struct apple_pcie_= port *port) if (!irq) return -ENXIO; =20 - port->domain =3D irq_domain_create_linear(fwnode, 32, + port->domain =3D irq_domain_add_linear_fwnode(fwnode, 32, &apple_port_irq_domain_ops, port); if (!port->domain) @@ -626,7 +626,7 @@ static int apple_msi_init(struct apple_pcie *pcie) return -ENXIO; } =20 - parent =3D irq_domain_create_hierarchy(parent, 0, pcie->nvecs, fwnode, + parent =3D irq_domain_add_hierarchy_fwnode(parent, 0, pcie->nvecs, fwnode, &apple_msi_domain_ops, pcie); if (!parent) { dev_err(pcie->dev, "failed to create IRQ domain\n"); diff --git a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controlle= r/pcie-mediatek.c index cc4cd4c5e63c..4555204a44de 100644 --- a/drivers/pci/controller/pcie-mediatek.c +++ b/drivers/pci/controller/pcie-mediatek.c @@ -489,7 +489,7 @@ static int mtk_pcie_allocate_msi_domains(struct mtk_pci= e_port *port) =20 mutex_init(&port->lock); =20 - port->inner_domain =3D irq_domain_create_linear(fwnode, MTK_MSI_IRQS_NUM, + port->inner_domain =3D irq_domain_add_linear_fwnode(fwnode, MTK_MSI_IRQS_= NUM, &msi_domain_ops, port); if (!port->inner_domain) { dev_err(port->pcie->dev, "failed to create IRQ domain\n"); diff --git a/drivers/pci/controller/pcie-rcar-host.c b/drivers/pci/controll= er/pcie-rcar-host.c index 7c92eada04af..e83fbabf982f 100644 --- a/drivers/pci/controller/pcie-rcar-host.c +++ b/drivers/pci/controller/pcie-rcar-host.c @@ -730,7 +730,7 @@ static int rcar_allocate_domains(struct rcar_msi *msi) struct fwnode_handle *fwnode =3D dev_fwnode(pcie->dev); struct irq_domain *parent; =20 - parent =3D irq_domain_create_linear(fwnode, INT_PCI_MSI_NR, + parent =3D irq_domain_add_linear_fwnode(fwnode, INT_PCI_MSI_NR, &rcar_msi_domain_ops, msi); if (!parent) { dev_err(pcie->dev, "failed to create IRQ domain\n"); diff --git a/drivers/pci/controller/pcie-xilinx.c b/drivers/pci/controller/= pcie-xilinx.c index 6c0268e92e41..73a5ef19cfd2 100644 --- a/drivers/pci/controller/pcie-xilinx.c +++ b/drivers/pci/controller/pcie-xilinx.c @@ -275,7 +275,7 @@ static int xilinx_allocate_msi_domains(struct xilinx_pc= ie *pcie) struct fwnode_handle *fwnode =3D dev_fwnode(pcie->dev); struct irq_domain *parent; =20 - parent =3D irq_domain_create_linear(fwnode, XILINX_NUM_MSI_IRQS, + parent =3D irq_domain_add_linear_fwnode(fwnode, XILINX_NUM_MSI_IRQS, &xilinx_msi_domain_ops, pcie); if (!parent) { dev_err(pcie->dev, "failed to create IRQ domain\n"); diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/sam= sung/pinctrl-exynos.c index ac6dc22b37c9..1e5661d088b1 100644 --- a/drivers/pinctrl/samsung/pinctrl-exynos.c +++ b/drivers/pinctrl/samsung/pinctrl-exynos.c @@ -405,7 +405,7 @@ __init int exynos_eint_gpio_init(struct samsung_pinctrl= _drv_data *d) } bank->irq_chip->chip.name =3D bank->name; =20 - bank->irq_domain =3D irq_domain_create_linear(bank->fwnode, + bank->irq_domain =3D irq_domain_add_linear_fwnode(bank->fwnode, bank->nr_pins, &exynos_eint_irqd_ops, bank); if (!bank->irq_domain) { dev_err(dev, "gpio irq domain add failed\n"); @@ -697,7 +697,7 @@ __init int exynos_eint_wkup_init(struct samsung_pinctrl= _drv_data *d) return -ENOMEM; bank->irq_chip->chip.name =3D bank->name; =20 - bank->irq_domain =3D irq_domain_create_linear(bank->fwnode, + bank->irq_domain =3D irq_domain_add_linear_fwnode(bank->fwnode, bank->nr_pins, &exynos_eint_irqd_ops, bank); if (!bank->irq_domain) { dev_err(dev, "wkup irq domain add failed\n"); diff --git a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c b/drivers/pinctrl/sa= msung/pinctrl-s3c64xx.c index 68715c09baa9..e176c7f01e6d 100644 --- a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c +++ b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c @@ -484,7 +484,7 @@ static int s3c64xx_eint_gpio_init(struct samsung_pinctr= l_drv_data *d) mask =3D bank->eint_mask; nr_eints =3D fls(mask); =20 - bank->irq_domain =3D irq_domain_create_linear(bank->fwnode, + bank->irq_domain =3D irq_domain_add_linear_fwnode(bank->fwnode, nr_eints, &s3c64xx_gpio_irqd_ops, bank); if (!bank->irq_domain) { dev_err(dev, "gpio irq domain add failed\n"); @@ -756,7 +756,7 @@ static int s3c64xx_eint_eint0_init(struct samsung_pinct= rl_drv_data *d) return -ENOMEM; ddata->bank =3D bank; =20 - bank->irq_domain =3D irq_domain_create_linear(bank->fwnode, + bank->irq_domain =3D irq_domain_add_linear_fwnode(bank->fwnode, nr_eints, &s3c64xx_eint0_irqd_ops, ddata); if (!bank->irq_domain) { dev_err(dev, "wkup irq domain add failed\n"); diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/= pinctrl-stm32.c index 5b7fa77c1184..d9539a97a514 100644 --- a/drivers/pinctrl/stm32/pinctrl-stm32.c +++ b/drivers/pinctrl/stm32/pinctrl-stm32.c @@ -1356,7 +1356,7 @@ static int stm32_gpiolib_register_bank(struct stm32_p= inctrl *pctl, struct fwnode /* create irq hierarchical domain */ bank->fwnode =3D fwnode; =20 - bank->domain =3D irq_domain_create_hierarchy(pctl->domain, 0, STM32_GPIO= _IRQ_LINE, + bank->domain =3D irq_domain_add_hierarchy_fwnode(pctl->domain, 0, STM32_= GPIO_IRQ_LINE, bank->fwnode, &stm32_gpio_domain_ops, bank); =20 diff --git a/drivers/platform/x86/intel/crystal_cove_charger.c b/drivers/pl= atform/x86/intel/crystal_cove_charger.c index e4299cfa2205..7595b239b8d7 100644 --- a/drivers/platform/x86/intel/crystal_cove_charger.c +++ b/drivers/platform/x86/intel/crystal_cove_charger.c @@ -100,7 +100,7 @@ static int crystal_cove_charger_probe(struct platform_d= evice *pdev) if (charger->irq < 0) return charger->irq; =20 - charger->irq_domain =3D irq_domain_create_linear(dev_fwnode(pdev->dev.par= ent), 1, + charger->irq_domain =3D irq_domain_add_linear_fwnode(dev_fwnode(pdev->dev= .parent), 1, &irq_domain_simple_ops, NULL); if (!charger->irq_domain) return -ENOMEM; diff --git a/drivers/soundwire/irq.c b/drivers/soundwire/irq.c index c237e6d0766b..7b1d8f91ddb7 100644 --- a/drivers/soundwire/irq.c +++ b/drivers/soundwire/irq.c @@ -31,7 +31,7 @@ int sdw_irq_create(struct sdw_bus *bus, { bus->irq_chip.name =3D dev_name(bus->dev); =20 - bus->domain =3D irq_domain_create_linear(fwnode, SDW_MAX_DEVICES, + bus->domain =3D irq_domain_add_linear_fwnode(fwnode, SDW_MAX_DEVICES, &sdw_domain_ops, bus); if (!bus->domain) { dev_err(bus->dev, "Failed to add IRQ domain\n"); diff --git a/include/linux/irq_sim.h b/include/linux/irq_sim.h index 89b4d8ff274b..43a67f96fb97 100644 --- a/include/linux/irq_sim.h +++ b/include/linux/irq_sim.h @@ -23,17 +23,17 @@ struct irq_sim_ops { irq_hw_number_t hwirq, void *data); }; =20 -struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_sim_fwnode(struct fwnode_handle *fwnode, unsigned int num_irqs); -struct irq_domain *devm_irq_domain_create_sim(struct device *dev, +struct irq_domain *devm_irq_domain_add_sim_fwnode(struct device *dev, struct fwnode_handle *fwnode, unsigned int num_irqs); -struct irq_domain *irq_domain_create_sim_full(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_sim_full_fwnode(struct fwnode_handle *fw= node, unsigned int num_irqs, const struct irq_sim_ops *ops, void *data); struct irq_domain * -devm_irq_domain_create_sim_full(struct device *dev, +devm_irq_domain_add_sim_full_fwnode(struct device *dev, struct fwnode_handle *fwnode, unsigned int num_irqs, const struct irq_sim_ops *ops, diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index ebc6f622e96b..00a0bf2c0942 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -333,12 +333,12 @@ struct irq_domain *irq_domain_instantiate(const struc= t irq_domain_info *info); struct irq_domain *devm_irq_domain_instantiate(struct device *dev, const struct irq_domain_info *info); =20 -struct irq_domain *irq_domain_create_simple(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_simple_fwnode(struct fwnode_handle *fwno= de, unsigned int size, unsigned int first_irq, const struct irq_domain_ops *ops, void *host_data); -struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_legacy_fwnode(struct fwnode_handle *fwno= de, unsigned int size, unsigned int first_irq, irq_hw_number_t first_hwirq, @@ -367,7 +367,7 @@ static inline struct irq_domain *irq_domain_add_legacy_= of_node(struct device_nod const struct irq_domain_ops *ops, void *host_data) { - return irq_domain_create_legacy(of_fwnode_handle(of_node), size, + return irq_domain_add_legacy_fwnode(of_fwnode_handle(of_node), size, first_irq, first_hwirq, ops, host_data); } =20 @@ -423,7 +423,7 @@ static inline struct irq_domain *irq_domain_add_simple_= of_node(struct device_nod const struct irq_domain_ops *ops, void *host_data) { - return irq_domain_create_simple(of_fwnode_handle(of_node), size, first_ir= q, ops, host_data); + return irq_domain_add_simple_fwnode(of_fwnode_handle(of_node), size, firs= t_irq, ops, host_data); } =20 /** @@ -486,7 +486,7 @@ static inline struct irq_domain *irq_domain_add_tree_of= _node(struct device_node return IS_ERR(d) ? NULL : d; } =20 -static inline struct irq_domain *irq_domain_create_linear(struct fwnode_ha= ndle *fwnode, +static inline struct irq_domain *irq_domain_add_linear_fwnode(struct fwnod= e_handle *fwnode, unsigned int size, const struct irq_domain_ops *ops, void *host_data) @@ -503,7 +503,7 @@ static inline struct irq_domain *irq_domain_create_line= ar(struct fwnode_handle * return IS_ERR(d) ? NULL : d; } =20 -static inline struct irq_domain *irq_domain_create_tree(struct fwnode_hand= le *fwnode, +static inline struct irq_domain *irq_domain_add_tree_fwnode(struct fwnode_= handle *fwnode, const struct irq_domain_ops *ops, void *host_data) { @@ -608,7 +608,7 @@ void irq_domain_set_info(struct irq_domain *domain, uns= igned int virq, void irq_domain_reset_irq_data(struct irq_data *irq_data); #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY /** - * irq_domain_create_hierarchy - Add a irqdomain into the hierarchy + * irq_domain_add_hierarchy_fwnode - Add a irqdomain into the hierarchy * @parent: Parent irq domain to associate with the new domain * @flags: Irq domain flags associated to the domain * @size: Size of the domain. See below @@ -622,7 +622,7 @@ void irq_domain_reset_irq_data(struct irq_data *irq_dat= a); * domain flags are set. * Returns pointer to IRQ domain, or NULL on failure. */ -static inline struct irq_domain *irq_domain_create_hierarchy(struct irq_do= main *parent, +static inline struct irq_domain *irq_domain_add_hierarchy_fwnode(struct ir= q_domain *parent, unsigned int flags, unsigned int size, struct fwnode_handle *fwnode, @@ -650,7 +650,7 @@ static inline struct irq_domain *irq_domain_add_hierarc= hy_of_node(struct irq_dom const struct irq_domain_ops *ops, void *host_data) { - return irq_domain_create_hierarchy(parent, flags, size, + return irq_domain_add_hierarchy_fwnode(parent, flags, size, of_fwnode_handle(node), ops, host_data); } diff --git a/kernel/irq/ipi-mux.c b/kernel/irq/ipi-mux.c index fa4fc18c6131..03d46f977a44 100644 --- a/kernel/irq/ipi-mux.c +++ b/kernel/irq/ipi-mux.c @@ -174,7 +174,7 @@ int ipi_mux_create(unsigned int nr_ipi, void (*mux_send= )(unsigned int cpu)) goto fail_free_cpu; } =20 - domain =3D irq_domain_create_linear(fwnode, nr_ipi, + domain =3D irq_domain_add_linear_fwnode(fwnode, nr_ipi, &ipi_mux_domain_ops, NULL); if (!domain) { pr_err("unable to add IPI Mux domain\n"); diff --git a/kernel/irq/irq_sim.c b/kernel/irq/irq_sim.c index 1a3d483548e2..69515f1501b2 100644 --- a/kernel/irq/irq_sim.c +++ b/kernel/irq/irq_sim.c @@ -180,7 +180,7 @@ static const struct irq_domain_ops irq_sim_domain_ops = =3D { }; =20 /** - * irq_domain_create_sim - Create a new interrupt simulator irq_domain and + * irq_domain_add_sim_fwnode - Create a new interrupt simulator irq_domain= and * allocate a range of dummy interrupts. * * @fwnode: struct fwnode_handle to be associated with this domain. @@ -189,14 +189,14 @@ static const struct irq_domain_ops irq_sim_domain_ops= =3D { * On success: return a new irq_domain object. * On failure: a negative errno wrapped with ERR_PTR(). */ -struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_sim_fwnode(struct fwnode_handle *fwnode, unsigned int num_irqs) { - return irq_domain_create_sim_full(fwnode, num_irqs, NULL, NULL); + return irq_domain_add_sim_full_fwnode(fwnode, num_irqs, NULL, NULL); } -EXPORT_SYMBOL_GPL(irq_domain_create_sim); +EXPORT_SYMBOL_GPL(irq_domain_add_sim_fwnode); =20 -struct irq_domain *irq_domain_create_sim_full(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_sim_full_fwnode(struct fwnode_handle *fw= node, unsigned int num_irqs, const struct irq_sim_ops *ops, void *data) @@ -211,7 +211,7 @@ struct irq_domain *irq_domain_create_sim_full(struct fw= node_handle *fwnode, if (!pending) return ERR_PTR(-ENOMEM); =20 - work_ctx->domain =3D irq_domain_create_linear(fwnode, num_irqs, + work_ctx->domain =3D irq_domain_add_linear_fwnode(fwnode, num_irqs, &irq_sim_domain_ops, work_ctx); if (!work_ctx->domain) @@ -227,7 +227,7 @@ struct irq_domain *irq_domain_create_sim_full(struct fw= node_handle *fwnode, =20 return no_free_ptr(work_ctx)->domain; } -EXPORT_SYMBOL_GPL(irq_domain_create_sim_full); +EXPORT_SYMBOL_GPL(irq_domain_add_sim_full_fwnode); =20 /** * irq_domain_remove_sim - Deinitialize the interrupt simulator domain: fr= ee @@ -255,7 +255,7 @@ static void devm_irq_domain_remove_sim(void *data) } =20 /** - * devm_irq_domain_create_sim - Create a new interrupt simulator for + * devm_irq_domain_add_sim_fwnode - Create a new interrupt simulator for * a managed device. * * @dev: Device to initialize the simulator object for. @@ -265,17 +265,17 @@ static void devm_irq_domain_remove_sim(void *data) * On success: return a new irq_domain object. * On failure: a negative errno wrapped with ERR_PTR(). */ -struct irq_domain *devm_irq_domain_create_sim(struct device *dev, +struct irq_domain *devm_irq_domain_add_sim_fwnode(struct device *dev, struct fwnode_handle *fwnode, unsigned int num_irqs) { - return devm_irq_domain_create_sim_full(dev, fwnode, num_irqs, + return devm_irq_domain_add_sim_full_fwnode(dev, fwnode, num_irqs, NULL, NULL); } -EXPORT_SYMBOL_GPL(devm_irq_domain_create_sim); +EXPORT_SYMBOL_GPL(devm_irq_domain_add_sim_fwnode); =20 struct irq_domain * -devm_irq_domain_create_sim_full(struct device *dev, +devm_irq_domain_add_sim_full_fwnode(struct device *dev, struct fwnode_handle *fwnode, unsigned int num_irqs, const struct irq_sim_ops *ops, @@ -284,7 +284,7 @@ devm_irq_domain_create_sim_full(struct device *dev, struct irq_domain *domain; int ret; =20 - domain =3D irq_domain_create_sim_full(fwnode, num_irqs, ops, data); + domain =3D irq_domain_add_sim_full_fwnode(fwnode, num_irqs, ops, data); if (IS_ERR(domain)) return domain; =20 @@ -294,4 +294,4 @@ devm_irq_domain_create_sim_full(struct device *dev, =20 return domain; } -EXPORT_SYMBOL_GPL(devm_irq_domain_create_sim_full); +EXPORT_SYMBOL_GPL(devm_irq_domain_add_sim_full_fwnode); diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 00f254a67bb0..2d5f716887d9 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -443,7 +443,7 @@ void irq_domain_update_bus_token(struct irq_domain *dom= ain, EXPORT_SYMBOL_GPL(irq_domain_update_bus_token); =20 /** - * irq_domain_create_simple() - Register an irq_domain and optionally map = a range of irqs + * irq_domain_add_simple_fwnode() - Register an irq_domain and optionally = map a range of irqs * @fwnode: firmware node for the interrupt controller * @size: total number of irqs in mapping * @first_irq: first number of irq block assigned to the domain, @@ -460,7 +460,7 @@ EXPORT_SYMBOL_GPL(irq_domain_update_bus_token); * irqs get mapped dynamically on the fly. However, if the controller requ= ires * static virq assignments (non-DT boot) then it will set that up correctl= y. */ -struct irq_domain *irq_domain_create_simple(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_simple_fwnode(struct fwnode_handle *fwno= de, unsigned int size, unsigned int first_irq, const struct irq_domain_ops *ops, @@ -478,9 +478,9 @@ struct irq_domain *irq_domain_create_simple(struct fwno= de_handle *fwnode, =20 return IS_ERR(domain) ? NULL : domain; } -EXPORT_SYMBOL_GPL(irq_domain_create_simple); +EXPORT_SYMBOL_GPL(irq_domain_add_simple_fwnode); =20 -struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, +struct irq_domain *irq_domain_add_legacy_fwnode(struct fwnode_handle *fwno= de, unsigned int size, unsigned int first_irq, irq_hw_number_t first_hwirq, @@ -500,7 +500,7 @@ struct irq_domain *irq_domain_create_legacy(struct fwno= de_handle *fwnode, =20 return IS_ERR(domain) ? NULL : domain; } -EXPORT_SYMBOL_GPL(irq_domain_create_legacy); +EXPORT_SYMBOL_GPL(irq_domain_add_legacy_fwnode); =20 /** * irq_find_matching_fwspec() - Locates a domain for a given fwspec diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c index 396a067a8a56..1facbb56108c 100644 --- a/kernel/irq/msi.c +++ b/kernel/irq/msi.c @@ -858,7 +858,7 @@ static struct irq_domain *__msi_create_irq_domain(struc= t fwnode_handle *fwnode, if (info->flags & MSI_FLAG_USE_DEF_CHIP_OPS) msi_domain_update_chip_ops(info); =20 - domain =3D irq_domain_create_hierarchy(parent, flags | IRQ_DOMAIN_FLAG_MS= I, 0, + domain =3D irq_domain_add_hierarchy_fwnode(parent, flags | IRQ_DOMAIN_FLA= G_MSI, 0, fwnode, &msi_domain_ops, info); =20 if (domain) { diff --git a/sound/soc/codecs/rt5677.c b/sound/soc/codecs/rt5677.c index 0e70a3ab42b5..66116381784d 100644 --- a/sound/soc/codecs/rt5677.c +++ b/sound/soc/codecs/rt5677.c @@ -5509,7 +5509,7 @@ static int rt5677_init_irq(struct i2c_client *i2c) RT5677_GPIO1_PIN_MASK, RT5677_GPIO1_PIN_IRQ); =20 /* Ready to listen for interrupts */ - rt5677->domain =3D irq_domain_create_linear(dev_fwnode(&i2c->dev), + rt5677->domain =3D irq_domain_add_linear_fwnode(dev_fwnode(&i2c->dev), RT5677_IRQ_NUM, &rt5677_domain_ops, rt5677); if (!rt5677->domain) { dev_err(&i2c->dev, "Failed to create IRQ domain\n"); --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 26BEC1EEA26 for ; Wed, 15 Jan 2025 08:54:31 +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=1736931272; cv=none; b=HSySL4HA0X5ZahDsvwF2kKHfE4TUILEh9X9Xriutzyi0yqTLHZ2JLjToz0KHEIBL0JpS1yDjghFe5PDhcJE90Q3RnMrTkVXfJZNLSfVqSKuxDf/MFS6j6l2Xm87RugqHUZrWPoFF/BF9NK7E64CLukjr9p3ZPKSWG6LSVpevDno= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931272; c=relaxed/simple; bh=0rCsOIR+0/dkSLLi8pxxpmFc72kNwJkboss+iwAqD/g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UQxVWiHAvioDdHvl42oTfGNu1AKhLRZoflx9qHjX4JvDVr/m+BusBkRALq1KIAcS8+6E7Zj67ZSJpy1+R8gNWlKlA0EaLk28RH4V7io3B1UbZLzD6qH47Sxhb7bzIji8dqVBgs/dlQZt94B1Cx4jYUdzLd+1X9767kT43K09CK4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VOmK5VP9; 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="VOmK5VP9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA548C4CEE1; Wed, 15 Jan 2025 08:54:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931271; bh=0rCsOIR+0/dkSLLi8pxxpmFc72kNwJkboss+iwAqD/g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VOmK5VP9dkM1ZSp0wJ6ibc3EVpZGnURPa6n+TyTQCo2T2VxBr/XL6xu/ueKJFbkuU k2lhrNj2ERsnzwAbt1rzp9dMbmsQD+qrlbHvWbWN7NOk5lUSIxGzE2r1OKH9KNbpo/ /93CFRpc3t2GE6yZxXK55/9PciZpEtWkX/niwmSsmm+gon+5ZYSAQZNce0yS+A5sl9 F3G56/QDxOajiit5f2qNOZlkDvr+P3t89nnEfUJFng6BVStCLUdQKlJig470eUqRkG LM3f+hfz0/42t23+cEIj9qGCsXE+EIhqJKGp3xCQT5GOcKP8YTa1ojsPp0EDYumg9m ikWBFsW6bST0Q== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 11/18] irqdomain: Rename _instantiate functions to _add Date: Wed, 15 Jan 2025 09:54:00 +0100 Message-ID: <20250115085409.1629787-12-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" Continuing the unifying idea of previous patches, all "_instantiate" functions are renamed to "_add". Now, the interface is: * dom =3D irq_domain_add(info) * irq_domain_remove(dom) Signed-off-by: Jiri Slaby (SUSE) --- arch/um/drivers/virt-pci.c | 2 +- drivers/base/regmap/regmap-irq.c | 2 +- drivers/irqchip/irq-lan966x-oic.c | 2 +- include/linux/irqdomain.h | 16 ++++++++-------- kernel/irq/devres.c | 8 ++++---- kernel/irq/irqdomain.c | 16 ++++++++-------- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c index 744e7f31e8ef..1de5407a189c 100644 --- a/arch/um/drivers/virt-pci.c +++ b/arch/um/drivers/virt-pci.c @@ -1023,7 +1023,7 @@ static int __init um_pci_init(void) } =20 inner_domain_info.fwnode =3D um_pci_fwnode; - um_pci_inner_domain =3D irq_domain_instantiate(&inner_domain_info); + um_pci_inner_domain =3D irq_domain_add(&inner_domain_info); if (IS_ERR(um_pci_inner_domain)) { err =3D PTR_ERR(um_pci_inner_domain); goto free; diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-= irq.c index 0bcd81389a29..e58cb6b9c3bc 100644 --- a/drivers/base/regmap/regmap-irq.c +++ b/drivers/base/regmap/regmap-irq.c @@ -623,7 +623,7 @@ static int regmap_irq_create_domain(struct fwnode_handl= e *fwnode, int irq_base, .name_suffix =3D chip->domain_suffix, }; =20 - d->domain =3D irq_domain_instantiate(&info); + d->domain =3D irq_domain_add(&info); if (IS_ERR(d->domain)) { dev_err(d->map->dev, "Failed to create IRQ domain\n"); return PTR_ERR(d->domain); diff --git a/drivers/irqchip/irq-lan966x-oic.c b/drivers/irqchip/irq-lan966= x-oic.c index 9445c3a6b1b0..fd29bc6611a5 100644 --- a/drivers/irqchip/irq-lan966x-oic.c +++ b/drivers/irqchip/irq-lan966x-oic.c @@ -251,7 +251,7 @@ static int lan966x_oic_probe(struct platform_device *pd= ev) return dev_err_probe(dev, lan966x_oic->irq, "failed to get the IRQ\n"); =20 d_info.host_data =3D lan966x_oic; - domain =3D devm_irq_domain_instantiate(dev, &d_info); + domain =3D devm_irq_domain_add(dev, &d_info); if (IS_ERR(domain)) return dev_err_probe(dev, PTR_ERR(domain), "failed to instantiate the IRQ domain\n"); diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 00a0bf2c0942..0a48cdd5f981 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -329,8 +329,8 @@ struct irq_domain_info { void (*exit)(struct irq_domain *d); }; =20 -struct irq_domain *irq_domain_instantiate(const struct irq_domain_info *in= fo); -struct irq_domain *devm_irq_domain_instantiate(struct device *dev, +struct irq_domain *irq_domain_add(const struct irq_domain_info *info); +struct irq_domain *devm_irq_domain_add(struct device *dev, const struct irq_domain_info *info); =20 struct irq_domain *irq_domain_add_simple_fwnode(struct fwnode_handle *fwno= de, @@ -445,7 +445,7 @@ static inline struct irq_domain *irq_domain_add_linear_= of_node(struct device_nod .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d =3D irq_domain_instantiate(&info); + struct irq_domain *d =3D irq_domain_add(&info); =20 return IS_ERR(d) ? NULL : d; } @@ -463,7 +463,7 @@ static inline struct irq_domain *irq_domain_add_nomap_o= f_node(struct device_node .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d =3D irq_domain_instantiate(&info); + struct irq_domain *d =3D irq_domain_add(&info); =20 return IS_ERR(d) ? NULL : d; } @@ -481,7 +481,7 @@ static inline struct irq_domain *irq_domain_add_tree_of= _node(struct device_node .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d =3D irq_domain_instantiate(&info); + struct irq_domain *d =3D irq_domain_add(&info); =20 return IS_ERR(d) ? NULL : d; } @@ -498,7 +498,7 @@ static inline struct irq_domain *irq_domain_add_linear_= fwnode(struct fwnode_hand .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d =3D irq_domain_instantiate(&info); + struct irq_domain *d =3D irq_domain_add(&info); =20 return IS_ERR(d) ? NULL : d; } @@ -513,7 +513,7 @@ static inline struct irq_domain *irq_domain_add_tree_fw= node(struct fwnode_handle .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *d =3D irq_domain_instantiate(&info); + struct irq_domain *d =3D irq_domain_add(&info); =20 return IS_ERR(d) ? NULL : d; } @@ -638,7 +638,7 @@ static inline struct irq_domain *irq_domain_add_hierarc= hy_fwnode(struct irq_doma .domain_flags =3D flags, .parent =3D parent, }; - struct irq_domain *d =3D irq_domain_instantiate(&info); + struct irq_domain *d =3D irq_domain_add(&info); =20 return IS_ERR(d) ? NULL : d; } diff --git a/kernel/irq/devres.c b/kernel/irq/devres.c index eb16a58e0322..7c21b0c8a687 100644 --- a/kernel/irq/devres.c +++ b/kernel/irq/devres.c @@ -292,7 +292,7 @@ static void devm_irq_domain_remove(struct device *dev, = void *res) } =20 /** - * devm_irq_domain_instantiate() - Instantiate a new irq domain data for a + * devm_irq_domain_add() - Instantiate a new irq domain data for a * managed device. * @dev: Device to instantiate the domain for * @info: Domain information pointer pointing to the information for this @@ -300,7 +300,7 @@ static void devm_irq_domain_remove(struct device *dev, = void *res) * * Return: A pointer to the instantiated irq domain or an ERR_PTR value. */ -struct irq_domain *devm_irq_domain_instantiate(struct device *dev, +struct irq_domain *devm_irq_domain_add(struct device *dev, const struct irq_domain_info *info) { struct irq_domain *domain; @@ -310,7 +310,7 @@ struct irq_domain *devm_irq_domain_instantiate(struct d= evice *dev, if (!dr) return ERR_PTR(-ENOMEM); =20 - domain =3D irq_domain_instantiate(info); + domain =3D irq_domain_add(info); if (!IS_ERR(domain)) { *dr =3D domain; devres_add(dev, dr); @@ -320,5 +320,5 @@ struct irq_domain *devm_irq_domain_instantiate(struct d= evice *dev, =20 return domain; } -EXPORT_SYMBOL_GPL(devm_irq_domain_instantiate); +EXPORT_SYMBOL_GPL(devm_irq_domain_add); #endif /* CONFIG_IRQ_DOMAIN */ diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 2d5f716887d9..ddacf9487d08 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -305,8 +305,8 @@ static void irq_domain_instantiate_descs(const struct i= rq_domain_info *info) } } =20 -static struct irq_domain *__irq_domain_instantiate(const struct irq_domain= _info *info, - bool cond_alloc_descs, bool force_associate) +static struct irq_domain *__irq_domain_add(const struct irq_domain_info *i= nfo, + bool cond_alloc_descs, bool force_associate) { struct irq_domain *domain; int err; @@ -363,16 +363,16 @@ static struct irq_domain *__irq_domain_instantiate(co= nst struct irq_domain_info } =20 /** - * irq_domain_instantiate() - Instantiate a new irq domain data structure + * irq_domain_add() - Instantiate a new irq domain data structure * @info: Domain information pointer pointing to the information for this = domain * * Return: A pointer to the instantiated irq domain or an ERR_PTR value. */ -struct irq_domain *irq_domain_instantiate(const struct irq_domain_info *in= fo) +struct irq_domain *irq_domain_add(const struct irq_domain_info *info) { - return __irq_domain_instantiate(info, false, false); + return __irq_domain_add(info, false, false); } -EXPORT_SYMBOL_GPL(irq_domain_instantiate); +EXPORT_SYMBOL_GPL(irq_domain_add); =20 /** * irq_domain_remove() - Remove an irq domain. @@ -474,7 +474,7 @@ struct irq_domain *irq_domain_add_simple_fwnode(struct = fwnode_handle *fwnode, .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *domain =3D __irq_domain_instantiate(&info, true, false= ); + struct irq_domain *domain =3D __irq_domain_add(&info, true, false); =20 return IS_ERR(domain) ? NULL : domain; } @@ -496,7 +496,7 @@ struct irq_domain *irq_domain_add_legacy_fwnode(struct = fwnode_handle *fwnode, .ops =3D ops, .host_data =3D host_data, }; - struct irq_domain *domain =3D __irq_domain_instantiate(&info, false, true= ); + struct irq_domain *domain =3D __irq_domain_add(&info, false, true); =20 return IS_ERR(domain) ? NULL : domain; } --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 A055D2361F3 for ; Wed, 15 Jan 2025 08:54:32 +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=1736931272; cv=none; b=jUfDYG3BHilRN3vRQyRbNwtzqZhPUg3WRWTvWrU1llynURWlvNhS++DNM4nLpVZiizPwNI1T3gV7DaFbMYbJjQ5vHwf2PfQ5z4kGREXXvJzHX5lXcrdnT/XE5P/Uii+v3W2LDTy3XcW+XVCGOdtD6T0UsKDmwnIucSxoycHSyck= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931272; c=relaxed/simple; bh=AV8a/d5bJ1xjj63DSRuEdwu3QpdUMMDqm2O1dgfahDM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uo6T273xvqgO8n8WRbXvhgSlixKb4t1dxUpNlKCDo3nsHQEqAcFwCAHb3Z/9YP6MrPW38llM4pOcAn1HlAAAw6monXIItxrkg7bhjGvNAPjckWeFEg5BSLHV6ajs64f6ywOr6TcVYul6OwINT8h5cItv2mHeexrzNCtTFzq2n1I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NVB9ogtB; 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="NVB9ogtB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6A96DC4CEE5; Wed, 15 Jan 2025 08:54:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931272; bh=AV8a/d5bJ1xjj63DSRuEdwu3QpdUMMDqm2O1dgfahDM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NVB9ogtBjgG2if6yb9CwoPNLFV/66U0J7/jpzGjmYGq/u+lzRc0hZVNgqwx6uiqpj 98jDCJoId03DtqB//C8YNpSSuX4XoZhHsTgbSrCfZXC03TvqPgwpKgq8VpL6g8RxpF P5RzIA1zFuIlwYt/KnO2kAsV/yjbZpPg740gm66Fkag+T4k1D1iBFgj52X2igy29rS 91lbmHrt3W+efGNtEVfupKmwMWKcs7tZ2cwTe0Neut/0Yhtc2YNukN1txQHRyQEPui 1VfmGknkXpk0/7c1XD87l1+0Eo/k5y/NDZGddn1njUaRXaZZ4R9xSp4O7MCaGm7Rey iGDk49Mjfq5VA== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" Subject: [PATCH 12/18] irqdomain: Switch away from irq_linear_revmap() and drop it Date: Wed, 15 Jan 2025 09:54:01 +0100 Message-ID: <20250115085409.1629787-13-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable irq_linear_revmap() is deprecated, so remove all its uses and supersede them by an identical call to irq_find_mapping(). Signed-off-by: Jiri Slaby (SUSE) --- Documentation/core-api/irq/irq-domain.rst | 2 -- .../translations/zh_CN/core-api/irq/irq-domain.rst | 2 -- arch/powerpc/platforms/44x/uic.c | 2 +- arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 2 +- arch/powerpc/platforms/52xx/mpc52xx_pic.c | 2 +- arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 2 +- arch/powerpc/platforms/8xx/cpm1-ic.c | 2 +- arch/powerpc/platforms/8xx/pic.c | 2 +- arch/powerpc/platforms/cell/interrupt.c | 2 +- arch/powerpc/platforms/embedded6xx/flipper-pic.c | 2 +- arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 2 +- arch/powerpc/platforms/powermac/pic.c | 2 +- arch/powerpc/sysdev/cpm2_pic.c | 2 +- arch/powerpc/sysdev/ehv_pic.c | 2 +- arch/powerpc/sysdev/ge/ge_pic.c | 2 +- arch/powerpc/sysdev/ipic.c | 2 +- arch/powerpc/sysdev/mpic.c | 4 ++-- arch/sh/boards/mach-se/7343/irq.c | 2 +- arch/sh/boards/mach-se/7722/irq.c | 2 +- drivers/gpio/gpio-idt3243x.c | 2 +- drivers/gpu/ipu-v3/ipu-common.c | 4 ++-- drivers/i2c/muxes/i2c-mux-pca954x.c | 2 +- drivers/irqchip/irq-armada-370-xp.c | 4 ++-- drivers/pinctrl/pinctrl-keembay.c | 2 +- drivers/soc/fsl/qe/qe_ic.c | 4 ++-- include/linux/irqdomain.h | 6 ------ 26 files changed, 27 insertions(+), 37 deletions(-) diff --git a/Documentation/core-api/irq/irq-domain.rst b/Documentation/core= -api/irq/irq-domain.rst index e315489b1292..88805b9e78ad 100644 --- a/Documentation/core-api/irq/irq-domain.rst +++ b/Documentation/core-api/irq/irq-domain.rst @@ -64,8 +64,6 @@ variety of methods: mapping. - irq_find_mapping() returns a Linux IRQ number for a given domain and hwirq number, and 0 if there was no mapping -- irq_linear_revmap() is now identical to irq_find_mapping(), and is - deprecated - generic_handle_domain_irq() handles an interrupt described by a domain and a hwirq number =20 diff --git a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst b= /Documentation/translations/zh_CN/core-api/irq/irq-domain.rst index 795a5218819f..66413db4ff0b 100644 --- a/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst +++ b/Documentation/translations/zh_CN/core-api/irq/irq-domain.rst @@ -60,8 +60,6 @@ irq_domain=E5=92=8C=E4=B8=80=E4=B8=AAhwirq=E5=8F=B7=E4=BD= =9C=E4=B8=BA=E5=8F=82=E6=95=B0=E3=80=82 =E5=A6=82=E6=9E=9Chwirq=E7=9A=84=E6= =98=A0=E5=B0=84=E8=BF=98=E4=B8=8D=E5=AD=98=E5=9C=A8=EF=BC=8C =20 - irq_find_mapping()=E8=BF=94=E5=9B=9E=E7=BB=99=E5=AE=9A=E5=9F=9F=E5=92=8C= hwirq=E7=9A=84Linux IRQ=E5=8F=B7=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C= =89=E6=98=A0=E5=B0=84=E5=88=99=E8=BF=94=E5=9B=9E0=E3=80=82 =20 -- irq_linear_revmap()=E7=8E=B0=E4=B8=8Eirq_find_mapping()=E7=9B=B8=E5=90= =8C=EF=BC=8C=E5=B7=B2=E8=A2=AB=E5=BA=9F=E5=BC=83=E3=80=82 - - generic_handle_domain_irq()=E5=A4=84=E7=90=86=E4=B8=80=E4=B8=AA=E7=94=B1= =E5=9F=9F=E5=92=8Chwirq=E5=8F=B7=E6=8F=8F=E8=BF=B0=E7=9A=84=E4=B8=AD=E6=96= =AD=E3=80=82 =20 =E8=AF=B7=E6=B3=A8=E6=84=8F=EF=BC=8Cirq=E5=9F=9F=E7=9A=84=E6=9F=A5=E6=89= =BE=E5=BF=85=E9=A1=BB=E5=8F=91=E7=94=9F=E5=9C=A8=E4=B8=8ERCU=E8=AF=BB=E4=B8= =B4=E7=95=8C=E5=8C=BA=E5=85=BC=E5=AE=B9=E7=9A=84=E4=B8=8A=E4=B8=8B=E6=96=87= =E4=B8=AD=E3=80=82 diff --git a/arch/powerpc/platforms/44x/uic.c b/arch/powerpc/platforms/44x/= uic.c index 5a8e9e81d9c8..1f30a3c56dfd 100644 --- a/arch/powerpc/platforms/44x/uic.c +++ b/arch/powerpc/platforms/44x/uic.c @@ -327,5 +327,5 @@ unsigned int uic_get_irq(void) msr =3D mfdcr(primary_uic->dcrbase + UIC_MSR); src =3D 32 - ffs(msr); =20 - return irq_linear_revmap(primary_uic->irqhost, src); + return irq_find_mapping(primary_uic->irqhost, src); } diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platf= orms/52xx/mpc52xx_gpt.c index 2c1caa1c77f7..d1055119ea71 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c @@ -369,7 +369,7 @@ struct mpc52xx_gpt_priv *mpc52xx_gpt_from_irq(int irq) mutex_lock(&mpc52xx_gpt_list_mutex); list_for_each(pos, &mpc52xx_gpt_list) { gpt =3D container_of(pos, struct mpc52xx_gpt_priv, list); - if (gpt->irqhost && irq =3D=3D irq_linear_revmap(gpt->irqhost, 0)) { + if (gpt->irqhost && irq =3D=3D irq_find_mapping(gpt->irqhost, 0)) { mutex_unlock(&mpc52xx_gpt_list_mutex); return gpt; } diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pic.c b/arch/powerpc/platf= orms/52xx/mpc52xx_pic.c index 16ca49a2fe62..8289c132e4ee 100644 --- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c +++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c @@ -515,5 +515,5 @@ unsigned int mpc52xx_get_irq(void) return 0; } =20 - return irq_linear_revmap(mpc52xx_irqhost, irq); + return irq_find_mapping(mpc52xx_irqhost, irq); } diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c b/arch/powerpc= /platforms/85xx/socrates_fpga_pic.c index 56dab9e37e4f..89ac269c2b95 100644 --- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c +++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c @@ -83,7 +83,7 @@ static inline unsigned int socrates_fpga_pic_get_irq(unsi= gned int irq) if (cause >> (i + 16)) break; } - return irq_linear_revmap(socrates_fpga_pic_irq_host, + return irq_find_mapping(socrates_fpga_pic_irq_host, (irq_hw_number_t)i); } =20 diff --git a/arch/powerpc/platforms/8xx/cpm1-ic.c b/arch/powerpc/platforms/= 8xx/cpm1-ic.c index 72c1a5b22263..a84503f82164 100644 --- a/arch/powerpc/platforms/8xx/cpm1-ic.c +++ b/arch/powerpc/platforms/8xx/cpm1-ic.c @@ -59,7 +59,7 @@ static int cpm_get_irq(struct irq_desc *desc) cpm_vec =3D in_be16(&data->reg->cpic_civr); cpm_vec >>=3D 11; =20 - return irq_linear_revmap(data->host, cpm_vec); + return irq_find_mapping(data->host, cpm_vec); } =20 static void cpm_cascade(struct irq_desc *desc) diff --git a/arch/powerpc/platforms/8xx/pic.c b/arch/powerpc/platforms/8xx/= pic.c index 3d2065f5235c..e0c8906439aa 100644 --- a/arch/powerpc/platforms/8xx/pic.c +++ b/arch/powerpc/platforms/8xx/pic.c @@ -80,7 +80,7 @@ unsigned int mpc8xx_get_irq(void) if (irq =3D=3D PIC_VEC_SPURRIOUS) return 0; =20 - return irq_linear_revmap(mpc8xx_pic_host, irq); + return irq_find_mapping(mpc8xx_pic_host, irq); =20 } =20 diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platfor= ms/cell/interrupt.c index 70de2942699a..0e26e819b5c6 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c @@ -138,7 +138,7 @@ static unsigned int iic_get_irq(void) in_be64((u64 __iomem *) &iic->regs->pending_destr); if (!(pending.flags & CBE_IIC_IRQ_VALID)) return 0; - virq =3D irq_linear_revmap(iic_host, iic_pending_to_hwnum(pending)); + virq =3D irq_find_mapping(iic_host, iic_pending_to_hwnum(pending)); if (!virq) return 0; iic->eoi_stack[++iic->eoi_ptr] =3D pending.prio; diff --git a/arch/powerpc/platforms/embedded6xx/flipper-pic.c b/arch/powerp= c/platforms/embedded6xx/flipper-pic.c index 312a9d40a2a2..47362c9f5692 100644 --- a/arch/powerpc/platforms/embedded6xx/flipper-pic.c +++ b/arch/powerpc/platforms/embedded6xx/flipper-pic.c @@ -172,7 +172,7 @@ unsigned int flipper_pic_get_irq(void) return 0; /* no more IRQs pending */ =20 irq =3D __ffs(irq_status); - return irq_linear_revmap(flipper_irq_host, irq); + return irq_find_mapping(flipper_irq_host, irq); } =20 /* diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c b/arch/powerpc/p= latforms/embedded6xx/hlwd-pic.c index e27f26a84f7d..7d6a4bd9979e 100644 --- a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c +++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c @@ -189,7 +189,7 @@ static struct irq_domain *__init hlwd_pic_init(struct d= evice_node *np) unsigned int hlwd_pic_get_irq(void) { unsigned int hwirq =3D __hlwd_pic_get_irq(hlwd_irq_host); - return hwirq ? irq_linear_revmap(hlwd_irq_host, hwirq) : 0; + return hwirq ? irq_find_mapping(hlwd_irq_host, hwirq) : 0; } =20 /* diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms= /powermac/pic.c index 2a5810944d32..b7d1af9f49a5 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c @@ -250,7 +250,7 @@ static unsigned int pmac_pic_get_irq(void) raw_spin_unlock_irqrestore(&pmac_pic_lock, flags); if (unlikely(irq < 0)) return 0; - return irq_linear_revmap(pmac_pic_host, irq); + return irq_find_mapping(pmac_pic_host, irq); } =20 static int pmac_pic_host_match(struct irq_domain *h, struct device_node *n= ode, diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c index 66b716e9e335..80e7ad021c27 100644 --- a/arch/powerpc/sysdev/cpm2_pic.c +++ b/arch/powerpc/sysdev/cpm2_pic.c @@ -207,7 +207,7 @@ unsigned int cpm2_get_irq(void) =20 if (irq =3D=3D 0) return(-1); - return irq_linear_revmap(cpm2_pic_host, irq); + return irq_find_mapping(cpm2_pic_host, irq); } =20 static int cpm2_pic_host_map(struct irq_domain *h, unsigned int virq, diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c index 0af7a114b5ca..d1d25aefc824 100644 --- a/arch/powerpc/sysdev/ehv_pic.c +++ b/arch/powerpc/sysdev/ehv_pic.c @@ -175,7 +175,7 @@ unsigned int ehv_pic_get_irq(void) * this will also setup revmap[] in the slow path for the first * time, next calls will always use fast path by indexing revmap */ - return irq_linear_revmap(global_ehv_pic->irqhost, irq); + return irq_find_mapping(global_ehv_pic->irqhost, irq); } =20 static int ehv_pic_host_match(struct irq_domain *h, struct device_node *no= de, diff --git a/arch/powerpc/sysdev/ge/ge_pic.c b/arch/powerpc/sysdev/ge/ge_pi= c.c index 5a695b4ff310..b83f32b96722 100644 --- a/arch/powerpc/sysdev/ge/ge_pic.c +++ b/arch/powerpc/sysdev/ge/ge_pic.c @@ -244,7 +244,7 @@ unsigned int gef_pic_get_irq(void) if (active & (0x1 << hwirq)) break; } - virq =3D irq_linear_revmap(gef_pic_irq_host, + virq =3D irq_find_mapping(gef_pic_irq_host, (irq_hw_number_t)hwirq); } =20 diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index b5a46dfd8f73..e9d34adf8b3f 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c @@ -801,7 +801,7 @@ unsigned int ipic_get_irq(void) if (irq =3D=3D 0) /* 0 --> no irq is pending */ return 0; =20 - return irq_linear_revmap(primary_ipic->irqhost, irq); + return irq_find_mapping(primary_ipic->irqhost, irq); } =20 #ifdef CONFIG_SUSPEND diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index d203823e8471..bdd6a9dbcf68 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@ -1785,7 +1785,7 @@ static unsigned int _mpic_get_one_irq(struct mpic *mp= ic, int reg) return 0; } =20 - return irq_linear_revmap(mpic->irqhost, src); + return irq_find_mapping(mpic->irqhost, src); } =20 unsigned int mpic_get_one_irq(struct mpic *mpic) @@ -1823,7 +1823,7 @@ unsigned int mpic_get_coreint_irq(void) return 0; } =20 - return irq_linear_revmap(mpic->irqhost, src); + return irq_find_mapping(mpic->irqhost, src); #else return 0; #endif diff --git a/arch/sh/boards/mach-se/7343/irq.c b/arch/sh/boards/mach-se/734= 3/irq.c index ac9db1f7aae1..f6dafb7e6762 100644 --- a/arch/sh/boards/mach-se/7343/irq.c +++ b/arch/sh/boards/mach-se/7343/irq.c @@ -70,7 +70,7 @@ static void __init se7343_gc_init(void) struct irq_chip_type *ct; unsigned int irq_base; =20 - irq_base =3D irq_linear_revmap(se7343_irq_domain, 0); + irq_base =3D irq_find_mapping(se7343_irq_domain, 0); =20 gc =3D irq_alloc_generic_chip(DRV_NAME, 1, irq_base, se7343_irq_regs, handle_level_irq); diff --git a/arch/sh/boards/mach-se/7722/irq.c b/arch/sh/boards/mach-se/772= 2/irq.c index 3902e13fa87b..c6b6e0bd929f 100644 --- a/arch/sh/boards/mach-se/7722/irq.c +++ b/arch/sh/boards/mach-se/7722/irq.c @@ -69,7 +69,7 @@ static void __init se7722_gc_init(void) struct irq_chip_type *ct; unsigned int irq_base; =20 - irq_base =3D irq_linear_revmap(se7722_irq_domain, 0); + irq_base =3D irq_find_mapping(se7722_irq_domain, 0); =20 gc =3D irq_alloc_generic_chip(DRV_NAME, 1, irq_base, se7722_irq_regs, handle_level_irq); diff --git a/drivers/gpio/gpio-idt3243x.c b/drivers/gpio/gpio-idt3243x.c index 00f547d26254..535f25514455 100644 --- a/drivers/gpio/gpio-idt3243x.c +++ b/drivers/gpio/gpio-idt3243x.c @@ -37,7 +37,7 @@ static void idt_gpio_dispatch(struct irq_desc *desc) pending =3D readl(ctrl->pic + IDT_PIC_IRQ_PEND); pending &=3D ~ctrl->mask_cache; for_each_set_bit(bit, &pending, gc->ngpio) { - virq =3D irq_linear_revmap(gc->irq.domain, bit); + virq =3D irq_find_mapping(gc->irq.domain, bit); if (virq) generic_handle_irq(virq); } diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-commo= n.c index 6d5f8d0bb6eb..d2f7ddbe6587 100644 --- a/drivers/gpu/ipu-v3/ipu-common.c +++ b/drivers/gpu/ipu-v3/ipu-common.c @@ -1046,7 +1046,7 @@ int ipu_map_irq(struct ipu_soc *ipu, int irq) { int virq; =20 - virq =3D irq_linear_revmap(ipu->domain, irq); + virq =3D irq_find_mapping(ipu->domain, irq); if (!virq) virq =3D irq_create_mapping(ipu->domain, irq); =20 @@ -1257,7 +1257,7 @@ static void ipu_irq_exit(struct ipu_soc *ipu) /* TODO: remove irq_domain_generic_chips */ =20 for (i =3D 0; i < IPU_NUM_IRQS; i++) { - irq =3D irq_linear_revmap(ipu->domain, i); + irq =3D irq_find_mapping(ipu->domain, i); if (irq) irq_dispose_mapping(irq); } diff --git a/drivers/i2c/muxes/i2c-mux-pca954x.c b/drivers/i2c/muxes/i2c-mu= x-pca954x.c index 289d4812aaa3..1326d2da9136 100644 --- a/drivers/i2c/muxes/i2c-mux-pca954x.c +++ b/drivers/i2c/muxes/i2c-mux-pca954x.c @@ -414,7 +414,7 @@ static irqreturn_t pca954x_irq_handler(int irq, void *d= ev_id) =20 pending =3D (ret >> PCA954X_IRQ_OFFSET) & (BIT(data->chip->nchans) - 1); for_each_set_bit(i, &pending, data->chip->nchans) - handle_nested_irq(irq_linear_revmap(data->irq, i)); + handle_nested_irq(irq_find_mapping(data->irq, i)); =20 return IRQ_RETVAL(pending); } diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-arma= da-370-xp.c index f6fbfab5ffb7..a3373ef6ad58 100644 --- a/drivers/irqchip/irq-armada-370-xp.c +++ b/drivers/irqchip/irq-armada-370-xp.c @@ -546,7 +546,7 @@ static void mpic_reenable_percpu(struct mpic *mpic) { /* Re-enable per-CPU interrupts that were enabled before suspend */ for (irq_hw_number_t i =3D 0; i < MPIC_PER_CPU_IRQS_NR; i++) { - unsigned int virq =3D irq_linear_revmap(mpic->domain, i); + unsigned int virq =3D irq_find_mapping(mpic->domain, i); struct irq_data *d; =20 if (!virq || !irq_percpu_is_enabled(virq)) @@ -740,7 +740,7 @@ static void mpic_resume(void) =20 /* Re-enable interrupts */ for (irq_hw_number_t i =3D 0; i < mpic->domain->hwirq_max; i++) { - unsigned int virq =3D irq_linear_revmap(mpic->domain, i); + unsigned int virq =3D irq_find_mapping(mpic->domain, i); struct irq_data *d; =20 if (!virq) diff --git a/drivers/pinctrl/pinctrl-keembay.c b/drivers/pinctrl/pinctrl-ke= embay.c index b693f4787044..0d7cc8280ea2 100644 --- a/drivers/pinctrl/pinctrl-keembay.c +++ b/drivers/pinctrl/pinctrl-keembay.c @@ -1268,7 +1268,7 @@ static void keembay_gpio_irq_handler(struct irq_desc = *desc) for_each_set_clump8(bit, clump, ®, BITS_PER_TYPE(typeof(reg))) { pin =3D clump & ~KEEMBAY_GPIO_IRQ_ENABLE; val =3D keembay_read_pin(kpc->base0 + KEEMBAY_GPIO_DATA_IN, pin); - kmb_irq =3D irq_linear_revmap(gc->irq.domain, pin); + kmb_irq =3D irq_find_mapping(gc->irq.domain, pin); =20 /* Checks if the interrupt is enabled */ if (val && (clump & KEEMBAY_GPIO_IRQ_ENABLE)) diff --git a/drivers/soc/fsl/qe/qe_ic.c b/drivers/soc/fsl/qe/qe_ic.c index 1da110eeb0c7..3f93487edb36 100644 --- a/drivers/soc/fsl/qe/qe_ic.c +++ b/drivers/soc/fsl/qe/qe_ic.c @@ -344,7 +344,7 @@ static unsigned int qe_ic_get_low_irq(struct qe_ic *qe_= ic) if (irq =3D=3D 0) return 0; =20 - return irq_linear_revmap(qe_ic->irqhost, irq); + return irq_find_mapping(qe_ic->irqhost, irq); } =20 /* Return an interrupt vector or 0 if no interrupt is pending. */ @@ -360,7 +360,7 @@ static unsigned int qe_ic_get_high_irq(struct qe_ic *qe= _ic) if (irq =3D=3D 0) return 0; =20 - return irq_linear_revmap(qe_ic->irqhost, irq); + return irq_find_mapping(qe_ic->irqhost, irq); } =20 static void qe_ic_cascade_low(struct irq_desc *desc) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 0a48cdd5f981..ca4628fa269d 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -564,12 +564,6 @@ static inline unsigned int irq_find_mapping(struct irq= _domain *domain, return 0; } =20 -static inline unsigned int irq_linear_revmap(struct irq_domain *domain, - irq_hw_number_t hwirq) -{ - return irq_find_mapping(domain, hwirq); -} - extern const struct irq_domain_ops irq_domain_simple_ops; =20 /* stock xlate functions */ --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 BC3C423FDF1; Wed, 15 Jan 2025 08:54:34 +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=1736931274; cv=none; b=KzGoJ4o5hVW6QTDHwLLwKFoSZ1543t9Ehz/G+XnMj/D+lvNHs/P36exiQuD7RkyWtX6Id6MtpcyTf8F6O+yDXt7dKPGp6jYJDCKAz+XPnJTdbmvE3mSiN9EA1ii9kJhw+FP2Uy10ACJe5noBz29yb1yJLxMopRlxry6HP47bUC0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931274; c=relaxed/simple; bh=7l4QMF5pjyh8ftXJob6+FTBNUBYXkdDlxcADH1FBcMc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=EGSIr2emYf7K2smYMAyu4/igJsN4QX+AB2I3E/Bme0I1w5U9gBlTqpNBAEfud8oVoKVJS768PAIHab6JqBW99Rv5aonuI/kGiq7DwpkSr0PdzICqRB5TNy9ZeBINBSLkpHutsV5Xuz4Ll/sXRLhHIy8wJlMqvseIk+e8w/2IAcw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Q5SpcX8s; 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="Q5SpcX8s" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F1FD8C4CEE4; Wed, 15 Jan 2025 08:54:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931274; bh=7l4QMF5pjyh8ftXJob6+FTBNUBYXkdDlxcADH1FBcMc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q5SpcX8sp29jBx05iFnAlpjv28l2SFTFaLonmTrlM6hFe2BigfkFlbCE+GKKQ/hIa 6oAfcX04p59SVF20UIV2PzgAcxJ/wrIFG7M9XSTnaxOVZfOJrUgxx5pypddDEp13kX sCNrU0o2FIFRwzPmXzz0qDa88iZF8CqxUyjHE49XxJZWTIDbSN1tbT8cPORqSRj06m LjgGTpcwrF9lfgjGyx4BtaRqGZqzI9NGvj3TwrTWVNoaLVUdNbxLHETOilONTZY/9m 42a6xkpbOhGuF8NqUJa2U/3e9U3i9rxp5pQKNPHVlWDMQo3gYf/S1KpH3PANVn9u8C D+gdNpxGtACFw== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Jonathan Corbet , linux-doc@vger.kernel.org, Randy Dunlap Subject: [PATCH 13/18] irqdomain.h: Improve kernel-docs of functions Date: Wed, 15 Jan 2025 09:54:02 +0100 Message-ID: <20250115085409.1629787-14-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" Many of irqdomain.h's functions are referenced in Documentation/ but are not properly documented. Therefore, document these. And use "Returns:" tag consistently, so that it is properly generated to the resulting docs. Signed-off-by: Jiri Slaby (SUSE) Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org Cc: Randy Dunlap --- include/linux/irqdomain.h | 62 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index ca4628fa269d..6de8a9f3fecf 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -417,6 +417,26 @@ static inline struct irq_domain *irq_find_host(struct = device_node *node) return d; } =20 +/** + * irq_domain_add_simple_of_node() - Register an irq_domain and optionally= map a range of irqs + * @of_node: pointer to interrupt controller's device tree node. + * @size: total number of irqs in mapping + * @first_irq: first number of irq block assigned to the domain, + * pass zero to assign irqs on-the-fly. If first_irq is non-zero, then + * pre-map all of the irqs in the domain to virqs starting at first_irq. + * @ops: domain callbacks + * @host_data: Controller private data pointer + * + * Allocates an irq_domain, and optionally if @first_irq is positive then = also + * allocate irq_descs and map all of the hwirqs to virqs starting at @firs= t_irq. + * + * This is intended to implement the expected behaviour for most + * interrupt controllers. If device tree is used, then @first_irq will be = 0 and + * irqs get mapped dynamically on the fly. However, if the controller requ= ires + * static virq assignments (non-DT boot) then it will set that up correctl= y. + * + * Returns: Newly created irq_domain + */ static inline struct irq_domain *irq_domain_add_simple_of_node(struct devi= ce_node *of_node, unsigned int size, unsigned int first_irq, @@ -486,6 +506,15 @@ static inline struct irq_domain *irq_domain_add_tree_o= f_node(struct device_node return IS_ERR(d) ? NULL : d; } =20 +/** + * irq_domain_add_linear_fwnode() - Allocate and register a linear revmap = irq_domain. + * @fwnode: pointer to interrupt controller's FW node. + * @size: Number of interrupts in the domain. + * @ops: map/unmap domain callbacks + * @host_data: Controller private data pointer + * + * Returns: Newly created irq_domain + */ static inline struct irq_domain *irq_domain_add_linear_fwnode(struct fwnod= e_handle *fwnode, unsigned int size, const struct irq_domain_ops *ops, @@ -532,6 +561,18 @@ unsigned int irq_create_mapping_affinity(struct irq_do= main *domain, unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec); void irq_dispose_mapping(unsigned int virq); =20 +/** + * irq_create_mapping() - Map a hardware interrupt into linux irq space + * @domain: domain owning this hardware interrupt or NULL for default doma= in + * @hwirq: hardware irq number in that domain space + * + * Only one mapping per hardware interrupt is permitted. + * + * If the sense/trigger is to be specified, set_irq_type() should be called + * on the number returned from that call. + * + * Returns: Linux irq number or 0 on error + */ static inline unsigned int irq_create_mapping(struct irq_domain *domain, irq_hw_number_t hwirq) { @@ -542,6 +583,13 @@ struct irq_desc *__irq_resolve_mapping(struct irq_doma= in *domain, irq_hw_number_t hwirq, unsigned int *irq); =20 +/** + * irq_resolve_mapping() - Find a linux irq from a hw irq number. + * @domain: domain owning this hardware interrupt + * @hwirq: hardware irq number in that domain space + * + * Returns: Interrupt descriptor + */ static inline struct irq_desc *irq_resolve_mapping(struct irq_domain *doma= in, irq_hw_number_t hwirq) { @@ -552,6 +600,8 @@ static inline struct irq_desc *irq_resolve_mapping(stru= ct irq_domain *domain, * irq_find_mapping() - Find a linux irq from a hw irq number. * @domain: domain owning this hardware interrupt * @hwirq: hardware irq number in that domain space + * + * Returns: Linux irq number or 0 if not found */ static inline unsigned int irq_find_mapping(struct irq_domain *domain, irq_hw_number_t hwirq) @@ -614,7 +664,8 @@ void irq_domain_reset_irq_data(struct irq_data *irq_dat= a); * * If successful the parent is associated to the new domain and the * domain flags are set. - * Returns pointer to IRQ domain, or NULL on failure. + * + * Returns: A pointer to IRQ domain, or %NULL on failure. */ static inline struct irq_domain *irq_domain_add_hierarchy_fwnode(struct ir= q_domain *parent, unsigned int flags, @@ -657,6 +708,15 @@ void irq_domain_free_irqs(unsigned int virq, unsigned = int nr_irqs); int irq_domain_activate_irq(struct irq_data *irq_data, bool early); void irq_domain_deactivate_irq(struct irq_data *irq_data); =20 +/** + * irq_domain_alloc_irqs - Allocate IRQs from domain + * @domain: domain to allocate from + * @nr_irqs: number of IRQs to allocate + * @node: NUMA node id for memory allocation + * @arg: domain specific argument + * + * See __irq_domain_alloc_irqs()' documentation. + */ static inline int irq_domain_alloc_irqs(struct irq_domain *domain, unsigned int nr_irqs, int node, void *arg) { --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 2370523FE1F; Wed, 15 Jan 2025 08:54:36 +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=1736931277; cv=none; b=hibIJWnxsQPAxeCpV9qnbPdMiOFgkSsR96LBPeLBAr3Ph0y3L783FoqqqRPjQMEgxalGbZX353mi5tHZqg0AtiCgfrFMzAS27WEeKxVi9ogJdAAdiRUOrUMw1ph5+P1IwrX6CkKRyQDl4mFLkRRzLaBYbKM0yJAYdjPuvWJPjn4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931277; c=relaxed/simple; bh=USYmo/CQ3Ul2dIOUWgMm1xQTjBoLGIKVBYccLjpw4Dw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JeYIqoxE3tEDILsbSl6SzhcjUlbMDd42kCT9LYSccfthXlyxFFtDSODeq9BxJ6qlSKMlDeeXLSCpKuf5/0GblVN06eOm6J7MctYTsrKkaYm/5SYs8A2snPp+DqXWWNFtJulxDCfuXr8jUxzM1H94fVaXzfMI0nkqj2Zqx3wHkMo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=khU/tvqZ; 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="khU/tvqZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 183F4C4CEE2; Wed, 15 Jan 2025 08:54:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931276; bh=USYmo/CQ3Ul2dIOUWgMm1xQTjBoLGIKVBYccLjpw4Dw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=khU/tvqZxgrXAgNWldqU0e3fGsgkz5X6FpTTJ5EySHx5EwMc/MVCAyn75QOSEvH93 dDaQ2T22Kod9BV/DPCDH8qbia+mOPjAef/Ux3qCuQzgFBNQp9J3FG+txOp4RxmiDIu TBMx6hrWCx/VmFYhIKUpn4iJzGyhuEZftc8KkDHv1dpas085DDycRMHYVN57TSl5/W LlTsU22UM5cSTWZJrIYeDAGF2LTKvrwSQaxj9jhvKqznDWiSElzS9GyNEwQBXoKhET q+GgsbIJt1D0+730rprYN0SHi6aCMSJoo7fRjOKQ2c9KLQtP1vUvTTgiwEyXw06o8i H8zNBjhIHvKqA== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Jonathan Corbet , linux-doc@vger.kernel.org, Randy Dunlap Subject: [PATCH 14/18] docs: irq/concepts: Add commas and reflow Date: Wed, 15 Jan 2025 09:54:03 +0100 Message-ID: <20250115085409.1629787-15-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" For easier reading, it is always desired to add commas at some places in text. Like before adverbs or after fronted sentences. Signed-off-by: Jiri Slaby (SUSE) Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org Cc: Randy Dunlap --- Documentation/core-api/irq/concepts.rst | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Documentation/core-api/irq/concepts.rst b/Documentation/core-a= pi/irq/concepts.rst index 4273806a606b..f166006a81f6 100644 --- a/Documentation/core-api/irq/concepts.rst +++ b/Documentation/core-api/irq/concepts.rst @@ -2,23 +2,22 @@ What is an IRQ? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 -An IRQ is an interrupt request from a device. -Currently they can come in over a pin, or over a packet. -Several devices may be connected to the same pin thus -sharing an IRQ. +An IRQ is an interrupt request from a device. Currently, they can come +in over a pin, or over a packet. Several devices may be connected to +the same pin thus sharing an IRQ. =20 An IRQ number is a kernel identifier used to talk about a hardware -interrupt source. Typically this is an index into the global irq_desc -array, but except for what linux/interrupt.h implements the details +interrupt source. Typically, this is an index into the global irq_desc +array, but except for what linux/interrupt.h implements, the details are architecture specific. =20 An IRQ number is an enumeration of the possible interrupt sources on a -machine. Typically what is enumerated is the number of input pins on -all of the interrupt controller in the system. In the case of ISA +machine. Typically, what is enumerated is the number of input pins on +all of the interrupt controllers in the system. In the case of ISA, what is enumerated are the 16 input pins on the two i8259 interrupt controllers. =20 Architectures can assign additional meaning to the IRQ numbers, and -are encouraged to in the case where there is any manual configuration -of the hardware involved. The ISA IRQs are a classic example of +are encouraged to in the case where there is any manual configuration +of the hardware involved. The ISA IRQs are a classic example of assigning this kind of additional meaning. --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 4AF2C243D58; Wed, 15 Jan 2025 08:54:38 +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=1736931279; cv=none; b=XBKxGxpghUQ1jcVT/uT63FkNRxyjbNnXl63u6XyLx9fLynqavWQocbJa6WCSYHTU3YwJ7EKeEAU/Hi3SbaRsM70JDeHUOvu1uUPDBGSvEbBVtfE40Nc4RhCPXjcZEc//ogtfDILf2SFbeOImPl60yMh1LyfnbAvmemf/YOD8MGs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931279; c=relaxed/simple; bh=CnqsjWdCloHmdynRqHqaHP5dcik2kWncMZ7jpkxGTCo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z8/JODV4Qh1dUDm/eglALV5MqDLjjXhKoLJsqgJNPfP6E3t4W+EVgCoLB5kZin5XAgp5ml1kXS+/uHVttNm8VoPFlSRJ9rQPVCYnjWVVAMssHP2FBsB0HuBmGBN/ya0eLCnfasVzUN3EE2/4ilNUwWvTnw58Qqr9/WTEdya4b1k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SXtrB7Dt; 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="SXtrB7Dt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 31C05C4CEE3; Wed, 15 Jan 2025 08:54:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931278; bh=CnqsjWdCloHmdynRqHqaHP5dcik2kWncMZ7jpkxGTCo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SXtrB7DtTlq24WrsZcqZlaqpaJcs2SQxAj0LlilCIVTTBcR1KbItHfYuVDRV+FrZL p6IBe+hzh0Ef34rbqhdQkO+h42T3EI8jsUgymEIzUL9EYj6ROGQ1al/7d2N99xe1wO mlLpFiwTy8aCPpyTMbGApaHihbYvSlUe7NMU9waBIXiSQETq34A49QCnd27zfNRxPI FrVVdQoMd0YTY6NbciMmiA/tj6gSuZv6JXKP9KU104CysS4vyGfGaHhSfQxKmFWnE6 NUJ1m8JKGVyO8ASu6vFdWS79AUb7Y+G5L9Z5P8QJPXX9erHfzIslMo3ejYgVfn7pdg JEqv71pLephxg== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Jonathan Corbet , linux-doc@vger.kernel.org, Randy Dunlap Subject: [PATCH 15/18] docs: irq/concepts: Minor improvements Date: Wed, 15 Jan 2025 09:54:04 +0100 Message-ID: <20250115085409.1629787-16-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" Just note in the docs: 1) A PCI as an example for shared interrupts, 2) a sparse tree can be used for interrupts too, and 3) two i8259s have 8 pins. Signed-off-by: Jiri Slaby (SUSE) Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org Cc: Randy Dunlap --- Documentation/core-api/irq/concepts.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Documentation/core-api/irq/concepts.rst b/Documentation/core-a= pi/irq/concepts.rst index f166006a81f6..7c4564f3cbdf 100644 --- a/Documentation/core-api/irq/concepts.rst +++ b/Documentation/core-api/irq/concepts.rst @@ -4,18 +4,20 @@ What is an IRQ? =20 An IRQ is an interrupt request from a device. Currently, they can come in over a pin, or over a packet. Several devices may be connected to -the same pin thus sharing an IRQ. +the same pin thus sharing an IRQ. Such as on legacy PCI bus: All devices +typically share 4 lanes/pins. Note that each device can request an +interrupt on each of the lanes. =20 An IRQ number is a kernel identifier used to talk about a hardware interrupt source. Typically, this is an index into the global irq_desc -array, but except for what linux/interrupt.h implements, the details -are architecture specific. +array or sparse_irqs tree. But except for what linux/interrupt.h +implements, the details are architecture specific. =20 An IRQ number is an enumeration of the possible interrupt sources on a machine. Typically, what is enumerated is the number of input pins on all of the interrupt controllers in the system. In the case of ISA, -what is enumerated are the 16 input pins on the two i8259 interrupt -controllers. +what is enumerated are the 8 input pins on each of the two i8259 +interrupt controllers. =20 Architectures can assign additional meaning to the IRQ numbers, and are encouraged to in the case where there is any manual configuration --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 15B34243D75; Wed, 15 Jan 2025 08:54:41 +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=1736931281; cv=none; b=nFGYz3iZNMJqXOC8NHTCFUwG+49pf3xinw6vkk2yNxNPsMy3p3buUWXjx5Nqd6Gm+DR8ZSW/wtJmUR+Vbc5Wgdb70m5UgPAWYRIBNY4T5ZGgPR4oDdMKnBqjc9xQy9wAI4qJeuxiizKjngHyY+afzvAQhHIDkqiCs1ATmJSihAQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931281; c=relaxed/simple; bh=o9n6U+QQBfXcdNMjUPSE+hEgc0RdrwU2e6dMP2zsPAw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z9L8bB5CIyzfEXO2pjkZ2e9g90SvTCFWumZVeyiTRUiihw/Cfbvi5T+90S5BplbcFZbEP55x1vCukGpwAiM7cK369qHD30nvaqV9y8RsDJ4DsST6HIbwEkGXRpHujAWjGqFYnZRkQuq9O7Qd7d5f3ZQR8dcgMB9ekVAkRkGLop8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qcSGfqoc; 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="qcSGfqoc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4C1FDC4CEE2; Wed, 15 Jan 2025 08:54:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931280; bh=o9n6U+QQBfXcdNMjUPSE+hEgc0RdrwU2e6dMP2zsPAw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qcSGfqocLLAwMv9wTBGo9ezT54U6mYXVqSXPE3KZV3trodXazz0ynzTIwziqox11P cHnKoW0Z/qeLr+lkuFctauAodgcZfY1oSZj1Cv8g/jEwQb9N+wxEAXLvmLpmQWIaat M7E6Hz0HLtYni8dQ5Mem8x5C14FVJGIxtkuzSGmMEeHtjjCEMsauF9Q06s5u8Lm4lh ztr9o95YcRHqU89RyJ/7FhTAfBpBjiM1lu1e4kojfCdNRv8BE2FNifwTjmtkii7Utx v14YESif2umrgEzzEn0r5LS/fyLLkvr8YsdQj/zxe6izYksFFFa4ksue4u5N5e1q+7 yHvWLBpdtIK8Q== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Jonathan Corbet , linux-doc@vger.kernel.org, Randy Dunlap Subject: [PATCH 16/18] docs: irq-domain.rst: Simple improvements Date: Wed, 15 Jan 2025 09:54:05 +0100 Message-ID: <20250115085409.1629787-17-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" The improvements include: * Capitals in headlines. * Added commas: for easier reading, it is always desired to add commas at some places in text. Like before adverbs or after fronted sentences. * 3rd person -> add 's' to verbs. * End some sentences with period and start a new one. Avoid thus heavy sentences. Signed-off-by: Jiri Slaby (SUSE) Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org Cc: Randy Dunlap --- Documentation/core-api/irq/irq-domain.rst | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Documentation/core-api/irq/irq-domain.rst b/Documentation/core= -api/irq/irq-domain.rst index 88805b9e78ad..0ad0edecd4a5 100644 --- a/Documentation/core-api/irq/irq-domain.rst +++ b/Documentation/core-api/irq/irq-domain.rst @@ -1,19 +1,19 @@ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -The irq_domain interrupt number mapping library +The irq_domain Interrupt Number Mapping Library =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 The current design of the Linux kernel uses a single large number space where each separate IRQ source is assigned a different number. This is simple when there is only one interrupt controller, but in -systems with multiple interrupt controllers the kernel must ensure +systems with multiple interrupt controllers, the kernel must ensure that each one gets assigned non-overlapping allocations of Linux IRQ numbers. =20 The number of interrupt controllers registered as unique irqchips -show a rising tendency: for example subdrivers of different kinds +shows a rising tendency. For example, subdrivers of different kinds such as GPIO controllers avoid reimplementing identical callback mechanisms as the IRQ core system by modelling their interrupt -handlers as irqchips, i.e. in effect cascading interrupt controllers. +handlers as irqchips. I.e. in effect cascading interrupt controllers. =20 Here the interrupt number loose all kind of correspondence to hardware interrupt numbers: whereas in the past, IRQ numbers could @@ -21,15 +21,15 @@ be chosen so they matched the hardware IRQ line into th= e root interrupt controller (i.e. the component actually fireing the interrupt line to the CPU) nowadays this number is just a number. =20 -For this reason we need a mechanism to separate controller-local -interrupt numbers, called hardware irq's, from Linux IRQ numbers. +For this reason, we need a mechanism to separate controller-local +interrupt numbers, called hardware IRQs, from Linux IRQ numbers. =20 The irq_alloc_desc*() and irq_free_desc*() APIs provide allocation of irq numbers, but they don't provide any support for reverse mapping of the controller-local IRQ (hwirq) number into the Linux IRQ number space. =20 -The irq_domain library adds mapping between hwirq and IRQ numbers on +The irq_domain library adds a mapping between hwirq and IRQ numbers on top of the irq_alloc_desc*() API. An irq_domain to manage mapping is preferred over interrupt controller drivers open coding their own reverse mapping scheme. @@ -38,7 +38,7 @@ irq_domain also implements translation from an abstract i= rq_fwspec structure to hwirq numbers (Device Tree and ACPI GSI so far), and can be easily extended to support other IRQ topology data sources. =20 -irq_domain usage +irq_domain Usage =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 An interrupt controller driver creates and registers an irq_domain by @@ -78,7 +78,7 @@ If the driver has the Linux IRQ number or the irq_data po= inter, and needs to know the associated hwirq number (such as in the irq_chip callbacks) then it can be directly obtained from irq_data->hwirq. =20 -Types of irq_domain mappings +Types of irq_domain Mappings =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D =20 There are several mechanisms available for reverse mapping from hwirq @@ -110,7 +110,7 @@ the former accepts an Open Firmware specific 'struct de= vice_node', while the latter accepts a more general abstraction 'struct fwnode_handle'. =20 -The majority of drivers should use the linear map. +The majority of drivers should use the Linear map. =20 Tree ---- @@ -216,7 +216,7 @@ the first argument is different - the former accepts an= Open Firmware specific 'struct device_node', while the latter accepts a more general abstraction 'struct fwnode_handle'. =20 -Hierarchy IRQ domain +Hierarchy IRQ Domain -------------------- =20 On some architectures, there may be multiple interrupt controllers --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 77C912407EF; Wed, 15 Jan 2025 08:54:43 +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=1736931283; cv=none; b=aN9UgLlDhTWFj9yELBXI59upH6ygxc7x1sArWzvjjfK17DaSJ9Pcxadsutcsu+knxhYR5kkpbKNaPU3gK8hyQ7PFd97cD5+fPZcfwEB5YZUKj6r/xMsmV6LjrtvGOKFvQkvh/ycxRRq/wdjW6wqvJ7q244wcB2rhi6nFUmpTK6w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931283; c=relaxed/simple; bh=NmvCL16IoZr6Te5UOZugJyRe7Wfoc7qfOIVlZtyrAqo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T6DYcnEqnEhSJcvgpXuIjuYxiIN08o+zOZor4F3t4XCy8VAXrTtZ/dBJJpCu1EgBahLFltQcPKCML2IgXQIZGK+uD4kmrSADyVrY/Ia3+HJOMGzJMXFemxEvuO3uEQ/7s9/iYGZMvtjeDXIV7WPpaZA/miX2E2chZodzOpzkRjA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VScrS6wJ; 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="VScrS6wJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 660E8C4CEE3; Wed, 15 Jan 2025 08:54:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931283; bh=NmvCL16IoZr6Te5UOZugJyRe7Wfoc7qfOIVlZtyrAqo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VScrS6wJSURSmM5WJotOR24t4/F98YwEgeaLx6KEbgOtFp7IPBmfuXgKo6su3h/jO pyaL/ak1XDoZ3xw4D78Z89zuTzEOP42wu+A/KnHRBu5C0fQzkfRfTfdQcrKfumHKBd G9Meze2XwNk0rBVPvsOreYwQEd3HAxrrN+yk7CqIJpEz13JJM2UtDc+23UuL6ezvOk A1a6xxaAuXWex4Rs0O4GopRKTQNDyL9pNw+dYPymUcnLQHcAAysbA0jF1q8vPkEHNe AQB28Lbf7cZYtJ4Ey0hs9y9TmyVKNG0iwq65egmDDdx+a3iAYSvgR4JQkjUSPomWzt AQPbIfpaA3deg== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Jonathan Corbet , linux-doc@vger.kernel.org, Randy Dunlap Subject: [PATCH 17/18] docs: irqdomain: Update Date: Wed, 15 Jan 2025 09:54:06 +0100 Message-ID: <20250115085409.1629787-18-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" The irqdomain documentaion became obsolete over time. Update and extend it a bit with respect to the current code and HW. Most notably the doubled documentation of irq_domain (from .rst and .h) was unified and let only in .rst. A reference link was added to .h. Furthermore: * Some 'struct' keywords added, so that the respective structs are hyperlinked. * :c:member: used where appropriate to mark a member of a struct. * Some wording rephrased to improve readability/understanding. Signed-off-by: Jiri Slaby (SUSE) Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org Cc: Randy Dunlap --- Documentation/core-api/irq/irq-domain.rst | 123 +++++++++++++--------- include/linux/irqdomain.h | 26 +---- 2 files changed, 76 insertions(+), 73 deletions(-) diff --git a/Documentation/core-api/irq/irq-domain.rst b/Documentation/core= -api/irq/irq-domain.rst index 0ad0edecd4a5..e7c0360c257d 100644 --- a/Documentation/core-api/irq/irq-domain.rst +++ b/Documentation/core-api/irq/irq-domain.rst @@ -3,8 +3,8 @@ The irq_domain Interrupt Number Mapping Library =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 The current design of the Linux kernel uses a single large number -space where each separate IRQ source is assigned a different number. -This is simple when there is only one interrupt controller, but in +space where each separate IRQ source is assigned a unique number. +This is simple when there is only one interrupt controller. But in systems with multiple interrupt controllers, the kernel must ensure that each one gets assigned non-overlapping allocations of Linux IRQ numbers. @@ -15,46 +15,64 @@ such as GPIO controllers avoid reimplementing identical= callback mechanisms as the IRQ core system by modelling their interrupt handlers as irqchips. I.e. in effect cascading interrupt controllers. =20 -Here the interrupt number loose all kind of correspondence to -hardware interrupt numbers: whereas in the past, IRQ numbers could -be chosen so they matched the hardware IRQ line into the root -interrupt controller (i.e. the component actually fireing the -interrupt line to the CPU) nowadays this number is just a number. +So in the past, IRQ numbers could be chosen so that they match the +hardware IRQ line into the root interrupt controller (i.e. the +component actually firing the interrupt line to the CPU). Nowadays, +this number is just a number and the number loose all kind of +correspondence to hardware interrupt numbers. =20 For this reason, we need a mechanism to separate controller-local interrupt numbers, called hardware IRQs, from Linux IRQ numbers. =20 The irq_alloc_desc*() and irq_free_desc*() APIs provide allocation of -irq numbers, but they don't provide any support for reverse mapping of +IRQ numbers, but they don't provide any support for reverse mapping of the controller-local IRQ (hwirq) number into the Linux IRQ number space. =20 The irq_domain library adds a mapping between hwirq and IRQ numbers on -top of the irq_alloc_desc*() API. An irq_domain to manage mapping is -preferred over interrupt controller drivers open coding their own +top of the irq_alloc_desc*() API. An irq_domain to manage the mapping +is preferred over interrupt controller drivers open coding their own reverse mapping scheme. =20 -irq_domain also implements translation from an abstract irq_fwspec -structure to hwirq numbers (Device Tree and ACPI GSI so far), and can -be easily extended to support other IRQ topology data sources. +irq_domain also implements a translation from an abstract struct +irq_fwspec to hwirq numbers (Device Tree, non-DT firmware node, ACPI +GSI, and software node so far), and can be easily extended to support +other IRQ topology data sources. The implementation is performed +without any extra platform support code. =20 irq_domain Usage =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 -An interrupt controller driver creates and registers an irq_domain by -calling one of the irq_domain_add_*_of_node() or -irq_domain_add_*_fwnode() functions (each mapping method has a -different allocator function, more on that later). The function will -return a pointer to the irq_domain on success. The caller must provide -the allocator function with an irq_domain_ops structure. +struct irq_domain could be defined as an irq domain controller. That +is, it handles the mapping between hardware and virtual interrupt +numbers for a given interrupt domain. The domain structure is +generally created by the PIC code for a given PIC instance (though a +domain can cover more than one PIC if they have a flat number model). +It is the domain callbacks that are responsible for setting the +irq_chip on a given irq_desc after it has been mapped. + +The host code and data structures use a fwnode_handle pointer to +identify the domain. In some cases, and in order to preserve source +code compatibility, this fwnode pointer is "upgraded" to a DT +device_node. For those firmware infrastructures that do not provide a +unique identifier for an interrupt controller, the irq_domain code +offers a fwnode allocator. + +An interrupt controller driver creates and registers a struct +irq_domain by calling one of the irq_domain_add_*_of_node() or +irq_domain_add_*_fwnode() functions (each mapping method has a different +allocator function, more on that later). The function will return a +pointer to the struct irq_domain on success. The caller must provide +the allocator function with a struct irq_domain_ops pointer. =20 In most cases, the irq_domain will begin empty without any mappings between hwirq and IRQ numbers. Mappings are added to the irq_domain by calling irq_create_mapping() which accepts the irq_domain and a -hwirq number as arguments. If a mapping for the hwirq doesn't already -exist then it will allocate a new Linux irq_desc, associate it with -the hwirq, and call the .map() callback so the driver can perform any -required hardware setup. +hwirq number as arguments. If a mapping for the hwirq doesn't already +exist, irq_create_mapping() allocates a new Linux irq_desc, associates +it with the hwirq, and calls the :c:member:`irq_domain_ops.map()` +callback. In there, the driver can perform any required hardware +setup. =20 Once a mapping has been established, it can be retrieved or used via a variety of methods: @@ -76,7 +94,8 @@ be allocated. =20 If the driver has the Linux IRQ number or the irq_data pointer, and needs to know the associated hwirq number (such as in the irq_chip -callbacks) then it can be directly obtained from irq_data->hwirq. +callbacks) then it can be directly obtained from +:c:member:`irq_data.hwirq`. =20 Types of irq_domain Mappings =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D @@ -257,20 +276,40 @@ There are four major interfaces to use hierarchy irq_= domain: 4) irq_domain_deactivate_irq(): deactivate interrupt controller hardware to stop delivering the interrupt. =20 -Following changes are needed to support hierarchy irq_domain: +The following is needed to support hierarchy irq_domain: =20 -1) a new field 'parent' is added to struct irq_domain; it's used to +1) The :c:member:`parent` field in struct irq_domain is used to maintain irq_domain hierarchy information. -2) a new field 'parent_data' is added to struct irq_data; it's used to - build hierarchy irq_data to match hierarchy irq_domains. The irq_data - is used to store irq_domain pointer and hardware irq number. -3) new callbacks are added to struct irq_domain_ops to support hierarchy - irq_domain operations. - -With support of hierarchy irq_domain and hierarchy irq_data ready, an -irq_domain structure is built for each interrupt controller, and an +2) The :c:member:`parent_data` field in struct irq_data is used to + build hierarchy irq_data to match hierarchy irq_domains. The + irq_data is used to store irq_domain pointer and hardware irq + number. +3) The :c:member:`alloc()`, :c:member:`free()`, and other callbacks in + struct irq_domain_ops to support hierarchy irq_domain operations. + +With the support of hierarchy irq_domain and hierarchy irq_data ready, +an irq_domain structure is built for each interrupt controller, and an irq_data structure is allocated for each irq_domain associated with an -IRQ. Now we could go one step further to support stacked(hierarchy) +IRQ. + +For an interrupt controller driver to support hierarchy irq_domain, it +needs to: + +1) Implement irq_domain_ops.alloc() and irq_domain_ops.free() +2) Optionally, implement irq_domain_ops.activate() and + irq_domain_ops.deactivate(). +3) Optionally, implement an irq_chip to manage the interrupt controller + hardware. +4) There is no need to implement irq_domain_ops.map() and + irq_domain_ops.unmap(). They are unused with hierarchy irq_domain. + +Note the hierarchy irq_domain is in no way x86-specific, and is +heavily used to support other architectures, such as ARM, ARM64 etc. + +Stacked irq_chip +~~~~~~~~~~~~~~~~ + +Now, we could go one step further to support stacked (hierarchy) irq_chip. That is, an irq_chip is associated with each irq_data along the hierarchy. A child irq_chip may implement a required action by itself or by cooperating with its parent irq_chip. @@ -280,20 +319,6 @@ with the hardware managed by itself and may ask for se= rvices from its parent irq_chip when needed. So we could achieve a much cleaner software architecture. =20 -For an interrupt controller driver to support hierarchy irq_domain, it -needs to: - -1) Implement irq_domain_ops.alloc and irq_domain_ops.free -2) Optionally implement irq_domain_ops.activate and - irq_domain_ops.deactivate. -3) Optionally implement an irq_chip to manage the interrupt controller - hardware. -4) No need to implement irq_domain_ops.map and irq_domain_ops.unmap, - they are unused with hierarchy irq_domain. - -Hierarchy irq_domain is in no way x86 specific, and is heavily used to -support other architectures, such as ARM, ARM64 etc. - Debugging =3D=3D=3D=3D=3D=3D=3D=3D=3D =20 diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 6de8a9f3fecf..f8c21d162da3 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -1,30 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * irq_domain - IRQ translation domains + * irq_domain - IRQ Translation Domains * - * Translation infrastructure between hw and linux irq numbers. This is - * helpful for interrupt controllers to implement mapping between hardware - * irq numbers and the Linux irq number space. - * - * irq_domains also have hooks for translating device tree or other - * firmware interrupt representations into a hardware irq number that - * can be mapped back to a Linux irq number without any extra platform - * support code. - * - * Interrupt controller "domain" data structure. This could be defined as a - * irq domain controller. That is, it handles the mapping between hardware - * and virtual interrupt numbers for a given interrupt domain. The domain - * structure is generally created by the PIC code for a given PIC instance - * (though a domain can cover more than one PIC if they have a flat number - * model). It's the domain callbacks that are responsible for setting the - * irq_chip on a given irq_desc after it's been mapped. - * - * The host code and data structures use a fwnode_handle pointer to - * identify the domain. In some cases, and in order to preserve source - * code compatibility, this fwnode pointer is "upgraded" to a DT - * device_node. For those firmware infrastructures that do not provide - * a unique identifier for an interrupt controller, the irq_domain - * code offers a fwnode allocator. + * See Documentation/core-api/irq/irq-domain.rst for the details. */ =20 #ifndef _LINUX_IRQDOMAIN_H --=20 2.48.0 From nobody Thu Dec 18 03:57:05 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 50A1E240806; Wed, 15 Jan 2025 08:54:45 +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=1736931285; cv=none; b=WNHV2ayPzfKzW+BlMHAf5IoLhg6a/LuUHeP/m8lHdF8vBQTpqTFu6fJKcvXw/GCJUVr8VV1O1RapZOBwFs0Giefoulj9WmptVDfhOdRj+Szqbr+48On6wH8/DZii3E8Fx62YciFxSfcgeZ3ska9eDIwT3NXO0LWM3d28drjG3TM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736931285; c=relaxed/simple; bh=9hRGq7q5mnsadgjtq534x6y3y50vCNPHRTENw2UaSfE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pvtD7vTKkGQNNHNfJYq6KbQ/eHcp+H7eRAzGdHmtCDxNLQX1QgXUxJFjETliUJMZjvBx39fsng1Lg3PbfwEVn5N7qh6PlhNSKXI2eJNxwqOgEimJDLCh+syLReRKpxP9nP6W8RA+QrqcQqH51mq/wMnopVza5diNFTjcxzCYE1k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=J3AZjPL6; 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="J3AZjPL6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 801ACC4CEE5; Wed, 15 Jan 2025 08:54:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736931285; bh=9hRGq7q5mnsadgjtq534x6y3y50vCNPHRTENw2UaSfE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J3AZjPL6zCfIOFtVbTREoXp5PG9racxY1SPw8QgtLmWQjZF+yv2W2S6NF0nMFZdnQ 8lpPQjqZNUSB02W8nBmooEteChfCzBYSyfg+c6h8RNvx8ObCOyoDjdNP2lTahcYGjO ZESAuxeW4gCPkxg/UgESG8O6DcK4FlQvNuBDSWLyoM33zH2mWn0KAnHGPTv4ziXLRK efiflQrkPF980MLIUkqptBdnKquBFmPiiYiaEaDD4d7BjTs8xiAVNzFHi23iDiAJnw V2/QdIIIeMB2Q3Wi4ukXzRY9Xq0j/44+Gte2XU3N0PtheUQRJUV8QFDRIdIvzdv8dn vnKOd1pb0Dk6A== From: "Jiri Slaby (SUSE)" To: tglx@linutronix.de Cc: maz@kernel.org, linux-kernel@vger.kernel.org, "Jiri Slaby (SUSE)" , Jonathan Corbet , linux-doc@vger.kernel.org, Randy Dunlap Subject: [PATCH 18/18] irqdomain.c: Fix kernel-doc and add it to Documentation Date: Wed, 15 Jan 2025 09:54:07 +0100 Message-ID: <20250115085409.1629787-19-jirislaby@kernel.org> X-Mailer: git-send-email 2.48.0 In-Reply-To: <20250115085409.1629787-1-jirislaby@kernel.org> References: <20250115085409.1629787-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" irqdomain.c's kernel-doc exists in that file, but is not plugged into Documentation/ yet. Before plugging it in, fix it first: irq_domain_get_irq_data() and irq_domain_set_info() were documented twice. Identically, by both definitions for CONFIG_IRQ_DOMAIN_HIERARCHY and !CONFIG_IRQ_DOMAIN_HIERARCHY. Therefore, switch the second kernel-doc into an ordinary comment -- change "/**" to simple "/*". This avoids sphinx's: WARNING: Duplicate C declaration Next, in commit b7b377332b96 ("irqdomain: Fix the kernel-doc and plug it into Documentation"), I added irqdomain.h's (header) kernel-doc into core-api/genericirq.rst. But given the amount of irqdomain functions and structures, move all these to core-api/irq/irq-domain.rst now. Finally, add these newly fixed irqdomain.c's (source) docs there as well. Signed-off-by: Jiri Slaby (SUSE) Cc: Jonathan Corbet Cc: linux-doc@vger.kernel.org Cc: Randy Dunlap --- Documentation/core-api/genericirq.rst | 2 -- Documentation/core-api/irq/irq-domain.rst | 20 ++++++++++++++++++++ kernel/irq/irqdomain.c | 4 ++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Documentation/core-api/genericirq.rst b/Documentation/core-api= /genericirq.rst index 25f94dfd66fa..582bde9bf5a9 100644 --- a/Documentation/core-api/genericirq.rst +++ b/Documentation/core-api/genericirq.rst @@ -410,8 +410,6 @@ which are used in the generic IRQ layer. .. kernel-doc:: include/linux/interrupt.h :internal: =20 -.. kernel-doc:: include/linux/irqdomain.h - Public Functions Provided =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D =20 diff --git a/Documentation/core-api/irq/irq-domain.rst b/Documentation/core= -api/irq/irq-domain.rst index e7c0360c257d..82b8eb9442fc 100644 --- a/Documentation/core-api/irq/irq-domain.rst +++ b/Documentation/core-api/irq/irq-domain.rst @@ -324,3 +324,23 @@ Debugging =20 Most of the internals of the IRQ subsystem are exposed in debugfs by turning CONFIG_GENERIC_IRQ_DEBUGFS on. + +Structures and Public Functions Provided +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +This chapter contains the autogenerated documentation of the structures +and exported kernel API functions which are used for IRQ domains. + +.. kernel-doc:: include/linux/irqdomain.h + +.. kernel-doc:: kernel/irq/irqdomain.c + :export: + +Internal Functions Provided +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D + +This chapter contains the autogenerated documentation of the internal +functions. + +.. kernel-doc:: kernel/irq/irqdomain.c + :internal: diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index ddacf9487d08..869c25ac3170 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -1941,7 +1941,7 @@ static void irq_domain_check_hierarchy(struct irq_dom= ain *domain) domain->flags |=3D IRQ_DOMAIN_FLAG_HIERARCHY; } #else /* CONFIG_IRQ_DOMAIN_HIERARCHY */ -/** +/* * irq_domain_get_irq_data - Get irq_data associated with @virq and @domain * @domain: domain to match * @virq: IRQ number to get irq_data @@ -1955,7 +1955,7 @@ struct irq_data *irq_domain_get_irq_data(struct irq_d= omain *domain, } EXPORT_SYMBOL_GPL(irq_domain_get_irq_data); =20 -/** +/* * irq_domain_set_info - Set the complete data for a @virq in @domain * @domain: Interrupt domain to match * @virq: IRQ number --=20 2.48.0