]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
irqchip: Switch to irq_domain_create_*()
authorJiri Slaby (SUSE) <jirislaby@kernel.org>
Wed, 19 Mar 2025 09:29:14 +0000 (10:29 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 16 May 2025 19:06:09 +0000 (21:06 +0200)
irq_domain_add_*() interfaces are going away as being obsolete now.
Switch to the preferred irq_domain_create_*() ones. Those differ in the
node parameter: They take more generic struct fwnode_handle instead of
struct device_node. Therefore, of_fwnode_handle() is added around the
original parameter.

Note some of the users can likely use dev->fwnode directly instead of
indirect of_fwnode_handle(dev->of_node). But dev->fwnode is not
guaranteed to be set for all, so this has to be investigated on case to
case basis (by people who can actually test with the HW).

[ tglx: Fix up subject prefix ]

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Link: https://lore.kernel.org/all/20250319092951.37667-22-jirislaby@kernel.org
87 files changed:
drivers/irqchip/exynos-combiner.c
drivers/irqchip/irq-al-fic.c
drivers/irqchip/irq-alpine-msi.c
drivers/irqchip/irq-armada-370-xp.c
drivers/irqchip/irq-aspeed-i2c-ic.c
drivers/irqchip/irq-aspeed-intc.c
drivers/irqchip/irq-aspeed-scu-ic.c
drivers/irqchip/irq-aspeed-vic.c
drivers/irqchip/irq-ath79-misc.c
drivers/irqchip/irq-atmel-aic-common.c
drivers/irqchip/irq-bcm2712-mip.c
drivers/irqchip/irq-bcm2835.c
drivers/irqchip/irq-bcm2836.c
drivers/irqchip/irq-bcm6345-l1.c
drivers/irqchip/irq-bcm7038-l1.c
drivers/irqchip/irq-bcm7120-l2.c
drivers/irqchip/irq-brcmstb-l2.c
drivers/irqchip/irq-clps711x.c
drivers/irqchip/irq-crossbar.c
drivers/irqchip/irq-csky-apb-intc.c
drivers/irqchip/irq-csky-mpintc.c
drivers/irqchip/irq-davinci-cp-intc.c
drivers/irqchip/irq-digicolor.c
drivers/irqchip/irq-dw-apb-ictl.c
drivers/irqchip/irq-ftintc010.c
drivers/irqchip/irq-goldfish-pic.c
drivers/irqchip/irq-hip04.c
drivers/irqchip/irq-i8259.c
drivers/irqchip/irq-idt3243x.c
drivers/irqchip/irq-imgpdc.c
drivers/irqchip/irq-imx-gpcv2.c
drivers/irqchip/irq-imx-intmux.c
drivers/irqchip/irq-imx-irqsteer.c
drivers/irqchip/irq-ingenic-tcu.c
drivers/irqchip/irq-ingenic.c
drivers/irqchip/irq-jcore-aic.c
drivers/irqchip/irq-keystone.c
drivers/irqchip/irq-lpc32xx.c
drivers/irqchip/irq-ls-extirq.c
drivers/irqchip/irq-ls-scfg-msi.c
drivers/irqchip/irq-ls1x.c
drivers/irqchip/irq-mchp-eic.c
drivers/irqchip/irq-mips-cpu.c
drivers/irqchip/irq-mips-gic.c
drivers/irqchip/irq-mmp.c
drivers/irqchip/irq-mscc-ocelot.c
drivers/irqchip/irq-mst-intc.c
drivers/irqchip/irq-mtk-cirq.c
drivers/irqchip/irq-mtk-sysirq.c
drivers/irqchip/irq-mvebu-pic.c
drivers/irqchip/irq-mxs.c
drivers/irqchip/irq-nvic.c
drivers/irqchip/irq-omap-intc.c
drivers/irqchip/irq-or1k-pic.c
drivers/irqchip/irq-orion.c
drivers/irqchip/irq-owl-sirq.c
drivers/irqchip/irq-pic32-evic.c
drivers/irqchip/irq-pruss-intc.c
drivers/irqchip/irq-realtek-rtl.c
drivers/irqchip/irq-renesas-intc-irqpin.c
drivers/irqchip/irq-renesas-irqc.c
drivers/irqchip/irq-renesas-rza1.c
drivers/irqchip/irq-renesas-rzg2l.c
drivers/irqchip/irq-renesas-rzv2h.c
drivers/irqchip/irq-sa11x0.c
drivers/irqchip/irq-sni-exiu.c
drivers/irqchip/irq-sp7021-intc.c
drivers/irqchip/irq-starfive-jh8100-intc.c
drivers/irqchip/irq-stm32-exti.c
drivers/irqchip/irq-stm32mp-exti.c
drivers/irqchip/irq-sun4i.c
drivers/irqchip/irq-sun6i-r.c
drivers/irqchip/irq-sunxi-nmi.c
drivers/irqchip/irq-tb10x.c
drivers/irqchip/irq-tegra.c
drivers/irqchip/irq-ti-sci-inta.c
drivers/irqchip/irq-ti-sci-intr.c
drivers/irqchip/irq-ts4800.c
drivers/irqchip/irq-versatile-fpga.c
drivers/irqchip/irq-vf610-mscm-ir.c
drivers/irqchip/irq-vic.c
drivers/irqchip/irq-wpcm450-aic.c
drivers/irqchip/irq-xilinx-intc.c
drivers/irqchip/irq-xtensa-mx.c
drivers/irqchip/irq-xtensa-pic.c
drivers/irqchip/irq-zevio.c
drivers/irqchip/spear-shirq.c

index 552aa04ff063123bdc23d06ce06074679cdc55e6..e7dfcf0cda438db8134ac31ed15c91bbb9d4f2ee 100644 (file)
@@ -180,7 +180,7 @@ static void __init combiner_init(void __iomem *combiner_base,
        if (!combiner_data)
                return;
 
-       combiner_irq_domain = irq_domain_add_linear(np, nr_irq,
+       combiner_irq_domain = irq_domain_create_linear(of_fwnode_handle(np), nr_irq,
                                &combiner_irq_domain_ops, combiner_data);
        if (WARN_ON(!combiner_irq_domain)) {
                pr_warn("%s: irq domain init failed\n", __func__);
index dfb761e86c9cb492bd5bc6702d9a225c832c4aee..c980e822a10a86f0e37d1331cee1f148b3ca166b 100644 (file)
@@ -139,7 +139,7 @@ static int al_fic_register(struct device_node *node,
        struct irq_chip_generic *gc;
        int ret;
 
-       fic->domain = irq_domain_add_linear(node,
+       fic->domain = irq_domain_create_linear(of_fwnode_handle(node),
                                            NR_FIC_IRQS,
                                            &irq_generic_chip_ops,
                                            fic);
index 0207d35135da4d2c83f2fbd4cec642db8dab04c8..a5289dc26dca032b71377033387c9e22f3686260 100644 (file)
@@ -205,9 +205,8 @@ static int alpine_msix_init_domains(struct alpine_msix_data *priv,
                return -ENXIO;
        }
 
-       middle_domain = irq_domain_add_hierarchy(gic_domain, 0, 0, NULL,
-                                                &alpine_msix_middle_domain_ops,
-                                                priv);
+       middle_domain = irq_domain_create_hierarchy(gic_domain, 0, 0, NULL,
+                                                   &alpine_msix_middle_domain_ops, priv);
        if (!middle_domain) {
                pr_err("Failed to create the MSIX middle domain\n");
                return -ENOMEM;
index de98d16c1718f7ec0f161cf51ea497a809b4aeb2..e51612992735e0f9184c6d3297757fe370e4bb8f 100644 (file)
@@ -348,7 +348,7 @@ static int __init mpic_msi_init(struct mpic *mpic, struct device_node *node,
                mpic->msi_doorbell_mask = PCI_MSI_FULL_DOORBELL_MASK;
        }
 
-       mpic->msi_inner_domain = irq_domain_add_linear(NULL, mpic->msi_doorbell_size,
+       mpic->msi_inner_domain = irq_domain_create_linear(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 = MPIC_PER_CPU_IRQS_NR;
 
-       mpic->domain = irq_domain_add_linear(node, nr_irqs, &mpic_irq_ops, mpic);
+       mpic->domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs, &mpic_irq_ops, mpic);
        if (!mpic->domain) {
                pr_err("%pOF: Unable to add IRQ domain\n", node);
                return -ENOMEM;
index 9c9fc3e2967ede2e3be21895af3d20229ee4ab8e..87c1feb999ff7f068290b8d18b40eaceb0397d8c 100644 (file)
@@ -82,7 +82,7 @@ static int __init aspeed_i2c_ic_of_init(struct device_node *node,
                goto err_iounmap;
        }
 
-       i2c_ic->irq_domain = irq_domain_add_linear(node, ASPEED_I2C_IC_NUM_BUS,
+       i2c_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), ASPEED_I2C_IC_NUM_BUS,
                                                   &aspeed_i2c_ic_irq_domain_ops,
                                                   NULL);
        if (!i2c_ic->irq_domain) {
index bd3b759b4b2c18221158a6c6602269390eb9756e..8330221799a08c30351ac48cf0bc17901e045f04 100644 (file)
@@ -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);
 
-       intc_ic->irq_domain = irq_domain_add_linear(node, INTC_IRQS_PER_WORD,
+       intc_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), INTC_IRQS_PER_WORD,
                                                    &aspeed_intc_ic_irq_domain_ops, intc_ic);
        if (!intc_ic->irq_domain) {
                ret = -ENOMEM;
index 94a7223e95df6ca14c8b4d66c5cccbfec4606189..1c7045467c48605cca8856daeea9336bdf5a5d27 100644 (file)
@@ -165,7 +165,7 @@ static int aspeed_scu_ic_of_init_common(struct aspeed_scu_ic *scu_ic,
                goto err;
        }
 
-       scu_ic->irq_domain = irq_domain_add_linear(node, scu_ic->num_irqs,
+       scu_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), scu_ic->num_irqs,
                                                   &aspeed_scu_ic_domain_ops,
                                                   scu_ic);
        if (!scu_ic->irq_domain) {
index 62ccf2c0c4143ea91f979f09b4c135403e4f5700..9b665b5bb531d5d00a3a41ff462deb189c9e7f7a 100644 (file)
@@ -211,8 +211,8 @@ static int __init avic_of_init(struct device_node *node,
        set_handle_irq(avic_handle_irq);
 
        /* Register our domain */
-       vic->dom = irq_domain_add_simple(node, NUM_IRQS, 0,
-                                        &avic_dom_ops, vic);
+       vic->dom = irq_domain_create_simple(of_fwnode_handle(node), NUM_IRQS, 0,
+                                           &avic_dom_ops, vic);
 
        return 0;
 }
index 92f001a5ff8dd28698e1e5a3ed086e6102b6e3b0..268cc18b781fcc2a1ef4bd2fc77dc0c2a467c0eb 100644 (file)
@@ -147,7 +147,7 @@ static int __init ath79_misc_intc_of_init(
                return -ENOMEM;
        }
 
-       domain = irq_domain_add_linear(node, ATH79_MISC_IRQ_COUNT,
+       domain = irq_domain_create_linear(of_fwnode_handle(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 = ar724x_misc_irq_ack;
 
-       domain = irq_domain_add_legacy(NULL, ATH79_MISC_IRQ_COUNT,
+       domain = irq_domain_create_legacy(NULL, ATH79_MISC_IRQ_COUNT,
                        irq_base, 0, &misc_irq_domain_ops, regs);
        if (!domain)
                panic("Failed to create MISC irqdomain");
index 4525366d16d6152886379273391f56ad45149f37..3cad30a40c195a0c4abaf3fad7f91af4714261a5 100644 (file)
@@ -228,7 +228,7 @@ struct irq_domain *__init aic_common_of_init(struct device_node *node,
                goto err_iounmap;
        }
 
-       domain = irq_domain_add_linear(node, nchips * 32, ops, aic);
+       domain = irq_domain_create_linear(of_fwnode_handle(node), nchips * 32, ops, aic);
        if (!domain) {
                ret = -ENOMEM;
                goto err_free_aic;
index 49a19db2d1e1b32c5384eed7ffa9e79968553ebb..c546a063c8d8e8eee5aef948f51f44dda36b93bd 100644 (file)
@@ -173,8 +173,8 @@ static int mip_init_domains(struct mip_priv *mip, struct device_node *np)
 {
        struct irq_domain *middle;
 
-       middle = irq_domain_add_hierarchy(mip->parent, 0, mip->num_msis, np,
-                                         &mip_middle_domain_ops, mip);
+       middle = irq_domain_create_hierarchy(mip->parent, 0, mip->num_msis, of_fwnode_handle(np),
+                                            &mip_middle_domain_ops, mip);
        if (!middle)
                return -ENOMEM;
 
index 6c20604c2242f2df9dd6b23d89e873c82a59a731..1e384c8703503c735fe3e43530eb86c91fa5cf53 100644 (file)
@@ -144,7 +144,7 @@ static int __init armctrl_of_init(struct device_node *node,
        if (!base)
                panic("%pOF: unable to map IC registers\n", node);
 
-       intc.domain = irq_domain_add_linear(node, MAKE_HWIRQ(NR_BANKS, 0),
+       intc.domain = irq_domain_create_linear(of_fwnode_handle(node), MAKE_HWIRQ(NR_BANKS, 0),
                        &armctrl_ops, NULL);
        if (!intc.domain)
                panic("%pOF: unable to create IRQ domain\n", node);
index e366257684b58d98ef6b927695b76d45e1e2fbc1..fafd1f71348ed1f8d22e65f161aa6d50f6bd45e1 100644 (file)
@@ -325,7 +325,7 @@ static int __init bcm2836_arm_irqchip_l1_intc_of_init(struct device_node *node,
 
        bcm2835_init_local_timer_frequency();
 
-       intc.domain = irq_domain_add_linear(node, LAST_IRQ + 1,
+       intc.domain = irq_domain_create_linear(of_fwnode_handle(node), LAST_IRQ + 1,
                                            &bcm2836_arm_irqchip_intc_ops,
                                            NULL);
        if (!intc.domain)
index 90daa274ef23950b87ca0d47d51c3283bbcfc6fb..ca4e141c5bc22be363bc33c5b26d8181388562b7 100644 (file)
@@ -316,7 +316,7 @@ static int __init bcm6345_l1_of_init(struct device_node *dn,
 
        raw_spin_lock_init(&intc->lock);
 
-       intc->domain = irq_domain_add_linear(dn, IRQS_PER_WORD * intc->n_words,
+       intc->domain = irq_domain_create_linear(of_fwnode_handle(dn), IRQS_PER_WORD * intc->n_words,
                                             &bcm6345_l1_domain_ops,
                                             intc);
        if (!intc->domain) {
index 36e71af054e9794248e4ea8a2b2efb77c6895e14..04fac0cc857fd0215aed41f49ccc64d52e943c68 100644 (file)
@@ -416,7 +416,7 @@ static int __init bcm7038_l1_of_init(struct device_node *dn,
                }
        }
 
-       intc->domain = irq_domain_add_linear(dn, IRQS_PER_WORD * intc->n_words,
+       intc->domain = irq_domain_create_linear(of_fwnode_handle(dn), IRQS_PER_WORD * intc->n_words,
                                             &bcm7038_l1_domain_ops,
                                             intc);
        if (!intc->domain) {
index 1e9dab6e0d86fe618064c5a58e7a66e09daa5a5f..8a7c088d20816c3280aa1499a5ebf5670f089543 100644 (file)
@@ -264,7 +264,7 @@ static int __init bcm7120_l2_intc_probe(struct device_node *dn,
                        goto out_free_l1_data;
        }
 
-       data->domain = irq_domain_add_linear(dn, IRQS_PER_WORD * data->n_words,
+       data->domain = irq_domain_create_linear(of_fwnode_handle(dn), IRQS_PER_WORD * data->n_words,
                                             &irq_generic_chip_ops, NULL);
        if (!data->domain) {
                ret = -ENOMEM;
index db4c9721fcf23db87561e38e010f0c351b1f3507..d15ca092742c93c8b8c8cbe976c8292fdb7fdde8 100644 (file)
@@ -182,7 +182,7 @@ static int __init brcmstb_l2_intc_of_init(struct device_node *np,
                goto out_unmap;
        }
 
-       data->domain = irq_domain_add_linear(np, 32,
+       data->domain = irq_domain_create_linear(of_fwnode_handle(np), 32,
                                &irq_generic_chip_ops, NULL);
        if (!data->domain) {
                ret = -ENOMEM;
index 48c73c948ddf4df4641b91f1cd91b16a837cd3a2..c4b73ba2323bd8ef303eefe4c45020ea5aff58c9 100644 (file)
@@ -184,8 +184,8 @@ static int __init _clps711x_intc_init(struct device_node *np,
        clps711x_intc->ops.map = clps711x_intc_irq_map;
        clps711x_intc->ops.xlate = irq_domain_xlate_onecell;
        clps711x_intc->domain =
-               irq_domain_add_legacy(np, ARRAY_SIZE(clps711x_irqs),
-                                     0, 0, &clps711x_intc->ops, NULL);
+               irq_domain_create_legacy(of_fwnode_handle(np), ARRAY_SIZE(clps711x_irqs), 0, 0,
+                                        &clps711x_intc->ops, NULL);
        if (!clps711x_intc->domain) {
                err = -ENOMEM;
                goto out_irqfree;
index a05a7501e10790760d39a4ca6a77d4e0f6d7bdec..66bb39e24a52170e1c8680f40c0b4fa990c7c41e 100644 (file)
@@ -351,10 +351,8 @@ static int __init irqcrossbar_init(struct device_node *node,
        if (err)
                return err;
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0,
-                                         cb->max_crossbar_sources,
-                                         node, &crossbar_domain_ops,
-                                         NULL);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, cb->max_crossbar_sources,
+                                            of_fwnode_handle(node), &crossbar_domain_ops, NULL);
        if (!domain) {
                pr_err("%pOF: failed to allocated domain\n", node);
                return -ENOMEM;
index 6710691e4c254d6a7f79f06f4da4b7a9b1764a73..a970f4806f31805816d951fec1bf291d96a193c1 100644 (file)
@@ -114,7 +114,7 @@ ck_intc_init_comm(struct device_node *node, struct device_node *parent)
                return -EINVAL;
        }
 
-       root_domain = irq_domain_add_linear(node, nr_irq,
+       root_domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irq,
                                            &irq_generic_chip_ops, NULL);
        if (!root_domain) {
                pr_err("C-SKY Intc irq_domain_add failed.\n");
index 4aebd67d4f8f664dc00a9300f78f21924662edee..1d1f5091f26f5611f0fbc0c7c1ed963b34f17412 100644 (file)
@@ -255,7 +255,7 @@ csky_mpintc_init(struct device_node *node, struct device_node *parent)
                writel_relaxed(BIT(0), INTCG_base + INTCG_ICTLR);
        }
 
-       root_domain = irq_domain_add_linear(node, nr_irq, &csky_irqdomain_ops,
+       root_domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irq, &csky_irqdomain_ops,
                                            NULL);
        if (!root_domain)
                return -ENXIO;
index d7948c55f542288a71cd8d16e83767a91e9511a3..00cdcc90f614ecc31f8c79edbacb94449ddface9 100644 (file)
@@ -204,8 +204,10 @@ static int __init davinci_cp_intc_do_init(struct resource *res, unsigned int num
                return irq_base;
        }
 
-       davinci_cp_intc_irq_domain = irq_domain_add_legacy(node, num_irqs, irq_base, 0,
-                                                          &davinci_cp_intc_irq_domain_ops, NULL);
+       davinci_cp_intc_irq_domain = irq_domain_create_legacy(of_fwnode_handle(node), num_irqs,
+                                                             irq_base, 0,
+                                                             &davinci_cp_intc_irq_domain_ops,
+                                                             NULL);
 
        if (!davinci_cp_intc_irq_domain) {
                pr_err("%s: unable to create an interrupt domain\n", __func__);
index 3b0d78aac13b35544f46a870767f6ceed0aad8a5..eb5a8de82751c51116e8114000fd1816645a5a1b 100644 (file)
@@ -95,7 +95,7 @@ static int __init digicolor_of_init(struct device_node *node,
        regmap_write(ucregs, UC_IRQ_CONTROL, 1);
 
        digicolor_irq_domain =
-               irq_domain_add_linear(node, 64, &irq_generic_chip_ops, NULL);
+               irq_domain_create_linear(of_fwnode_handle(node), 64, &irq_generic_chip_ops, NULL);
        if (!digicolor_irq_domain) {
                pr_err("%pOF: unable to create IRQ domain\n", node);
                return -ENOMEM;
index d5c1c750c8d2d5a08653694798ec411cee035a3c..c8a6d62ccb47e7790e6966bc09adf2aa6f159528 100644 (file)
@@ -173,7 +173,7 @@ static int __init dw_apb_ictl_init(struct device_node *np,
        else
                nrirqs = fls(readl_relaxed(iobase + APB_INT_ENABLE_L));
 
-       domain = irq_domain_add_linear(np, nrirqs, domain_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(np), nrirqs, domain_ops, NULL);
        if (!domain) {
                pr_err("%pOF: unable to add irq domain\n", np);
                ret = -ENOMEM;
index b91c358ea6db17e6a3e5a64296c9bfd696bde459..a59a66d79da6e1e1e45fd9b60bce642b3ed74885 100644 (file)
@@ -180,8 +180,9 @@ 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));
 
-       f->domain = irq_domain_add_simple(node, FT010_NUM_IRQS, 0,
-                                         &ft010_irqdomain_ops, f);
+       f->domain = irq_domain_create_simple(of_fwnode_handle(node),
+                                            FT010_NUM_IRQS, 0,
+                                            &ft010_irqdomain_ops, f);
        set_handle_irq(ft010_irqchip_handle_irq);
 
        return 0;
index 513f6edbbe953b254b02bb8ca724f970ab5eba41..a8b23b507ecd7fc89a3a3b6847dfe3818dc1e6c0 100644 (file)
@@ -101,10 +101,9 @@ static int __init goldfish_pic_of_init(struct device_node *of_node,
        irq_setup_generic_chip(gc, IRQ_MSK(GFPIC_NR_IRQS), 0,
                               IRQ_NOPROBE | IRQ_LEVEL, 0);
 
-       gfpic->irq_domain = irq_domain_add_legacy(of_node, GFPIC_NR_IRQS,
-                                                 GFPIC_IRQ_BASE, 0,
-                                                 &goldfish_irq_domain_ops,
-                                                 NULL);
+       gfpic->irq_domain = irq_domain_create_legacy(of_fwnode_handle(of_node), GFPIC_NR_IRQS,
+                                                    GFPIC_IRQ_BASE, 0, &goldfish_irq_domain_ops,
+                                                    NULL);
        if (!gfpic->irq_domain) {
                pr_err("Failed to add irqdomain!\n");
                ret = -ENOMEM;
index 31c3f70a5d5e1b8a6c91acb661e6bc5e506a051e..b7958c5a1221c2e4139f22f8f175b92d1f6375ca 100644 (file)
@@ -386,10 +386,8 @@ hip04_of_init(struct device_node *node, struct device_node *parent)
                return -EINVAL;
        }
 
-       hip04_data.domain = irq_domain_add_legacy(node, nr_irqs, irq_base,
-                                                 0,
-                                                 &hip04_irq_domain_ops,
-                                                 &hip04_data);
+       hip04_data.domain = irq_domain_create_legacy(of_fwnode_handle(node), nr_irqs, irq_base, 0,
+                                                    &hip04_irq_domain_ops, &hip04_data);
        if (WARN_ON(!hip04_data.domain))
                return -EINVAL;
 
index 115bdcffab24804fb41a130de09a9f744ca0bfa9..91b2f587119ce1d4d9b72655e2e667d99295f448 100644 (file)
@@ -313,8 +313,8 @@ struct irq_domain * __init __init_i8259_irqs(struct device_node *node)
 
        init_8259A(0);
 
-       domain = irq_domain_add_legacy(node, 16, I8259A_IRQ_BASE, 0,
-                                      &i8259A_ops, NULL);
+       domain = irq_domain_create_legacy(of_fwnode_handle(node), 16, I8259A_IRQ_BASE, 0,
+                                         &i8259A_ops, NULL);
        if (!domain)
                panic("Failed to add i8259 IRQ domain");
 
index 0732a0e9af629cdedb436ea0e9a62017bac91822..f8324fb1fe8f5b6475eb7041b2e7f04777042b03 100644 (file)
@@ -72,7 +72,7 @@ static int idt_pic_init(struct device_node *of_node, struct device_node *parent)
                goto out_unmap_irq;
        }
 
-       domain = irq_domain_add_linear(of_node, IDT_PIC_NR_IRQS,
+       domain = irq_domain_create_linear(of_fwnode_handle(of_node), IDT_PIC_NR_IRQS,
                                       &irq_generic_chip_ops, NULL);
        if (!domain) {
                pr_err("Failed to add irqdomain!\n");
index 85f80bac096159c8de66db9776dab79b740c8745..f0410d5d7315d82eea7ab083b02e28baba1039cb 100644 (file)
@@ -372,7 +372,7 @@ static int pdc_intc_probe(struct platform_device *pdev)
        priv->syswake_irq = irq;
 
        /* Set up an IRQ domain */
-       priv->domain = irq_domain_add_linear(node, 16, &irq_generic_chip_ops,
+       priv->domain = irq_domain_create_linear(of_fwnode_handle(node), 16, &irq_generic_chip_ops,
                                             priv);
        if (unlikely(!priv->domain)) {
                dev_err(&pdev->dev, "cannot add IRQ domain\n");
index 095ae8e3217e51a337f9ae2f67aedd83d5c86293..b91f5c14b405758340ee6ef08b417a743ffec009 100644 (file)
@@ -240,8 +240,8 @@ static int __init imx_gpcv2_irqchip_init(struct device_node *node,
                return -ENOMEM;
        }
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0, GPC_MAX_IRQS,
-                               node, &gpcv2_irqchip_data_domain_ops, cd);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, GPC_MAX_IRQS,
+                               of_fwnode_handle(node), &gpcv2_irqchip_data_domain_ops, cd);
        if (!domain) {
                iounmap(cd->gpc_base);
                kfree(cd);
index 787543d07565be3a97c22aeedbe0557ce470ad6c..5f9b204d350b2be3dda64787fb9c076e314cfe56 100644 (file)
@@ -254,7 +254,7 @@ static int imx_intmux_probe(struct platform_device *pdev)
                        goto out;
                }
 
-               domain = irq_domain_add_linear(np, 32, &imx_intmux_domain_ops,
+               domain = irq_domain_create_linear(of_fwnode_handle(np), 32, &imx_intmux_domain_ops,
                                               &data->irqchip_data[i]);
                if (!domain) {
                        ret = -ENOMEM;
index afbfcce3b1e3bb750308cc582b1550786bb4b7e0..6dc9ac48fee555fd501f9e272ea499fd40c18678 100644 (file)
@@ -212,7 +212,7 @@ static int imx_irqsteer_probe(struct platform_device *pdev)
        /* steer all IRQs into configured channel */
        writel_relaxed(BIT(data->channel), data->regs + CHANCTRL);
 
-       data->domain = irq_domain_add_linear(np, data->reg_num * 32,
+       data->domain = irq_domain_create_linear(of_fwnode_handle(np), data->reg_num * 32,
                                             &imx_irqsteer_domain_ops, data);
        if (!data->domain) {
                dev_err(&pdev->dev, "failed to create IRQ domain\n");
index 3363f83bd7e928ab7d2c9adae37fd38753c32160..e43ff8935b826b320eb910f24ae4398f9e57121f 100644 (file)
@@ -114,8 +114,8 @@ static int __init ingenic_tcu_irq_init(struct device_node *np,
 
        tcu->nb_parent_irqs = irqs;
 
-       tcu->domain = irq_domain_add_linear(np, 32, &irq_generic_chip_ops,
-                                           NULL);
+       tcu->domain = irq_domain_create_linear(of_fwnode_handle(np), 32, &irq_generic_chip_ops,
+                                              NULL);
        if (!tcu->domain) {
                ret = -ENOMEM;
                goto err_free_tcu;
index cee839ca627ee5ece3b354a8aaed53951204c22c..52393724f21399bb1e60404372dd59272732be6a 100644 (file)
@@ -90,8 +90,8 @@ static int __init ingenic_intc_of_init(struct device_node *node,
                goto out_unmap_irq;
        }
 
-       domain = irq_domain_add_linear(node, num_chips * 32,
-                                      &irq_generic_chip_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(node), num_chips * 32,
+                                         &irq_generic_chip_ops, NULL);
        if (!domain) {
                err = -ENOMEM;
                goto out_unmap_base;
index 1f613eb7b7f0345ddd325176c4b279a329a960a5..94c05cf974be877dbd1b5186ac4f7886ddbcbd58 100644 (file)
@@ -107,9 +107,8 @@ static int __init aic_irq_of_init(struct device_node *node,
        if (ret < 0)
                return ret;
 
-       domain = irq_domain_add_legacy(node, dom_sz - min_irq, min_irq, min_irq,
-                                      &jcore_aic_irqdomain_ops,
-                                      &jcore_aic);
+       domain = irq_domain_create_legacy(of_fwnode_handle(node), dom_sz - min_irq, min_irq,
+                                         min_irq, &jcore_aic_irqdomain_ops, &jcore_aic);
        if (!domain)
                return -ENOMEM;
 
index 37e1a03fcbb4597f1f2cb2484684947150147499..c9e902b7bf488b932533b6ee0475faa0900bdecf 100644 (file)
@@ -157,8 +157,8 @@ static int keystone_irq_probe(struct platform_device *pdev)
        kirq->chip.irq_mask     = keystone_irq_setmask;
        kirq->chip.irq_unmask   = keystone_irq_unmask;
 
-       kirq->irqd = irq_domain_add_linear(np, KEYSTONE_N_IRQ,
-                                          &keystone_irq_ops, kirq);
+       kirq->irqd = irq_domain_create_linear(of_fwnode_handle(np), KEYSTONE_N_IRQ,
+                                             &keystone_irq_ops, kirq);
        if (!kirq->irqd) {
                dev_err(dev, "IRQ domain registration failed\n");
                return -ENODEV;
index 4d70a857133f4c6f605863835a6b2d046247a21d..14cca44baa14e6052e9e33e2765561f2998fa040 100644 (file)
@@ -210,8 +210,8 @@ static int __init lpc32xx_of_ic_init(struct device_node *node,
                return -EINVAL;
        }
 
-       irqc->domain = irq_domain_add_linear(node, NR_LPC32XX_IC_IRQS,
-                                            &lpc32xx_irq_domain_ops, irqc);
+       irqc->domain = irq_domain_create_linear(of_fwnode_handle(node), NR_LPC32XX_IC_IRQS,
+                                               &lpc32xx_irq_domain_ops, irqc);
        if (!irqc->domain) {
                pr_err("unable to add irq domain\n");
                iounmap(irqc->base);
index 139f26b0a6ef847c0ab8cafd8dd2cc0038df626f..50a7b38381b9869a064b12b6106bed928cb3d779 100644 (file)
@@ -208,8 +208,8 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
                                      of_device_is_compatible(node, "fsl,ls1043a-extirq");
        raw_spin_lock_init(&priv->lock);
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0, priv->nirq, node,
-                                         &extirq_domain_ops, priv);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, priv->nirq, of_fwnode_handle(node),
+                                            &extirq_domain_ops, priv);
        if (!domain) {
                ret = -ENOMEM;
                goto err_add_hierarchy;
index cbe11a8afe4fd487234f3f3411c33b5c8e9a32f6..84bc5e4b47cf56a42ae80a2d32fbcea82b368442 100644 (file)
@@ -215,10 +215,10 @@ static void ls_scfg_msi_irq_handler(struct irq_desc *desc)
 static int ls_scfg_msi_domains_init(struct ls_scfg_msi *msi_data)
 {
        /* Initialize MSI domain parent */
-       msi_data->parent = irq_domain_add_linear(NULL,
-                                                msi_data->irqs_num,
-                                                &ls_scfg_msi_domain_ops,
-                                                msi_data);
+       msi_data->parent = irq_domain_create_linear(NULL,
+                                                   msi_data->irqs_num,
+                                                   &ls_scfg_msi_domain_ops,
+                                                   msi_data);
        if (!msi_data->parent) {
                dev_err(&msi_data->pdev->dev, "failed to create IRQ domain\n");
                return -ENOMEM;
index 77a3f7dfaaf064b4dc0648b56de4eac9662f814a..589d32007fcab5ef5ce625be21c52337e312635f 100644 (file)
@@ -126,8 +126,8 @@ static int __init ls1x_intc_of_init(struct device_node *node,
        }
 
        /* Set up an IRQ domain */
-       priv->domain = irq_domain_add_linear(node, 32, &irq_generic_chip_ops,
-                                            NULL);
+       priv->domain = irq_domain_create_linear(of_fwnode_handle(node), 32, &irq_generic_chip_ops,
+                                               NULL);
        if (!priv->domain) {
                pr_err("ls1x-irq: cannot add IRQ domain\n");
                err = -ENOMEM;
index 5dcd94c000a26a586c9a6a308f76380544701f59..516a3a0e359cc30cc39d903d6e60c0cf99981778 100644 (file)
@@ -248,8 +248,9 @@ static int mchp_eic_init(struct device_node *node, struct device_node *parent)
                eic->irqs[i] = irq.args[1];
        }
 
-       eic->domain = irq_domain_add_hierarchy(parent_domain, 0, MCHP_EIC_NIRQ,
-                                              node, &mchp_eic_domain_ops, eic);
+       eic->domain = irq_domain_create_hierarchy(parent_domain, 0, MCHP_EIC_NIRQ,
+                                                 of_fwnode_handle(node), &mchp_eic_domain_ops,
+                                                 eic);
        if (!eic->domain) {
                pr_err("%pOF: Failed to add domain\n", node);
                ret = -ENODEV;
index 0c7ae71a0af00512898af68cc36d827a8ee6c637..ac784ef3ed4b81968ae2d71687fe961f4fd69ed0 100644 (file)
@@ -238,11 +238,9 @@ static void mips_cpu_register_ipi_domain(struct device_node *of_node)
        struct cpu_ipi_domain_state *ipi_domain_state;
 
        ipi_domain_state = kzalloc(sizeof(*ipi_domain_state), GFP_KERNEL);
-       ipi_domain = irq_domain_add_hierarchy(irq_domain,
-                                             IRQ_DOMAIN_FLAG_IPI_SINGLE,
-                                             2, of_node,
-                                             &mips_cpu_ipi_chip_ops,
-                                             ipi_domain_state);
+       ipi_domain = irq_domain_create_hierarchy(irq_domain, IRQ_DOMAIN_FLAG_IPI_SINGLE, 2,
+                                                of_fwnode_handle(of_node),
+                                                &mips_cpu_ipi_chip_ops, ipi_domain_state);
        if (!ipi_domain)
                panic("Failed to add MIPS CPU IPI domain");
        irq_domain_update_bus_token(ipi_domain, DOMAIN_BUS_IPI);
@@ -260,9 +258,8 @@ static void __init __mips_cpu_irq_init(struct device_node *of_node)
        clear_c0_status(ST0_IM);
        clear_c0_cause(CAUSEF_IP);
 
-       irq_domain = irq_domain_add_legacy(of_node, 8, MIPS_CPU_IRQ_BASE, 0,
-                                          &mips_cpu_intc_irq_domain_ops,
-                                          NULL);
+       irq_domain = irq_domain_create_legacy(of_fwnode_handle(of_node), 8, MIPS_CPU_IRQ_BASE, 0,
+                                             &mips_cpu_intc_irq_domain_ops, NULL);
        if (!irq_domain)
                panic("Failed to add irqdomain for MIPS CPU");
 
index bca8053864b2ce4f8cffd2e0538a05f781b8ed1c..34e8d09c12a0b2a9936ef4d4fb0acd319d7570dd 100644 (file)
@@ -841,10 +841,10 @@ static int gic_register_ipi_domain(struct device_node *node)
        struct irq_domain *gic_ipi_domain;
        unsigned int v[2], num_ipis;
 
-       gic_ipi_domain = irq_domain_add_hierarchy(gic_irq_domain,
-                                                 IRQ_DOMAIN_FLAG_IPI_PER_CPU,
-                                                 GIC_NUM_LOCAL_INTRS + gic_shared_intrs,
-                                                 node, &gic_ipi_domain_ops, NULL);
+       gic_ipi_domain = irq_domain_create_hierarchy(gic_irq_domain, IRQ_DOMAIN_FLAG_IPI_PER_CPU,
+                                                    GIC_NUM_LOCAL_INTRS + gic_shared_intrs,
+                                                    of_fwnode_handle(node), &gic_ipi_domain_ops,
+                                                    NULL);
        if (!gic_ipi_domain) {
                pr_err("Failed to add IPI domain");
                return -ENXIO;
@@ -963,9 +963,10 @@ static int __init gic_of_init(struct device_node *node,
                                        gic_irq_dispatch);
        }
 
-       gic_irq_domain = irq_domain_add_simple(node, GIC_NUM_LOCAL_INTRS +
-                                              gic_shared_intrs, 0,
-                                              &gic_irq_domain_ops, NULL);
+       gic_irq_domain = irq_domain_create_simple(of_fwnode_handle(node),
+                                                 GIC_NUM_LOCAL_INTRS +
+                                                 gic_shared_intrs, 0,
+                                                 &gic_irq_domain_ops, NULL);
        if (!gic_irq_domain) {
                pr_err("Failed to add IRQ domain");
                return -ENXIO;
index 25cf4f80e767e68fac0ba6dd00f886c6ee819ddb..09e640430208cb98521fc98405aad92369a60f04 100644 (file)
@@ -261,9 +261,9 @@ static int __init mmp_init_bases(struct device_node *node)
        }
 
        icu_data[0].virq_base = 0;
-       icu_data[0].domain = irq_domain_add_linear(node, nr_irqs,
-                                                  &mmp_irq_domain_ops,
-                                                  &icu_data[0]);
+       icu_data[0].domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs,
+                                                     &mmp_irq_domain_ops,
+                                                     &icu_data[0]);
        for (irq = 0; irq < nr_irqs; irq++) {
                ret = irq_create_mapping(icu_data[0].domain, irq);
                if (!ret) {
@@ -391,9 +391,9 @@ static int __init mmp2_mux_of_init(struct device_node *node,
                return -EINVAL;
 
        icu_data[i].virq_base = 0;
-       icu_data[i].domain = irq_domain_add_linear(node, nr_irqs,
-                                                  &mmp_irq_domain_ops,
-                                                  &icu_data[i]);
+       icu_data[i].domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs,
+                                                     &mmp_irq_domain_ops,
+                                                     &icu_data[i]);
        for (irq = 0; irq < nr_irqs; irq++) {
                ret = irq_create_mapping(icu_data[i].domain, irq);
                if (!ret) {
index 3dc745b14cafaceaf40b44d6aef61a995c7637aa..7b3020f480d5433fcf3c0ba22c188a6a5155b151 100644 (file)
@@ -132,8 +132,8 @@ static int __init vcoreiii_irq_init(struct device_node *node,
        if (!parent_irq)
                return -EINVAL;
 
-       domain = irq_domain_add_linear(node, p->n_irq,
-                                      &irq_generic_chip_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(node), p->n_irq,
+                                         &irq_generic_chip_ops, NULL);
        if (!domain) {
                pr_err("%pOFn: unable to add irq domain\n", node);
                return -ENOMEM;
index f6133ae28155667f064cecc1b108168d2d63fd3a..9643cc3a77d77c5e1ad42bb022f21e3fabe9de7f 100644 (file)
@@ -273,8 +273,8 @@ static int __init mst_intc_of_init(struct device_node *dn,
        raw_spin_lock_init(&cd->lock);
        cd->irq_start = irq_start;
        cd->nr_irqs = irq_end - irq_start + 1;
-       domain = irq_domain_add_hierarchy(domain_parent, 0, cd->nr_irqs, dn,
-                                         &mst_intc_domain_ops, cd);
+       domain = irq_domain_create_hierarchy(domain_parent, 0, cd->nr_irqs, of_fwnode_handle(dn),
+                                            &mst_intc_domain_ops, cd);
        if (!domain) {
                iounmap(cd->base);
                kfree(cd);
index 76bc0283e3b963798424deb960c8ccd5d52e068a..de481ba340f83eca0f1eb6ad14a238a6d51e2187 100644 (file)
@@ -336,9 +336,8 @@ static int __init mtk_cirq_of_init(struct device_node *node,
        cirq_data->offsets = match->data;
 
        irq_num = cirq_data->ext_irq_end - cirq_data->ext_irq_start + 1;
-       domain = irq_domain_add_hierarchy(domain_parent, 0,
-                                         irq_num, node,
-                                         &cirq_domain_ops, cirq_data);
+       domain = irq_domain_create_hierarchy(domain_parent, 0, irq_num, of_fwnode_handle(node),
+                                            &cirq_domain_ops, cirq_data);
        if (!domain) {
                ret = -ENOMEM;
                goto out_unmap;
index 586e52d5442b56d11a25b5297e465fade740b8e7..6895e7096b27016965f8b7d633a39c98e4bb2135 100644 (file)
@@ -207,8 +207,8 @@ static int __init mtk_sysirq_of_init(struct device_node *node,
                chip_data->which_word[i] = word;
        }
 
-       domain = irq_domain_add_hierarchy(domain_parent, 0, intpol_num, node,
-                                         &sysirq_domain_ops, chip_data);
+       domain = irq_domain_create_hierarchy(domain_parent, 0, intpol_num, of_fwnode_handle(node),
+                                            &sysirq_domain_ops, chip_data);
        if (!domain) {
                ret = -ENOMEM;
                goto out_free_which_word;
index 3888b7585981466ca4059c5ceb5d7e269b08ad28..8db638aa21d24ec10993b9e86d00f12184a47375 100644 (file)
@@ -150,8 +150,8 @@ static int mvebu_pic_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       pic->domain = irq_domain_add_linear(node, PIC_MAX_IRQS,
-                                           &mvebu_pic_domain_ops, pic);
+       pic->domain = irq_domain_create_linear(of_fwnode_handle(node), PIC_MAX_IRQS,
+                                              &mvebu_pic_domain_ops, pic);
        if (!pic->domain) {
                dev_err(&pdev->dev, "Failed to allocate irq domain\n");
                return -ENOMEM;
index d67b5da389820d57bc3799fad24fff58780657b0..0bb423dd5280a166c24c12a8c0a844edfb3522d3 100644 (file)
@@ -162,8 +162,8 @@ static const struct irq_domain_ops icoll_irq_domain_ops = {
 static void __init icoll_add_domain(struct device_node *np,
                          int num)
 {
-       icoll_domain = irq_domain_add_linear(np, num,
-                                            &icoll_irq_domain_ops, NULL);
+       icoll_domain = irq_domain_create_linear(of_fwnode_handle(np), num,
+                                               &icoll_irq_domain_ops, NULL);
 
        if (!icoll_domain)
                panic("%pOF: unable to create irq domain", np);
index ba6332b00a0aeef6a13fef7ff5f048fd48dd8fc3..76e11cac96318c43441c6d3df8ba862be6de3ea3 100644 (file)
@@ -90,7 +90,7 @@ static int __init nvic_of_init(struct device_node *node,
                irqs = NVIC_MAX_IRQ;
 
        nvic_irq_domain =
-               irq_domain_add_linear(node, irqs, &nvic_irq_domain_ops, NULL);
+               irq_domain_create_linear(of_fwnode_handle(node), irqs, &nvic_irq_domain_ops, NULL);
 
        if (!nvic_irq_domain) {
                pr_warn("Failed to allocate irq domain\n");
index ad84a2f03368aace3c80e6e926c2ff034600bd88..16f00db570e79336ff6f5837adcad5c24a3eb5ef 100644 (file)
@@ -248,7 +248,7 @@ static int __init omap_init_irq_of(struct device_node *node)
        if (WARN_ON(!omap_irq_base))
                return -ENOMEM;
 
-       domain = irq_domain_add_linear(node, omap_nr_irqs,
+       domain = irq_domain_create_linear(of_fwnode_handle(node), omap_nr_irqs,
                        &irq_generic_chip_ops, NULL);
 
        omap_irq_soft_reset();
@@ -274,7 +274,7 @@ static int __init omap_init_irq_legacy(u32 base, struct device_node *node)
                irq_base = 0;
        }
 
-       domain = irq_domain_add_legacy(node, omap_nr_irqs, irq_base, 0,
+       domain = irq_domain_create_legacy(of_fwnode_handle(node), omap_nr_irqs, irq_base, 0,
                        &irq_domain_simple_ops, NULL);
 
        omap_irq_soft_reset();
index f289ccd952914e1e2b1fa64f0ee83fb5c65722a5..48126067c54b5fe7709bb8427561790be516eaea 100644 (file)
@@ -144,8 +144,8 @@ static int __init or1k_pic_init(struct device_node *node,
        /* Disable all interrupts until explicitly requested */
        mtspr(SPR_PICMR, (0UL));
 
-       root_domain = irq_domain_add_linear(node, 32, &or1k_irq_domain_ops,
-                                           pic);
+       root_domain = irq_domain_create_linear(of_fwnode_handle(node), 32, &or1k_irq_domain_ops,
+                                              pic);
 
        set_handle_irq(or1k_pic_handle_irq);
 
index 4e4e874e09a88db9efc265c55cec2d68381486d1..dddbc05917c0c282303c3cdf4ac3f5a4b0e0a82c 100644 (file)
@@ -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 = of_address_count(np);
 
-       orion_irq_domain = irq_domain_add_linear(np,
+       orion_irq_domain = irq_domain_create_linear(of_fwnode_handle(np),
                                num_chips * ORION_IRQS_PER_CHIP,
                                &irq_generic_chip_ops, NULL);
        if (!orion_irq_domain)
@@ -146,8 +146,8 @@ static int __init orion_bridge_irq_init(struct device_node *np,
        /* get optional number of interrupts provided */
        of_property_read_u32(np, "marvell,#interrupts", &nrirqs);
 
-       domain = irq_domain_add_linear(np, nrirqs,
-                                      &irq_generic_chip_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(np), nrirqs,
+                                         &irq_generic_chip_ops, NULL);
        if (!domain) {
                pr_err("%pOFn: unable to add irq domain\n", np);
                return -ENOMEM;
index 6e4127465094f4a0595077b8bb9f93789ddc2c1f..3d93d21f6732a3af08ce2f04bf16deca30bb2570 100644 (file)
@@ -323,8 +323,8 @@ static int __init owl_sirq_init(const struct owl_sirq_params *params,
                owl_sirq_clear_set_extctl(chip_data, 0, INTC_EXTCTL_CLK_SEL, i);
        }
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0, NUM_SIRQ, node,
-                                         &owl_sirq_domain_ops, chip_data);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, NUM_SIRQ, of_fwnode_handle(node),
+                                            &owl_sirq_domain_ops, chip_data);
        if (!domain) {
                pr_err("%pOF: failed to add domain\n", node);
                ret = -ENOMEM;
index b546b1036e1244ed391fe14fc34a42996ac2a2c0..5dfda8e8df10d282760c947775bcde96011b573f 100644 (file)
@@ -227,9 +227,9 @@ static int __init pic32_of_init(struct device_node *node,
                goto err_iounmap;
        }
 
-       evic_irq_domain = irq_domain_add_linear(node, nchips * 32,
-                                               &pic32_irq_domain_ops,
-                                               priv);
+       evic_irq_domain = irq_domain_create_linear(of_fwnode_handle(node), nchips * 32,
+                                                  &pic32_irq_domain_ops,
+                                                  priv);
        if (!evic_irq_domain) {
                ret = -ENOMEM;
                goto err_free_priv;
index bee01980b4630c2c4ac03be4c65f91fe084fd4af..8f7c9dc459532d34d3a833fd6d16df353f4b455f 100644 (file)
@@ -555,8 +555,8 @@ static int pruss_intc_probe(struct platform_device *pdev)
 
        mutex_init(&intc->lock);
 
-       intc->domain = irq_domain_add_linear(dev->of_node, max_system_events,
-                                            &pruss_intc_irq_domain_ops, intc);
+       intc->domain = irq_domain_create_linear(of_fwnode_handle(dev->of_node), max_system_events,
+                                               &pruss_intc_irq_domain_ops, intc);
        if (!intc->domain)
                return -ENOMEM;
 
index 2a349082af81d7685cce1dd0ee086b1e85c25e3e..942c1f8c363d7b20698eb5f90bd7148ceff68ae5 100644 (file)
@@ -162,7 +162,7 @@ static int __init realtek_rtl_of_init(struct device_node *node, struct device_no
        else if (!parent_irq)
                return -ENODEV;
 
-       domain = irq_domain_add_linear(node, RTL_ICTL_NUM_INPUTS, &irq_domain_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(node), RTL_ICTL_NUM_INPUTS, &irq_domain_ops, NULL);
        if (!domain)
                return -ENOMEM;
 
index 954419f2460d1180b2484a337539d9c53e4aeaba..0959ed43b1a9a87d24d1f494003f18a4c5a87235 100644 (file)
@@ -513,8 +513,10 @@ static int intc_irqpin_probe(struct platform_device *pdev)
        irq_chip->irq_set_wake = intc_irqpin_irq_set_wake;
        irq_chip->flags = IRQCHIP_MASK_ON_SUSPEND;
 
-       p->irq_domain = irq_domain_add_simple(dev->of_node, nirqs, 0,
-                                             &intc_irqpin_irq_domain_ops, p);
+       p->irq_domain = irq_domain_create_simple(of_fwnode_handle(dev->of_node),
+                                                nirqs, 0,
+                                                &intc_irqpin_irq_domain_ops,
+                                                p);
        if (!p->irq_domain) {
                ret = -ENXIO;
                dev_err(dev, "cannot initialize irq domain\n");
index cbce8ffc7de4aae0721bc9cea18766d072a8ddb4..5c3196e5a4374480269870e3f68f6afc17db1537 100644 (file)
@@ -168,8 +168,8 @@ static int irqc_probe(struct platform_device *pdev)
 
        p->cpu_int_base = p->iomem + IRQC_INT_CPU_BASE(0); /* SYS-SPI */
 
-       p->irq_domain = irq_domain_add_linear(dev->of_node, p->number_of_irqs,
-                                             &irq_generic_chip_ops, p);
+       p->irq_domain = irq_domain_create_linear(of_fwnode_handle(dev->of_node), p->number_of_irqs,
+                                                &irq_generic_chip_ops, p);
        if (!p->irq_domain) {
                ret = -ENXIO;
                dev_err(dev, "cannot initialize irq domain\n");
index d4e6a68889ec1c02d3d6729f499064b4fba51d29..0a9640ba0adb41637d2862537b79569ba2671e55 100644 (file)
@@ -231,9 +231,9 @@ static int rza1_irqc_probe(struct platform_device *pdev)
        priv->chip.irq_set_type = rza1_irqc_set_type;
        priv->chip.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE;
 
-       priv->irq_domain = irq_domain_add_hierarchy(parent, 0, IRQC_NUM_IRQ,
-                                                   np, &rza1_irqc_domain_ops,
-                                                   priv);
+       priv->irq_domain = irq_domain_create_hierarchy(parent, 0, IRQC_NUM_IRQ,
+                                                      of_fwnode_handle(np), &rza1_irqc_domain_ops,
+                                                      priv);
        if (!priv->irq_domain) {
                dev_err(dev, "cannot initialize irq domain\n");
                ret = -ENOMEM;
index 6a2e41f024464339505dd0deb80cedab3b91f9d8..1e861bd64f970d07500672a399375609cdb436d5 100644 (file)
@@ -574,9 +574,9 @@ static int rzg2l_irqc_common_init(struct device_node *node, struct device_node *
 
        raw_spin_lock_init(&rzg2l_irqc_data->lock);
 
-       irq_domain = irq_domain_add_hierarchy(parent_domain, 0, IRQC_NUM_IRQ,
-                                             node, &rzg2l_irqc_domain_ops,
-                                             rzg2l_irqc_data);
+       irq_domain = irq_domain_create_hierarchy(parent_domain, 0, IRQC_NUM_IRQ,
+                                                of_fwnode_handle(node), &rzg2l_irqc_domain_ops,
+                                                rzg2l_irqc_data);
        if (!irq_domain) {
                pm_runtime_put(dev);
                return dev_err_probe(dev, -ENOMEM, "failed to add irq domain\n");
index 3d5b5fdf9bde823cc4942961890a009c26e356b1..7a61d454a1a51a81f09352943a58930630d79018 100644 (file)
@@ -514,8 +514,9 @@ static int rzv2h_icu_init_common(struct device_node *node, struct device_node *p
 
        raw_spin_lock_init(&rzv2h_icu_data->lock);
 
-       irq_domain = irq_domain_add_hierarchy(parent_domain, 0, ICU_NUM_IRQ, node,
-                                             &rzv2h_icu_domain_ops, rzv2h_icu_data);
+       irq_domain = irq_domain_create_hierarchy(parent_domain, 0, ICU_NUM_IRQ,
+                                                of_fwnode_handle(node), &rzv2h_icu_domain_ops,
+                                                rzv2h_icu_data);
        if (!irq_domain) {
                dev_err(&pdev->dev, "failed to add irq domain\n");
                ret = -ENOMEM;
index 9d0b80271949d3315ec6e1fa228e5242d1c55962..d8d4dff16276b96711793015725c0d014be75c39 100644 (file)
@@ -162,7 +162,7 @@ void __init sa11x0_init_irq_nodt(int irq_start, resource_size_t io_start)
         */
        writel_relaxed(1, iobase + ICCR);
 
-       sa1100_normal_irqdomain = irq_domain_add_simple(NULL,
+       sa1100_normal_irqdomain = irq_domain_create_simple(NULL,
                        32, irq_start,
                        &sa1100_normal_irqdomain_ops, NULL);
 
index 7d10bf6e582437af347df216a7468e838f15dccb..0cad68aa83889ba5efec8351aa845d9d882af22e 100644 (file)
@@ -253,8 +253,8 @@ static int __init exiu_dt_init(struct device_node *node,
        if (IS_ERR(data))
                return PTR_ERR(data);
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0, NUM_IRQS, node,
-                                         &exiu_domain_ops, data);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, NUM_IRQS, of_fwnode_handle(node),
+                                            &exiu_domain_ops, data);
        if (!domain) {
                pr_err("%pOF: failed to allocate domain\n", node);
                goto out_unmap;
index bed78d1def3d098ebc0112fd03fb2ff7d6a3ccc1..2a6eda9ab62e8deb6e51f4053a2ba5f89e23e1a2 100644 (file)
@@ -256,8 +256,8 @@ static int __init sp_intc_init_dt(struct device_node *node, struct device_node *
                writel_relaxed(~0, REG_INTR_CLEAR + i * 4);
        }
 
-       sp_intc.domain = irq_domain_add_linear(node, SP_INTC_NR_IRQS,
-                                              &sp_intc_dm_ops, &sp_intc);
+       sp_intc.domain = irq_domain_create_linear(of_fwnode_handle(node), SP_INTC_NR_IRQS,
+                                                 &sp_intc_dm_ops, &sp_intc);
        if (!sp_intc.domain) {
                ret = -ENOMEM;
                goto out_unmap1;
index 0f5837176e53f855ccd24b5eb8c1142e9b1dbe35..2460798ec158b649ca41da3beec5b9d5b96ef257 100644 (file)
@@ -158,8 +158,8 @@ static int __init starfive_intc_init(struct device_node *intc,
 
        raw_spin_lock_init(&irqc->lock);
 
-       irqc->domain = irq_domain_add_linear(intc, STARFIVE_INTC_SRC_IRQ_NUM,
-                                            &starfive_intc_domain_ops, irqc);
+       irqc->domain = irq_domain_create_linear(of_fwnode_handle(intc), STARFIVE_INTC_SRC_IRQ_NUM,
+                                               &starfive_intc_domain_ops, irqc);
        if (!irqc->domain) {
                pr_err("Unable to create IRQ domain\n");
                ret = -EINVAL;
index 7c6a0080c330319ab228f4dfa45e68ed9f9a61b0..7cd34f9b0269164913c0db3d93f2d1c99713e2ae 100644 (file)
@@ -344,8 +344,8 @@ static int __init stm32_exti_init(const struct stm32_exti_drv_data *drv_data,
        if (!host_data)
                return -ENOMEM;
 
-       domain = irq_domain_add_linear(node, drv_data->bank_nr * IRQS_PER_BANK,
-                                      &irq_exti_domain_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(node), drv_data->bank_nr * IRQS_PER_BANK,
+                                         &irq_exti_domain_ops, NULL);
        if (!domain) {
                pr_err("%pOFn: Could not register interrupt domain.\n",
                       node);
index 649b84f12efcf7068115a8244f1fb06458635800..c6b4407d05f9fe013e67f122866e0c28179631d9 100644 (file)
@@ -682,10 +682,9 @@ static int stm32mp_exti_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0,
-                                         drv_data->bank_nr * IRQS_PER_BANK,
-                                         np, &stm32mp_exti_domain_ops,
-                                         host_data);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, drv_data->bank_nr * IRQS_PER_BANK,
+                                            of_fwnode_handle(np), &stm32mp_exti_domain_ops,
+                                            host_data);
 
        if (!domain) {
                dev_err(dev, "Could not register exti domain\n");
index dd506ebfdacb5779a2554e396c76c608237201c1..9c2c9caeca2a4c518a775288d0c6d25f0c1203aa 100644 (file)
@@ -133,7 +133,7 @@ static int __init sun4i_of_init(struct device_node *node,
        /* Configure the external interrupt source type */
        writel(0x00, irq_ic_data->irq_base + SUN4I_IRQ_NMI_CTRL_REG);
 
-       irq_ic_data->irq_domain = irq_domain_add_linear(node, 3 * 32,
+       irq_ic_data->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), 3 * 32,
                                                 &sun4i_irq_ops, NULL);
        if (!irq_ic_data->irq_domain)
                panic("%pOF: unable to create IRQ domain\n", node);
index 99958d470d6268cb5654a333b34eeb31e7ec37fc..37d4b29763bc42d0bae43e5d51fb6c2d66b9328a 100644 (file)
@@ -338,8 +338,8 @@ static int __init sun6i_r_intc_init(struct device_node *node,
                return PTR_ERR(base);
        }
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0, 0, node,
-                                         &sun6i_r_intc_domain_ops, NULL);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, 0, of_fwnode_handle(node),
+                                            &sun6i_r_intc_domain_ops, NULL);
        if (!domain) {
                pr_err("%pOF: Failed to allocate domain\n", node);
                iounmap(base);
index 01b0d8321728559a006473d4758d79ae18694ed2..f521341f50d9b00ec954505c126cf11768b3ecf1 100644 (file)
@@ -159,7 +159,7 @@ static int __init sunxi_sc_nmi_irq_init(struct device_node *node,
        struct irq_domain *domain;
        int ret;
 
-       domain = irq_domain_add_linear(node, 1, &irq_generic_chip_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(node), 1, &irq_generic_chip_ops, NULL);
        if (!domain) {
                pr_err("Could not register interrupt domain.\n");
                return -ENOMEM;
index d59bfbe8c6d02a278e02bad1f90176152f46f84f..733dbda18a82f80ca68bb80311c15f356ab567ee 100644 (file)
@@ -121,13 +121,13 @@ static int __init of_tb10x_init_irq(struct device_node *ictl,
                goto ioremap_fail;
        }
 
-       domain = irq_domain_add_linear(ictl, AB_IRQCTL_MAXIRQ,
-                                       &irq_generic_chip_ops, NULL);
+       domain = irq_domain_create_linear(of_fwnode_handle(ictl), AB_IRQCTL_MAXIRQ,
+                                         &irq_generic_chip_ops, NULL);
        if (!domain) {
                ret = -ENOMEM;
                pr_err("%pOFn: Could not register interrupt domain.\n",
                        ictl);
-               goto irq_domain_add_fail;
+               goto irq_domain_create_fail;
        }
 
        ret = irq_alloc_domain_generic_chips(domain, AB_IRQCTL_MAXIRQ,
@@ -174,7 +174,7 @@ static int __init of_tb10x_init_irq(struct device_node *ictl,
 
 gc_alloc_fail:
        irq_domain_remove(domain);
-irq_domain_add_fail:
+irq_domain_create_fail:
        iounmap(reg_base);
 ioremap_fail:
        release_mem_region(mem.start, resource_size(&mem));
index ad3e2c1b3c87b159a8f910b53d6c4f97073cad04..66cbb9f77ff30ef53be8c3947c07a8f202a368b0 100644 (file)
@@ -330,9 +330,8 @@ static int __init tegra_ictlr_init(struct device_node *node,
             node, num_ictlrs, soc->num_ictlrs);
 
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0, num_ictlrs * 32,
-                                         node, &tegra_ictlr_domain_ops,
-                                         lic);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, num_ictlrs * 32,
+                                            of_fwnode_handle(node), &tegra_ictlr_domain_ops, lic);
        if (!domain) {
                pr_err("%pOF: failed to allocated domain\n", node);
                err = -ENOMEM;
index 38dfc1f9a56b4321bf7bf106902b6d85293a8c8b..7de59238e6b0b8190d852b6c46f857444a45b891 100644 (file)
@@ -701,9 +701,9 @@ static int ti_sci_inta_irq_domain_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
-       domain = irq_domain_add_linear(dev_of_node(dev),
-                                      ti_sci_get_num_resources(inta->vint),
-                                      &ti_sci_inta_irq_domain_ops, inta);
+       domain = irq_domain_create_linear(of_fwnode_handle(dev_of_node(dev)),
+                                         ti_sci_get_num_resources(inta->vint),
+                                         &ti_sci_inta_irq_domain_ops, inta);
        if (!domain) {
                dev_err(dev, "Failed to allocate IRQ domain\n");
                return -ENOMEM;
index 686a8f69fd9c3519719a4904980690378f1c1e40..07fff5ae5ce09c4faecdee75579f11c9aba1fc00 100644 (file)
@@ -274,8 +274,9 @@ static int ti_sci_intr_irq_domain_probe(struct platform_device *pdev)
                return PTR_ERR(intr->out_irqs);
        }
 
-       domain = irq_domain_add_hierarchy(parent_domain, 0, 0, dev_of_node(dev),
-                                         &ti_sci_intr_irq_domain_ops, intr);
+       domain = irq_domain_create_hierarchy(parent_domain, 0, 0,
+                                            of_fwnode_handle(dev_of_node(dev)),
+                                            &ti_sci_intr_irq_domain_ops, intr);
        if (!domain) {
                dev_err(dev, "Failed to allocate IRQ domain\n");
                return -ENOMEM;
index 960c343d5781130bc3511d534d9cdd6c92d707ba..e625f4fb2bb85347aefb05b2a85f7c64a55c2893 100644 (file)
@@ -125,7 +125,7 @@ static int ts4800_ic_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       data->domain = irq_domain_add_linear(node, 8, &ts4800_ic_ops, data);
+       data->domain = irq_domain_create_linear(of_fwnode_handle(node), 8, &ts4800_ic_ops, data);
        if (!data->domain) {
                dev_err(&pdev->dev, "cannot add IRQ domain\n");
                return -ENOMEM;
index 0abc8934c2ee00e4077c1dddb867141d4a008ea5..034ce6afe17080e225ae32189a7df15050c86014 100644 (file)
@@ -176,8 +176,8 @@ static void __init fpga_irq_init(void __iomem *base, int parent_irq,
                                                 f);
        }
 
-       f->domain = irq_domain_add_linear(node, fls(valid),
-                                         &fpga_irqdomain_ops, f);
+       f->domain = irq_domain_create_linear(of_fwnode_handle(node), fls(valid),
+                                            &fpga_irqdomain_ops, f);
 
        /* This will allocate all valid descriptors in the linear case */
        for (i = 0; i < fls(valid); i++)
index 2b9a8ba58e26a7d31e54979793f0983a5310681a..5d9c7503aa7f903c911d2b09ac3de54d5453f30d 100644 (file)
@@ -209,9 +209,9 @@ static int __init vf610_mscm_ir_of_init(struct device_node *node,
        regmap_read(mscm_cp_regmap, MSCM_CPxNUM, &cpuid);
        mscm_ir_data->cpu_mask = 0x1 << cpuid;
 
-       domain = irq_domain_add_hierarchy(domain_parent, 0,
-                                         MSCM_IRSPRC_NUM, node,
-                                         &mscm_irq_domain_ops, mscm_ir_data);
+       domain = irq_domain_create_hierarchy(domain_parent, 0, MSCM_IRSPRC_NUM,
+                                            of_fwnode_handle(node), &mscm_irq_domain_ops,
+                                            mscm_ir_data);
        if (!domain) {
                ret = -ENOMEM;
                goto out_unmap;
index ea93e7236c4ac9378a39343c9808ac3bd0e6e99d..2bcdf216a0003001ccbe286c0741d9c312cb49cf 100644 (file)
@@ -289,8 +289,9 @@ static void __init vic_register(void __iomem *base, unsigned int parent_irq,
                                                 vic_handle_irq_cascaded, v);
        }
 
-       v->domain = irq_domain_add_simple(node, fls(valid_sources), irq,
-                                         &vic_irqdomain_ops, v);
+       v->domain = irq_domain_create_simple(of_fwnode_handle(node),
+                                            fls(valid_sources), irq,
+                                            &vic_irqdomain_ops, v);
        /* create an IRQ mapping for each valid IRQ */
        for (i = 0; i < fls(valid_sources); i++)
                if (valid_sources & (1 << i))
index 91df62a64cd91a1fc1d9f135c79f17222c94faa9..a8ed4894d29ed966a7c5baf183a6ac8556da4bcf 100644 (file)
@@ -154,7 +154,7 @@ static int __init wpcm450_aic_of_init(struct device_node *node,
 
        set_handle_irq(wpcm450_aic_handle_irq);
 
-       aic->domain = irq_domain_add_linear(node, AIC_NUM_IRQS, &wpcm450_aic_ops, aic);
+       aic->domain = irq_domain_create_linear(of_fwnode_handle(node), AIC_NUM_IRQS, &wpcm450_aic_ops, aic);
 
        return 0;
 }
index 38727e9cc713516ab66935b5c06b587d491f333e..92dcb9fdcb25114177b2a0f4bf519e19488b003d 100644 (file)
@@ -212,8 +212,8 @@ static int __init xilinx_intc_of_init(struct device_node *intc,
                xintc_write(irqc, MER, MER_HIE | MER_ME);
        }
 
-       irqc->root_domain = irq_domain_add_linear(intc, irqc->nr_irq,
-                                                 &xintc_irq_domain_ops, irqc);
+       irqc->root_domain = irq_domain_create_linear(of_fwnode_handle(intc), irqc->nr_irq,
+                                                    &xintc_irq_domain_ops, irqc);
        if (!irqc->root_domain) {
                pr_err("irq-xilinx: Unable to create IRQ domain\n");
                ret = -EINVAL;
index 9b441d18029993211288041448a49e86fbd15037..9fdacbd89a6348dd8721d41888a38b92be435b6b 100644 (file)
@@ -167,8 +167,7 @@ static void __init xtensa_mx_init_common(struct irq_domain *root_domain)
 int __init xtensa_mx_init_legacy(struct device_node *interrupt_parent)
 {
        struct irq_domain *root_domain =
-               irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0,
-                               &xtensa_mx_irq_domain_ops,
+               irq_domain_create_legacy(NULL, NR_IRQS - 1, 1, 0, &xtensa_mx_irq_domain_ops,
                                &xtensa_mx_irq_chip);
        xtensa_mx_init_common(root_domain);
        return 0;
@@ -178,7 +177,7 @@ static int __init xtensa_mx_init(struct device_node *np,
                struct device_node *interrupt_parent)
 {
        struct irq_domain *root_domain =
-               irq_domain_add_linear(np, NR_IRQS, &xtensa_mx_irq_domain_ops,
+               irq_domain_create_linear(of_fwnode_handle(np), NR_IRQS, &xtensa_mx_irq_domain_ops,
                                &xtensa_mx_irq_chip);
        xtensa_mx_init_common(root_domain);
        return 0;
index 9be7b7c5cd23941533d5ed63218ef2835457a70e..44e7be051a2e7b48b48a8a471d6da0c94b8d4932 100644 (file)
@@ -85,7 +85,7 @@ static struct irq_chip xtensa_irq_chip = {
 int __init xtensa_pic_init_legacy(struct device_node *interrupt_parent)
 {
        struct irq_domain *root_domain =
-               irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0,
+               irq_domain_create_legacy(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 =
-               irq_domain_add_linear(np, NR_IRQS, &xtensa_irq_domain_ops,
+               irq_domain_create_linear(of_fwnode_handle(np), NR_IRQS, &xtensa_irq_domain_ops,
                                &xtensa_irq_chip);
        irq_set_default_domain(root_domain);
        return 0;
index 7a72620fc4785420bf5eaa722aa901da7ed366a2..22d46c2465941d2b2addccb47646d38677ae6c98 100644 (file)
@@ -92,8 +92,8 @@ 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);
 
-       zevio_irq_domain = irq_domain_add_linear(node, MAX_INTRS,
-                                                &irq_generic_chip_ops, NULL);
+       zevio_irq_domain = irq_domain_create_linear(of_fwnode_handle(node), MAX_INTRS,
+                                                   &irq_generic_chip_ops, NULL);
        BUG_ON(!zevio_irq_domain);
 
        ret = irq_alloc_domain_generic_chips(zevio_irq_domain, MAX_INTRS, 1,
index 7c17a6f643ef92803d456b4ef7b3eec2d8031517..576e55569d773e9ab1caf5a27eb75f37e8c39713 100644 (file)
@@ -239,7 +239,7 @@ static int __init shirq_init(struct spear_shirq **shirq_blocks, int block_nr,
                goto err_unmap;
        }
 
-       shirq_domain = irq_domain_add_legacy(np, nr_irqs, virq_base, 0,
+       shirq_domain = irq_domain_create_legacy(of_fwnode_handle(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__);