Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

irqchip: Switch to irq_domain_create_*()

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



authored by

Jiri Slaby (SUSE) and committed by
Thomas Gleixner
affdc0d1 7f68126a

+180 -184
+1 -1
drivers/irqchip/exynos-combiner.c
··· 180 180 if (!combiner_data) 181 181 return; 182 182 183 - combiner_irq_domain = irq_domain_add_linear(np, nr_irq, 183 + combiner_irq_domain = irq_domain_create_linear(of_fwnode_handle(np), nr_irq, 184 184 &combiner_irq_domain_ops, combiner_data); 185 185 if (WARN_ON(!combiner_irq_domain)) { 186 186 pr_warn("%s: irq domain init failed\n", __func__);
+1 -1
drivers/irqchip/irq-al-fic.c
··· 139 139 struct irq_chip_generic *gc; 140 140 int ret; 141 141 142 - fic->domain = irq_domain_add_linear(node, 142 + fic->domain = irq_domain_create_linear(of_fwnode_handle(node), 143 143 NR_FIC_IRQS, 144 144 &irq_generic_chip_ops, 145 145 fic);
+2 -3
drivers/irqchip/irq-alpine-msi.c
··· 205 205 return -ENXIO; 206 206 } 207 207 208 - middle_domain = irq_domain_add_hierarchy(gic_domain, 0, 0, NULL, 209 - &alpine_msix_middle_domain_ops, 210 - priv); 208 + middle_domain = irq_domain_create_hierarchy(gic_domain, 0, 0, NULL, 209 + &alpine_msix_middle_domain_ops, priv); 211 210 if (!middle_domain) { 212 211 pr_err("Failed to create the MSIX middle domain\n"); 213 212 return -ENOMEM;
+2 -2
drivers/irqchip/irq-armada-370-xp.c
··· 348 348 mpic->msi_doorbell_mask = PCI_MSI_FULL_DOORBELL_MASK; 349 349 } 350 350 351 - mpic->msi_inner_domain = irq_domain_add_linear(NULL, mpic->msi_doorbell_size, 351 + mpic->msi_inner_domain = irq_domain_create_linear(NULL, mpic->msi_doorbell_size, 352 352 &mpic_msi_domain_ops, mpic); 353 353 if (!mpic->msi_inner_domain) 354 354 return -ENOMEM; ··· 861 861 if (!mpic_is_ipi_available(mpic)) 862 862 nr_irqs = MPIC_PER_CPU_IRQS_NR; 863 863 864 - mpic->domain = irq_domain_add_linear(node, nr_irqs, &mpic_irq_ops, mpic); 864 + mpic->domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs, &mpic_irq_ops, mpic); 865 865 if (!mpic->domain) { 866 866 pr_err("%pOF: Unable to add IRQ domain\n", node); 867 867 return -ENOMEM;
+1 -1
drivers/irqchip/irq-aspeed-i2c-ic.c
··· 82 82 goto err_iounmap; 83 83 } 84 84 85 - i2c_ic->irq_domain = irq_domain_add_linear(node, ASPEED_I2C_IC_NUM_BUS, 85 + i2c_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), ASPEED_I2C_IC_NUM_BUS, 86 86 &aspeed_i2c_ic_irq_domain_ops, 87 87 NULL); 88 88 if (!i2c_ic->irq_domain) {
+1 -1
drivers/irqchip/irq-aspeed-intc.c
··· 102 102 writel(0xffffffff, intc_ic->base + INTC_INT_STATUS_REG); 103 103 writel(0x0, intc_ic->base + INTC_INT_ENABLE_REG); 104 104 105 - intc_ic->irq_domain = irq_domain_add_linear(node, INTC_IRQS_PER_WORD, 105 + intc_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), INTC_IRQS_PER_WORD, 106 106 &aspeed_intc_ic_irq_domain_ops, intc_ic); 107 107 if (!intc_ic->irq_domain) { 108 108 ret = -ENOMEM;
+1 -1
drivers/irqchip/irq-aspeed-scu-ic.c
··· 165 165 goto err; 166 166 } 167 167 168 - scu_ic->irq_domain = irq_domain_add_linear(node, scu_ic->num_irqs, 168 + scu_ic->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), scu_ic->num_irqs, 169 169 &aspeed_scu_ic_domain_ops, 170 170 scu_ic); 171 171 if (!scu_ic->irq_domain) {
+2 -2
drivers/irqchip/irq-aspeed-vic.c
··· 211 211 set_handle_irq(avic_handle_irq); 212 212 213 213 /* Register our domain */ 214 - vic->dom = irq_domain_add_simple(node, NUM_IRQS, 0, 215 - &avic_dom_ops, vic); 214 + vic->dom = irq_domain_create_simple(of_fwnode_handle(node), NUM_IRQS, 0, 215 + &avic_dom_ops, vic); 216 216 217 217 return 0; 218 218 }
+2 -2
drivers/irqchip/irq-ath79-misc.c
··· 147 147 return -ENOMEM; 148 148 } 149 149 150 - domain = irq_domain_add_linear(node, ATH79_MISC_IRQ_COUNT, 150 + domain = irq_domain_create_linear(of_fwnode_handle(node), ATH79_MISC_IRQ_COUNT, 151 151 &misc_irq_domain_ops, base); 152 152 if (!domain) { 153 153 pr_err("Failed to add MISC irqdomain\n"); ··· 188 188 else 189 189 ath79_misc_irq_chip.irq_ack = ar724x_misc_irq_ack; 190 190 191 - domain = irq_domain_add_legacy(NULL, ATH79_MISC_IRQ_COUNT, 191 + domain = irq_domain_create_legacy(NULL, ATH79_MISC_IRQ_COUNT, 192 192 irq_base, 0, &misc_irq_domain_ops, regs); 193 193 if (!domain) 194 194 panic("Failed to create MISC irqdomain");
+1 -1
drivers/irqchip/irq-atmel-aic-common.c
··· 228 228 goto err_iounmap; 229 229 } 230 230 231 - domain = irq_domain_add_linear(node, nchips * 32, ops, aic); 231 + domain = irq_domain_create_linear(of_fwnode_handle(node), nchips * 32, ops, aic); 232 232 if (!domain) { 233 233 ret = -ENOMEM; 234 234 goto err_free_aic;
+2 -2
drivers/irqchip/irq-bcm2712-mip.c
··· 173 173 { 174 174 struct irq_domain *middle; 175 175 176 - middle = irq_domain_add_hierarchy(mip->parent, 0, mip->num_msis, np, 177 - &mip_middle_domain_ops, mip); 176 + middle = irq_domain_create_hierarchy(mip->parent, 0, mip->num_msis, of_fwnode_handle(np), 177 + &mip_middle_domain_ops, mip); 178 178 if (!middle) 179 179 return -ENOMEM; 180 180
+1 -1
drivers/irqchip/irq-bcm2835.c
··· 144 144 if (!base) 145 145 panic("%pOF: unable to map IC registers\n", node); 146 146 147 - intc.domain = irq_domain_add_linear(node, MAKE_HWIRQ(NR_BANKS, 0), 147 + intc.domain = irq_domain_create_linear(of_fwnode_handle(node), MAKE_HWIRQ(NR_BANKS, 0), 148 148 &armctrl_ops, NULL); 149 149 if (!intc.domain) 150 150 panic("%pOF: unable to create IRQ domain\n", node);
+1 -1
drivers/irqchip/irq-bcm2836.c
··· 325 325 326 326 bcm2835_init_local_timer_frequency(); 327 327 328 - intc.domain = irq_domain_add_linear(node, LAST_IRQ + 1, 328 + intc.domain = irq_domain_create_linear(of_fwnode_handle(node), LAST_IRQ + 1, 329 329 &bcm2836_arm_irqchip_intc_ops, 330 330 NULL); 331 331 if (!intc.domain)
+1 -1
drivers/irqchip/irq-bcm6345-l1.c
··· 316 316 317 317 raw_spin_lock_init(&intc->lock); 318 318 319 - intc->domain = irq_domain_add_linear(dn, IRQS_PER_WORD * intc->n_words, 319 + intc->domain = irq_domain_create_linear(of_fwnode_handle(dn), IRQS_PER_WORD * intc->n_words, 320 320 &bcm6345_l1_domain_ops, 321 321 intc); 322 322 if (!intc->domain) {
+1 -1
drivers/irqchip/irq-bcm7038-l1.c
··· 416 416 } 417 417 } 418 418 419 - intc->domain = irq_domain_add_linear(dn, IRQS_PER_WORD * intc->n_words, 419 + intc->domain = irq_domain_create_linear(of_fwnode_handle(dn), IRQS_PER_WORD * intc->n_words, 420 420 &bcm7038_l1_domain_ops, 421 421 intc); 422 422 if (!intc->domain) {
+1 -1
drivers/irqchip/irq-bcm7120-l2.c
··· 264 264 goto out_free_l1_data; 265 265 } 266 266 267 - data->domain = irq_domain_add_linear(dn, IRQS_PER_WORD * data->n_words, 267 + data->domain = irq_domain_create_linear(of_fwnode_handle(dn), IRQS_PER_WORD * data->n_words, 268 268 &irq_generic_chip_ops, NULL); 269 269 if (!data->domain) { 270 270 ret = -ENOMEM;
+1 -1
drivers/irqchip/irq-brcmstb-l2.c
··· 182 182 goto out_unmap; 183 183 } 184 184 185 - data->domain = irq_domain_add_linear(np, 32, 185 + data->domain = irq_domain_create_linear(of_fwnode_handle(np), 32, 186 186 &irq_generic_chip_ops, NULL); 187 187 if (!data->domain) { 188 188 ret = -ENOMEM;
+2 -2
drivers/irqchip/irq-clps711x.c
··· 184 184 clps711x_intc->ops.map = clps711x_intc_irq_map; 185 185 clps711x_intc->ops.xlate = irq_domain_xlate_onecell; 186 186 clps711x_intc->domain = 187 - irq_domain_add_legacy(np, ARRAY_SIZE(clps711x_irqs), 188 - 0, 0, &clps711x_intc->ops, NULL); 187 + irq_domain_create_legacy(of_fwnode_handle(np), ARRAY_SIZE(clps711x_irqs), 0, 0, 188 + &clps711x_intc->ops, NULL); 189 189 if (!clps711x_intc->domain) { 190 190 err = -ENOMEM; 191 191 goto out_irqfree;
+2 -4
drivers/irqchip/irq-crossbar.c
··· 351 351 if (err) 352 352 return err; 353 353 354 - domain = irq_domain_add_hierarchy(parent_domain, 0, 355 - cb->max_crossbar_sources, 356 - node, &crossbar_domain_ops, 357 - NULL); 354 + domain = irq_domain_create_hierarchy(parent_domain, 0, cb->max_crossbar_sources, 355 + of_fwnode_handle(node), &crossbar_domain_ops, NULL); 358 356 if (!domain) { 359 357 pr_err("%pOF: failed to allocated domain\n", node); 360 358 return -ENOMEM;
+1 -1
drivers/irqchip/irq-csky-apb-intc.c
··· 114 114 return -EINVAL; 115 115 } 116 116 117 - root_domain = irq_domain_add_linear(node, nr_irq, 117 + root_domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irq, 118 118 &irq_generic_chip_ops, NULL); 119 119 if (!root_domain) { 120 120 pr_err("C-SKY Intc irq_domain_add failed.\n");
+1 -1
drivers/irqchip/irq-csky-mpintc.c
··· 255 255 writel_relaxed(BIT(0), INTCG_base + INTCG_ICTLR); 256 256 } 257 257 258 - root_domain = irq_domain_add_linear(node, nr_irq, &csky_irqdomain_ops, 258 + root_domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irq, &csky_irqdomain_ops, 259 259 NULL); 260 260 if (!root_domain) 261 261 return -ENXIO;
+4 -2
drivers/irqchip/irq-davinci-cp-intc.c
··· 204 204 return irq_base; 205 205 } 206 206 207 - davinci_cp_intc_irq_domain = irq_domain_add_legacy(node, num_irqs, irq_base, 0, 208 - &davinci_cp_intc_irq_domain_ops, NULL); 207 + davinci_cp_intc_irq_domain = irq_domain_create_legacy(of_fwnode_handle(node), num_irqs, 208 + irq_base, 0, 209 + &davinci_cp_intc_irq_domain_ops, 210 + NULL); 209 211 210 212 if (!davinci_cp_intc_irq_domain) { 211 213 pr_err("%s: unable to create an interrupt domain\n", __func__);
+1 -1
drivers/irqchip/irq-digicolor.c
··· 95 95 regmap_write(ucregs, UC_IRQ_CONTROL, 1); 96 96 97 97 digicolor_irq_domain = 98 - irq_domain_add_linear(node, 64, &irq_generic_chip_ops, NULL); 98 + irq_domain_create_linear(of_fwnode_handle(node), 64, &irq_generic_chip_ops, NULL); 99 99 if (!digicolor_irq_domain) { 100 100 pr_err("%pOF: unable to create IRQ domain\n", node); 101 101 return -ENOMEM;
+1 -1
drivers/irqchip/irq-dw-apb-ictl.c
··· 173 173 else 174 174 nrirqs = fls(readl_relaxed(iobase + APB_INT_ENABLE_L)); 175 175 176 - domain = irq_domain_add_linear(np, nrirqs, domain_ops, NULL); 176 + domain = irq_domain_create_linear(of_fwnode_handle(np), nrirqs, domain_ops, NULL); 177 177 if (!domain) { 178 178 pr_err("%pOF: unable to add irq domain\n", np); 179 179 ret = -ENOMEM;
+3 -2
drivers/irqchip/irq-ftintc010.c
··· 180 180 writel(0, FT010_IRQ_MASK(f->base)); 181 181 writel(0, FT010_FIQ_MASK(f->base)); 182 182 183 - f->domain = irq_domain_add_simple(node, FT010_NUM_IRQS, 0, 184 - &ft010_irqdomain_ops, f); 183 + f->domain = irq_domain_create_simple(of_fwnode_handle(node), 184 + FT010_NUM_IRQS, 0, 185 + &ft010_irqdomain_ops, f); 185 186 set_handle_irq(ft010_irqchip_handle_irq); 186 187 187 188 return 0;
+3 -4
drivers/irqchip/irq-goldfish-pic.c
··· 101 101 irq_setup_generic_chip(gc, IRQ_MSK(GFPIC_NR_IRQS), 0, 102 102 IRQ_NOPROBE | IRQ_LEVEL, 0); 103 103 104 - gfpic->irq_domain = irq_domain_add_legacy(of_node, GFPIC_NR_IRQS, 105 - GFPIC_IRQ_BASE, 0, 106 - &goldfish_irq_domain_ops, 107 - NULL); 104 + gfpic->irq_domain = irq_domain_create_legacy(of_fwnode_handle(of_node), GFPIC_NR_IRQS, 105 + GFPIC_IRQ_BASE, 0, &goldfish_irq_domain_ops, 106 + NULL); 108 107 if (!gfpic->irq_domain) { 109 108 pr_err("Failed to add irqdomain!\n"); 110 109 ret = -ENOMEM;
+2 -4
drivers/irqchip/irq-hip04.c
··· 386 386 return -EINVAL; 387 387 } 388 388 389 - hip04_data.domain = irq_domain_add_legacy(node, nr_irqs, irq_base, 390 - 0, 391 - &hip04_irq_domain_ops, 392 - &hip04_data); 389 + hip04_data.domain = irq_domain_create_legacy(of_fwnode_handle(node), nr_irqs, irq_base, 0, 390 + &hip04_irq_domain_ops, &hip04_data); 393 391 if (WARN_ON(!hip04_data.domain)) 394 392 return -EINVAL; 395 393
+2 -2
drivers/irqchip/irq-i8259.c
··· 313 313 314 314 init_8259A(0); 315 315 316 - domain = irq_domain_add_legacy(node, 16, I8259A_IRQ_BASE, 0, 317 - &i8259A_ops, NULL); 316 + domain = irq_domain_create_legacy(of_fwnode_handle(node), 16, I8259A_IRQ_BASE, 0, 317 + &i8259A_ops, NULL); 318 318 if (!domain) 319 319 panic("Failed to add i8259 IRQ domain"); 320 320
+1 -1
drivers/irqchip/irq-idt3243x.c
··· 72 72 goto out_unmap_irq; 73 73 } 74 74 75 - domain = irq_domain_add_linear(of_node, IDT_PIC_NR_IRQS, 75 + domain = irq_domain_create_linear(of_fwnode_handle(of_node), IDT_PIC_NR_IRQS, 76 76 &irq_generic_chip_ops, NULL); 77 77 if (!domain) { 78 78 pr_err("Failed to add irqdomain!\n");
+1 -1
drivers/irqchip/irq-imgpdc.c
··· 372 372 priv->syswake_irq = irq; 373 373 374 374 /* Set up an IRQ domain */ 375 - priv->domain = irq_domain_add_linear(node, 16, &irq_generic_chip_ops, 375 + priv->domain = irq_domain_create_linear(of_fwnode_handle(node), 16, &irq_generic_chip_ops, 376 376 priv); 377 377 if (unlikely(!priv->domain)) { 378 378 dev_err(&pdev->dev, "cannot add IRQ domain\n");
+2 -2
drivers/irqchip/irq-imx-gpcv2.c
··· 240 240 return -ENOMEM; 241 241 } 242 242 243 - domain = irq_domain_add_hierarchy(parent_domain, 0, GPC_MAX_IRQS, 244 - node, &gpcv2_irqchip_data_domain_ops, cd); 243 + domain = irq_domain_create_hierarchy(parent_domain, 0, GPC_MAX_IRQS, 244 + of_fwnode_handle(node), &gpcv2_irqchip_data_domain_ops, cd); 245 245 if (!domain) { 246 246 iounmap(cd->gpc_base); 247 247 kfree(cd);
+1 -1
drivers/irqchip/irq-imx-intmux.c
··· 254 254 goto out; 255 255 } 256 256 257 - domain = irq_domain_add_linear(np, 32, &imx_intmux_domain_ops, 257 + domain = irq_domain_create_linear(of_fwnode_handle(np), 32, &imx_intmux_domain_ops, 258 258 &data->irqchip_data[i]); 259 259 if (!domain) { 260 260 ret = -ENOMEM;
+1 -1
drivers/irqchip/irq-imx-irqsteer.c
··· 212 212 /* steer all IRQs into configured channel */ 213 213 writel_relaxed(BIT(data->channel), data->regs + CHANCTRL); 214 214 215 - data->domain = irq_domain_add_linear(np, data->reg_num * 32, 215 + data->domain = irq_domain_create_linear(of_fwnode_handle(np), data->reg_num * 32, 216 216 &imx_irqsteer_domain_ops, data); 217 217 if (!data->domain) { 218 218 dev_err(&pdev->dev, "failed to create IRQ domain\n");
+2 -2
drivers/irqchip/irq-ingenic-tcu.c
··· 114 114 115 115 tcu->nb_parent_irqs = irqs; 116 116 117 - tcu->domain = irq_domain_add_linear(np, 32, &irq_generic_chip_ops, 118 - NULL); 117 + tcu->domain = irq_domain_create_linear(of_fwnode_handle(np), 32, &irq_generic_chip_ops, 118 + NULL); 119 119 if (!tcu->domain) { 120 120 ret = -ENOMEM; 121 121 goto err_free_tcu;
+2 -2
drivers/irqchip/irq-ingenic.c
··· 90 90 goto out_unmap_irq; 91 91 } 92 92 93 - domain = irq_domain_add_linear(node, num_chips * 32, 94 - &irq_generic_chip_ops, NULL); 93 + domain = irq_domain_create_linear(of_fwnode_handle(node), num_chips * 32, 94 + &irq_generic_chip_ops, NULL); 95 95 if (!domain) { 96 96 err = -ENOMEM; 97 97 goto out_unmap_base;
+2 -3
drivers/irqchip/irq-jcore-aic.c
··· 107 107 if (ret < 0) 108 108 return ret; 109 109 110 - domain = irq_domain_add_legacy(node, dom_sz - min_irq, min_irq, min_irq, 111 - &jcore_aic_irqdomain_ops, 112 - &jcore_aic); 110 + domain = irq_domain_create_legacy(of_fwnode_handle(node), dom_sz - min_irq, min_irq, 111 + min_irq, &jcore_aic_irqdomain_ops, &jcore_aic); 113 112 if (!domain) 114 113 return -ENOMEM; 115 114
+2 -2
drivers/irqchip/irq-keystone.c
··· 157 157 kirq->chip.irq_mask = keystone_irq_setmask; 158 158 kirq->chip.irq_unmask = keystone_irq_unmask; 159 159 160 - kirq->irqd = irq_domain_add_linear(np, KEYSTONE_N_IRQ, 161 - &keystone_irq_ops, kirq); 160 + kirq->irqd = irq_domain_create_linear(of_fwnode_handle(np), KEYSTONE_N_IRQ, 161 + &keystone_irq_ops, kirq); 162 162 if (!kirq->irqd) { 163 163 dev_err(dev, "IRQ domain registration failed\n"); 164 164 return -ENODEV;
+2 -2
drivers/irqchip/irq-lpc32xx.c
··· 210 210 return -EINVAL; 211 211 } 212 212 213 - irqc->domain = irq_domain_add_linear(node, NR_LPC32XX_IC_IRQS, 214 - &lpc32xx_irq_domain_ops, irqc); 213 + irqc->domain = irq_domain_create_linear(of_fwnode_handle(node), NR_LPC32XX_IC_IRQS, 214 + &lpc32xx_irq_domain_ops, irqc); 215 215 if (!irqc->domain) { 216 216 pr_err("unable to add irq domain\n"); 217 217 iounmap(irqc->base);
+2 -2
drivers/irqchip/irq-ls-extirq.c
··· 208 208 of_device_is_compatible(node, "fsl,ls1043a-extirq"); 209 209 raw_spin_lock_init(&priv->lock); 210 210 211 - domain = irq_domain_add_hierarchy(parent_domain, 0, priv->nirq, node, 212 - &extirq_domain_ops, priv); 211 + domain = irq_domain_create_hierarchy(parent_domain, 0, priv->nirq, of_fwnode_handle(node), 212 + &extirq_domain_ops, priv); 213 213 if (!domain) { 214 214 ret = -ENOMEM; 215 215 goto err_add_hierarchy;
+4 -4
drivers/irqchip/irq-ls-scfg-msi.c
··· 215 215 static int ls_scfg_msi_domains_init(struct ls_scfg_msi *msi_data) 216 216 { 217 217 /* Initialize MSI domain parent */ 218 - msi_data->parent = irq_domain_add_linear(NULL, 219 - msi_data->irqs_num, 220 - &ls_scfg_msi_domain_ops, 221 - msi_data); 218 + msi_data->parent = irq_domain_create_linear(NULL, 219 + msi_data->irqs_num, 220 + &ls_scfg_msi_domain_ops, 221 + msi_data); 222 222 if (!msi_data->parent) { 223 223 dev_err(&msi_data->pdev->dev, "failed to create IRQ domain\n"); 224 224 return -ENOMEM;
+2 -2
drivers/irqchip/irq-ls1x.c
··· 126 126 } 127 127 128 128 /* Set up an IRQ domain */ 129 - priv->domain = irq_domain_add_linear(node, 32, &irq_generic_chip_ops, 130 - NULL); 129 + priv->domain = irq_domain_create_linear(of_fwnode_handle(node), 32, &irq_generic_chip_ops, 130 + NULL); 131 131 if (!priv->domain) { 132 132 pr_err("ls1x-irq: cannot add IRQ domain\n"); 133 133 err = -ENOMEM;
+3 -2
drivers/irqchip/irq-mchp-eic.c
··· 248 248 eic->irqs[i] = irq.args[1]; 249 249 } 250 250 251 - eic->domain = irq_domain_add_hierarchy(parent_domain, 0, MCHP_EIC_NIRQ, 252 - node, &mchp_eic_domain_ops, eic); 251 + eic->domain = irq_domain_create_hierarchy(parent_domain, 0, MCHP_EIC_NIRQ, 252 + of_fwnode_handle(node), &mchp_eic_domain_ops, 253 + eic); 253 254 if (!eic->domain) { 254 255 pr_err("%pOF: Failed to add domain\n", node); 255 256 ret = -ENODEV;
+5 -8
drivers/irqchip/irq-mips-cpu.c
··· 238 238 struct cpu_ipi_domain_state *ipi_domain_state; 239 239 240 240 ipi_domain_state = kzalloc(sizeof(*ipi_domain_state), GFP_KERNEL); 241 - ipi_domain = irq_domain_add_hierarchy(irq_domain, 242 - IRQ_DOMAIN_FLAG_IPI_SINGLE, 243 - 2, of_node, 244 - &mips_cpu_ipi_chip_ops, 245 - ipi_domain_state); 241 + ipi_domain = irq_domain_create_hierarchy(irq_domain, IRQ_DOMAIN_FLAG_IPI_SINGLE, 2, 242 + of_fwnode_handle(of_node), 243 + &mips_cpu_ipi_chip_ops, ipi_domain_state); 246 244 if (!ipi_domain) 247 245 panic("Failed to add MIPS CPU IPI domain"); 248 246 irq_domain_update_bus_token(ipi_domain, DOMAIN_BUS_IPI); ··· 258 260 clear_c0_status(ST0_IM); 259 261 clear_c0_cause(CAUSEF_IP); 260 262 261 - irq_domain = irq_domain_add_legacy(of_node, 8, MIPS_CPU_IRQ_BASE, 0, 262 - &mips_cpu_intc_irq_domain_ops, 263 - NULL); 263 + irq_domain = irq_domain_create_legacy(of_fwnode_handle(of_node), 8, MIPS_CPU_IRQ_BASE, 0, 264 + &mips_cpu_intc_irq_domain_ops, NULL); 264 265 if (!irq_domain) 265 266 panic("Failed to add irqdomain for MIPS CPU"); 266 267
+8 -7
drivers/irqchip/irq-mips-gic.c
··· 841 841 struct irq_domain *gic_ipi_domain; 842 842 unsigned int v[2], num_ipis; 843 843 844 - gic_ipi_domain = irq_domain_add_hierarchy(gic_irq_domain, 845 - IRQ_DOMAIN_FLAG_IPI_PER_CPU, 846 - GIC_NUM_LOCAL_INTRS + gic_shared_intrs, 847 - node, &gic_ipi_domain_ops, NULL); 844 + gic_ipi_domain = irq_domain_create_hierarchy(gic_irq_domain, IRQ_DOMAIN_FLAG_IPI_PER_CPU, 845 + GIC_NUM_LOCAL_INTRS + gic_shared_intrs, 846 + of_fwnode_handle(node), &gic_ipi_domain_ops, 847 + NULL); 848 848 if (!gic_ipi_domain) { 849 849 pr_err("Failed to add IPI domain"); 850 850 return -ENXIO; ··· 963 963 gic_irq_dispatch); 964 964 } 965 965 966 - gic_irq_domain = irq_domain_add_simple(node, GIC_NUM_LOCAL_INTRS + 967 - gic_shared_intrs, 0, 968 - &gic_irq_domain_ops, NULL); 966 + gic_irq_domain = irq_domain_create_simple(of_fwnode_handle(node), 967 + GIC_NUM_LOCAL_INTRS + 968 + gic_shared_intrs, 0, 969 + &gic_irq_domain_ops, NULL); 969 970 if (!gic_irq_domain) { 970 971 pr_err("Failed to add IRQ domain"); 971 972 return -ENXIO;
+6 -6
drivers/irqchip/irq-mmp.c
··· 261 261 } 262 262 263 263 icu_data[0].virq_base = 0; 264 - icu_data[0].domain = irq_domain_add_linear(node, nr_irqs, 265 - &mmp_irq_domain_ops, 266 - &icu_data[0]); 264 + icu_data[0].domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs, 265 + &mmp_irq_domain_ops, 266 + &icu_data[0]); 267 267 for (irq = 0; irq < nr_irqs; irq++) { 268 268 ret = irq_create_mapping(icu_data[0].domain, irq); 269 269 if (!ret) { ··· 391 391 return -EINVAL; 392 392 393 393 icu_data[i].virq_base = 0; 394 - icu_data[i].domain = irq_domain_add_linear(node, nr_irqs, 395 - &mmp_irq_domain_ops, 396 - &icu_data[i]); 394 + icu_data[i].domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs, 395 + &mmp_irq_domain_ops, 396 + &icu_data[i]); 397 397 for (irq = 0; irq < nr_irqs; irq++) { 398 398 ret = irq_create_mapping(icu_data[i].domain, irq); 399 399 if (!ret) {
+2 -2
drivers/irqchip/irq-mscc-ocelot.c
··· 132 132 if (!parent_irq) 133 133 return -EINVAL; 134 134 135 - domain = irq_domain_add_linear(node, p->n_irq, 136 - &irq_generic_chip_ops, NULL); 135 + domain = irq_domain_create_linear(of_fwnode_handle(node), p->n_irq, 136 + &irq_generic_chip_ops, NULL); 137 137 if (!domain) { 138 138 pr_err("%pOFn: unable to add irq domain\n", node); 139 139 return -ENOMEM;
+2 -2
drivers/irqchip/irq-mst-intc.c
··· 273 273 raw_spin_lock_init(&cd->lock); 274 274 cd->irq_start = irq_start; 275 275 cd->nr_irqs = irq_end - irq_start + 1; 276 - domain = irq_domain_add_hierarchy(domain_parent, 0, cd->nr_irqs, dn, 277 - &mst_intc_domain_ops, cd); 276 + domain = irq_domain_create_hierarchy(domain_parent, 0, cd->nr_irqs, of_fwnode_handle(dn), 277 + &mst_intc_domain_ops, cd); 278 278 if (!domain) { 279 279 iounmap(cd->base); 280 280 kfree(cd);
+2 -3
drivers/irqchip/irq-mtk-cirq.c
··· 336 336 cirq_data->offsets = match->data; 337 337 338 338 irq_num = cirq_data->ext_irq_end - cirq_data->ext_irq_start + 1; 339 - domain = irq_domain_add_hierarchy(domain_parent, 0, 340 - irq_num, node, 341 - &cirq_domain_ops, cirq_data); 339 + domain = irq_domain_create_hierarchy(domain_parent, 0, irq_num, of_fwnode_handle(node), 340 + &cirq_domain_ops, cirq_data); 342 341 if (!domain) { 343 342 ret = -ENOMEM; 344 343 goto out_unmap;
+2 -2
drivers/irqchip/irq-mtk-sysirq.c
··· 207 207 chip_data->which_word[i] = word; 208 208 } 209 209 210 - domain = irq_domain_add_hierarchy(domain_parent, 0, intpol_num, node, 211 - &sysirq_domain_ops, chip_data); 210 + domain = irq_domain_create_hierarchy(domain_parent, 0, intpol_num, of_fwnode_handle(node), 211 + &sysirq_domain_ops, chip_data); 212 212 if (!domain) { 213 213 ret = -ENOMEM; 214 214 goto out_free_which_word;
+2 -2
drivers/irqchip/irq-mvebu-pic.c
··· 150 150 return -EINVAL; 151 151 } 152 152 153 - pic->domain = irq_domain_add_linear(node, PIC_MAX_IRQS, 154 - &mvebu_pic_domain_ops, pic); 153 + pic->domain = irq_domain_create_linear(of_fwnode_handle(node), PIC_MAX_IRQS, 154 + &mvebu_pic_domain_ops, pic); 155 155 if (!pic->domain) { 156 156 dev_err(&pdev->dev, "Failed to allocate irq domain\n"); 157 157 return -ENOMEM;
+2 -2
drivers/irqchip/irq-mxs.c
··· 162 162 static void __init icoll_add_domain(struct device_node *np, 163 163 int num) 164 164 { 165 - icoll_domain = irq_domain_add_linear(np, num, 166 - &icoll_irq_domain_ops, NULL); 165 + icoll_domain = irq_domain_create_linear(of_fwnode_handle(np), num, 166 + &icoll_irq_domain_ops, NULL); 167 167 168 168 if (!icoll_domain) 169 169 panic("%pOF: unable to create irq domain", np);
+1 -1
drivers/irqchip/irq-nvic.c
··· 90 90 irqs = NVIC_MAX_IRQ; 91 91 92 92 nvic_irq_domain = 93 - irq_domain_add_linear(node, irqs, &nvic_irq_domain_ops, NULL); 93 + irq_domain_create_linear(of_fwnode_handle(node), irqs, &nvic_irq_domain_ops, NULL); 94 94 95 95 if (!nvic_irq_domain) { 96 96 pr_warn("Failed to allocate irq domain\n");
+2 -2
drivers/irqchip/irq-omap-intc.c
··· 248 248 if (WARN_ON(!omap_irq_base)) 249 249 return -ENOMEM; 250 250 251 - domain = irq_domain_add_linear(node, omap_nr_irqs, 251 + domain = irq_domain_create_linear(of_fwnode_handle(node), omap_nr_irqs, 252 252 &irq_generic_chip_ops, NULL); 253 253 254 254 omap_irq_soft_reset(); ··· 274 274 irq_base = 0; 275 275 } 276 276 277 - domain = irq_domain_add_legacy(node, omap_nr_irqs, irq_base, 0, 277 + domain = irq_domain_create_legacy(of_fwnode_handle(node), omap_nr_irqs, irq_base, 0, 278 278 &irq_domain_simple_ops, NULL); 279 279 280 280 omap_irq_soft_reset();
+2 -2
drivers/irqchip/irq-or1k-pic.c
··· 144 144 /* Disable all interrupts until explicitly requested */ 145 145 mtspr(SPR_PICMR, (0UL)); 146 146 147 - root_domain = irq_domain_add_linear(node, 32, &or1k_irq_domain_ops, 148 - pic); 147 + root_domain = irq_domain_create_linear(of_fwnode_handle(node), 32, &or1k_irq_domain_ops, 148 + pic); 149 149 150 150 set_handle_irq(or1k_pic_handle_irq); 151 151
+3 -3
drivers/irqchip/irq-orion.c
··· 59 59 /* count number of irq chips by valid reg addresses */ 60 60 num_chips = of_address_count(np); 61 61 62 - orion_irq_domain = irq_domain_add_linear(np, 62 + orion_irq_domain = irq_domain_create_linear(of_fwnode_handle(np), 63 63 num_chips * ORION_IRQS_PER_CHIP, 64 64 &irq_generic_chip_ops, NULL); 65 65 if (!orion_irq_domain) ··· 146 146 /* get optional number of interrupts provided */ 147 147 of_property_read_u32(np, "marvell,#interrupts", &nrirqs); 148 148 149 - domain = irq_domain_add_linear(np, nrirqs, 150 - &irq_generic_chip_ops, NULL); 149 + domain = irq_domain_create_linear(of_fwnode_handle(np), nrirqs, 150 + &irq_generic_chip_ops, NULL); 151 151 if (!domain) { 152 152 pr_err("%pOFn: unable to add irq domain\n", np); 153 153 return -ENOMEM;
+2 -2
drivers/irqchip/irq-owl-sirq.c
··· 323 323 owl_sirq_clear_set_extctl(chip_data, 0, INTC_EXTCTL_CLK_SEL, i); 324 324 } 325 325 326 - domain = irq_domain_add_hierarchy(parent_domain, 0, NUM_SIRQ, node, 327 - &owl_sirq_domain_ops, chip_data); 326 + domain = irq_domain_create_hierarchy(parent_domain, 0, NUM_SIRQ, of_fwnode_handle(node), 327 + &owl_sirq_domain_ops, chip_data); 328 328 if (!domain) { 329 329 pr_err("%pOF: failed to add domain\n", node); 330 330 ret = -ENOMEM;
+3 -3
drivers/irqchip/irq-pic32-evic.c
··· 227 227 goto err_iounmap; 228 228 } 229 229 230 - evic_irq_domain = irq_domain_add_linear(node, nchips * 32, 231 - &pic32_irq_domain_ops, 232 - priv); 230 + evic_irq_domain = irq_domain_create_linear(of_fwnode_handle(node), nchips * 32, 231 + &pic32_irq_domain_ops, 232 + priv); 233 233 if (!evic_irq_domain) { 234 234 ret = -ENOMEM; 235 235 goto err_free_priv;
+2 -2
drivers/irqchip/irq-pruss-intc.c
··· 555 555 556 556 mutex_init(&intc->lock); 557 557 558 - intc->domain = irq_domain_add_linear(dev->of_node, max_system_events, 559 - &pruss_intc_irq_domain_ops, intc); 558 + intc->domain = irq_domain_create_linear(of_fwnode_handle(dev->of_node), max_system_events, 559 + &pruss_intc_irq_domain_ops, intc); 560 560 if (!intc->domain) 561 561 return -ENOMEM; 562 562
+1 -1
drivers/irqchip/irq-realtek-rtl.c
··· 162 162 else if (!parent_irq) 163 163 return -ENODEV; 164 164 165 - domain = irq_domain_add_linear(node, RTL_ICTL_NUM_INPUTS, &irq_domain_ops, NULL); 165 + domain = irq_domain_create_linear(of_fwnode_handle(node), RTL_ICTL_NUM_INPUTS, &irq_domain_ops, NULL); 166 166 if (!domain) 167 167 return -ENOMEM; 168 168
+4 -2
drivers/irqchip/irq-renesas-intc-irqpin.c
··· 513 513 irq_chip->irq_set_wake = intc_irqpin_irq_set_wake; 514 514 irq_chip->flags = IRQCHIP_MASK_ON_SUSPEND; 515 515 516 - p->irq_domain = irq_domain_add_simple(dev->of_node, nirqs, 0, 517 - &intc_irqpin_irq_domain_ops, p); 516 + p->irq_domain = irq_domain_create_simple(of_fwnode_handle(dev->of_node), 517 + nirqs, 0, 518 + &intc_irqpin_irq_domain_ops, 519 + p); 518 520 if (!p->irq_domain) { 519 521 ret = -ENXIO; 520 522 dev_err(dev, "cannot initialize irq domain\n");
+2 -2
drivers/irqchip/irq-renesas-irqc.c
··· 168 168 169 169 p->cpu_int_base = p->iomem + IRQC_INT_CPU_BASE(0); /* SYS-SPI */ 170 170 171 - p->irq_domain = irq_domain_add_linear(dev->of_node, p->number_of_irqs, 172 - &irq_generic_chip_ops, p); 171 + p->irq_domain = irq_domain_create_linear(of_fwnode_handle(dev->of_node), p->number_of_irqs, 172 + &irq_generic_chip_ops, p); 173 173 if (!p->irq_domain) { 174 174 ret = -ENXIO; 175 175 dev_err(dev, "cannot initialize irq domain\n");
+3 -3
drivers/irqchip/irq-renesas-rza1.c
··· 231 231 priv->chip.irq_set_type = rza1_irqc_set_type; 232 232 priv->chip.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_SKIP_SET_WAKE; 233 233 234 - priv->irq_domain = irq_domain_add_hierarchy(parent, 0, IRQC_NUM_IRQ, 235 - np, &rza1_irqc_domain_ops, 236 - priv); 234 + priv->irq_domain = irq_domain_create_hierarchy(parent, 0, IRQC_NUM_IRQ, 235 + of_fwnode_handle(np), &rza1_irqc_domain_ops, 236 + priv); 237 237 if (!priv->irq_domain) { 238 238 dev_err(dev, "cannot initialize irq domain\n"); 239 239 ret = -ENOMEM;
+3 -3
drivers/irqchip/irq-renesas-rzg2l.c
··· 574 574 575 575 raw_spin_lock_init(&rzg2l_irqc_data->lock); 576 576 577 - irq_domain = irq_domain_add_hierarchy(parent_domain, 0, IRQC_NUM_IRQ, 578 - node, &rzg2l_irqc_domain_ops, 579 - rzg2l_irqc_data); 577 + irq_domain = irq_domain_create_hierarchy(parent_domain, 0, IRQC_NUM_IRQ, 578 + of_fwnode_handle(node), &rzg2l_irqc_domain_ops, 579 + rzg2l_irqc_data); 580 580 if (!irq_domain) { 581 581 pm_runtime_put(dev); 582 582 return dev_err_probe(dev, -ENOMEM, "failed to add irq domain\n");
+3 -2
drivers/irqchip/irq-renesas-rzv2h.c
··· 514 514 515 515 raw_spin_lock_init(&rzv2h_icu_data->lock); 516 516 517 - irq_domain = irq_domain_add_hierarchy(parent_domain, 0, ICU_NUM_IRQ, node, 518 - &rzv2h_icu_domain_ops, rzv2h_icu_data); 517 + irq_domain = irq_domain_create_hierarchy(parent_domain, 0, ICU_NUM_IRQ, 518 + of_fwnode_handle(node), &rzv2h_icu_domain_ops, 519 + rzv2h_icu_data); 519 520 if (!irq_domain) { 520 521 dev_err(&pdev->dev, "failed to add irq domain\n"); 521 522 ret = -ENOMEM;
+1 -1
drivers/irqchip/irq-sa11x0.c
··· 162 162 */ 163 163 writel_relaxed(1, iobase + ICCR); 164 164 165 - sa1100_normal_irqdomain = irq_domain_add_simple(NULL, 165 + sa1100_normal_irqdomain = irq_domain_create_simple(NULL, 166 166 32, irq_start, 167 167 &sa1100_normal_irqdomain_ops, NULL); 168 168
+2 -2
drivers/irqchip/irq-sni-exiu.c
··· 253 253 if (IS_ERR(data)) 254 254 return PTR_ERR(data); 255 255 256 - domain = irq_domain_add_hierarchy(parent_domain, 0, NUM_IRQS, node, 257 - &exiu_domain_ops, data); 256 + domain = irq_domain_create_hierarchy(parent_domain, 0, NUM_IRQS, of_fwnode_handle(node), 257 + &exiu_domain_ops, data); 258 258 if (!domain) { 259 259 pr_err("%pOF: failed to allocate domain\n", node); 260 260 goto out_unmap;
+2 -2
drivers/irqchip/irq-sp7021-intc.c
··· 256 256 writel_relaxed(~0, REG_INTR_CLEAR + i * 4); 257 257 } 258 258 259 - sp_intc.domain = irq_domain_add_linear(node, SP_INTC_NR_IRQS, 260 - &sp_intc_dm_ops, &sp_intc); 259 + sp_intc.domain = irq_domain_create_linear(of_fwnode_handle(node), SP_INTC_NR_IRQS, 260 + &sp_intc_dm_ops, &sp_intc); 261 261 if (!sp_intc.domain) { 262 262 ret = -ENOMEM; 263 263 goto out_unmap1;
+2 -2
drivers/irqchip/irq-starfive-jh8100-intc.c
··· 158 158 159 159 raw_spin_lock_init(&irqc->lock); 160 160 161 - irqc->domain = irq_domain_add_linear(intc, STARFIVE_INTC_SRC_IRQ_NUM, 162 - &starfive_intc_domain_ops, irqc); 161 + irqc->domain = irq_domain_create_linear(of_fwnode_handle(intc), STARFIVE_INTC_SRC_IRQ_NUM, 162 + &starfive_intc_domain_ops, irqc); 163 163 if (!irqc->domain) { 164 164 pr_err("Unable to create IRQ domain\n"); 165 165 ret = -EINVAL;
+2 -2
drivers/irqchip/irq-stm32-exti.c
··· 344 344 if (!host_data) 345 345 return -ENOMEM; 346 346 347 - domain = irq_domain_add_linear(node, drv_data->bank_nr * IRQS_PER_BANK, 348 - &irq_exti_domain_ops, NULL); 347 + domain = irq_domain_create_linear(of_fwnode_handle(node), drv_data->bank_nr * IRQS_PER_BANK, 348 + &irq_exti_domain_ops, NULL); 349 349 if (!domain) { 350 350 pr_err("%pOFn: Could not register interrupt domain.\n", 351 351 node);
+3 -4
drivers/irqchip/irq-stm32mp-exti.c
··· 682 682 return -EINVAL; 683 683 } 684 684 685 - domain = irq_domain_add_hierarchy(parent_domain, 0, 686 - drv_data->bank_nr * IRQS_PER_BANK, 687 - np, &stm32mp_exti_domain_ops, 688 - host_data); 685 + domain = irq_domain_create_hierarchy(parent_domain, 0, drv_data->bank_nr * IRQS_PER_BANK, 686 + of_fwnode_handle(np), &stm32mp_exti_domain_ops, 687 + host_data); 689 688 690 689 if (!domain) { 691 690 dev_err(dev, "Could not register exti domain\n");
+1 -1
drivers/irqchip/irq-sun4i.c
··· 133 133 /* Configure the external interrupt source type */ 134 134 writel(0x00, irq_ic_data->irq_base + SUN4I_IRQ_NMI_CTRL_REG); 135 135 136 - irq_ic_data->irq_domain = irq_domain_add_linear(node, 3 * 32, 136 + irq_ic_data->irq_domain = irq_domain_create_linear(of_fwnode_handle(node), 3 * 32, 137 137 &sun4i_irq_ops, NULL); 138 138 if (!irq_ic_data->irq_domain) 139 139 panic("%pOF: unable to create IRQ domain\n", node);
+2 -2
drivers/irqchip/irq-sun6i-r.c
··· 338 338 return PTR_ERR(base); 339 339 } 340 340 341 - domain = irq_domain_add_hierarchy(parent_domain, 0, 0, node, 342 - &sun6i_r_intc_domain_ops, NULL); 341 + domain = irq_domain_create_hierarchy(parent_domain, 0, 0, of_fwnode_handle(node), 342 + &sun6i_r_intc_domain_ops, NULL); 343 343 if (!domain) { 344 344 pr_err("%pOF: Failed to allocate domain\n", node); 345 345 iounmap(base);
+1 -1
drivers/irqchip/irq-sunxi-nmi.c
··· 159 159 struct irq_domain *domain; 160 160 int ret; 161 161 162 - domain = irq_domain_add_linear(node, 1, &irq_generic_chip_ops, NULL); 162 + domain = irq_domain_create_linear(of_fwnode_handle(node), 1, &irq_generic_chip_ops, NULL); 163 163 if (!domain) { 164 164 pr_err("Could not register interrupt domain.\n"); 165 165 return -ENOMEM;
+4 -4
drivers/irqchip/irq-tb10x.c
··· 121 121 goto ioremap_fail; 122 122 } 123 123 124 - domain = irq_domain_add_linear(ictl, AB_IRQCTL_MAXIRQ, 125 - &irq_generic_chip_ops, NULL); 124 + domain = irq_domain_create_linear(of_fwnode_handle(ictl), AB_IRQCTL_MAXIRQ, 125 + &irq_generic_chip_ops, NULL); 126 126 if (!domain) { 127 127 ret = -ENOMEM; 128 128 pr_err("%pOFn: Could not register interrupt domain.\n", 129 129 ictl); 130 - goto irq_domain_add_fail; 130 + goto irq_domain_create_fail; 131 131 } 132 132 133 133 ret = irq_alloc_domain_generic_chips(domain, AB_IRQCTL_MAXIRQ, ··· 174 174 175 175 gc_alloc_fail: 176 176 irq_domain_remove(domain); 177 - irq_domain_add_fail: 177 + irq_domain_create_fail: 178 178 iounmap(reg_base); 179 179 ioremap_fail: 180 180 release_mem_region(mem.start, resource_size(&mem));
+2 -3
drivers/irqchip/irq-tegra.c
··· 330 330 node, num_ictlrs, soc->num_ictlrs); 331 331 332 332 333 - domain = irq_domain_add_hierarchy(parent_domain, 0, num_ictlrs * 32, 334 - node, &tegra_ictlr_domain_ops, 335 - lic); 333 + domain = irq_domain_create_hierarchy(parent_domain, 0, num_ictlrs * 32, 334 + of_fwnode_handle(node), &tegra_ictlr_domain_ops, lic); 336 335 if (!domain) { 337 336 pr_err("%pOF: failed to allocated domain\n", node); 338 337 err = -ENOMEM;
+3 -3
drivers/irqchip/irq-ti-sci-inta.c
··· 701 701 if (ret) 702 702 return ret; 703 703 704 - domain = irq_domain_add_linear(dev_of_node(dev), 705 - ti_sci_get_num_resources(inta->vint), 706 - &ti_sci_inta_irq_domain_ops, inta); 704 + domain = irq_domain_create_linear(of_fwnode_handle(dev_of_node(dev)), 705 + ti_sci_get_num_resources(inta->vint), 706 + &ti_sci_inta_irq_domain_ops, inta); 707 707 if (!domain) { 708 708 dev_err(dev, "Failed to allocate IRQ domain\n"); 709 709 return -ENOMEM;
+3 -2
drivers/irqchip/irq-ti-sci-intr.c
··· 274 274 return PTR_ERR(intr->out_irqs); 275 275 } 276 276 277 - domain = irq_domain_add_hierarchy(parent_domain, 0, 0, dev_of_node(dev), 278 - &ti_sci_intr_irq_domain_ops, intr); 277 + domain = irq_domain_create_hierarchy(parent_domain, 0, 0, 278 + of_fwnode_handle(dev_of_node(dev)), 279 + &ti_sci_intr_irq_domain_ops, intr); 279 280 if (!domain) { 280 281 dev_err(dev, "Failed to allocate IRQ domain\n"); 281 282 return -ENOMEM;
+1 -1
drivers/irqchip/irq-ts4800.c
··· 125 125 return -EINVAL; 126 126 } 127 127 128 - data->domain = irq_domain_add_linear(node, 8, &ts4800_ic_ops, data); 128 + data->domain = irq_domain_create_linear(of_fwnode_handle(node), 8, &ts4800_ic_ops, data); 129 129 if (!data->domain) { 130 130 dev_err(&pdev->dev, "cannot add IRQ domain\n"); 131 131 return -ENOMEM;
+2 -2
drivers/irqchip/irq-versatile-fpga.c
··· 176 176 f); 177 177 } 178 178 179 - f->domain = irq_domain_add_linear(node, fls(valid), 180 - &fpga_irqdomain_ops, f); 179 + f->domain = irq_domain_create_linear(of_fwnode_handle(node), fls(valid), 180 + &fpga_irqdomain_ops, f); 181 181 182 182 /* This will allocate all valid descriptors in the linear case */ 183 183 for (i = 0; i < fls(valid); i++)
+3 -3
drivers/irqchip/irq-vf610-mscm-ir.c
··· 209 209 regmap_read(mscm_cp_regmap, MSCM_CPxNUM, &cpuid); 210 210 mscm_ir_data->cpu_mask = 0x1 << cpuid; 211 211 212 - domain = irq_domain_add_hierarchy(domain_parent, 0, 213 - MSCM_IRSPRC_NUM, node, 214 - &mscm_irq_domain_ops, mscm_ir_data); 212 + domain = irq_domain_create_hierarchy(domain_parent, 0, MSCM_IRSPRC_NUM, 213 + of_fwnode_handle(node), &mscm_irq_domain_ops, 214 + mscm_ir_data); 215 215 if (!domain) { 216 216 ret = -ENOMEM; 217 217 goto out_unmap;
+3 -2
drivers/irqchip/irq-vic.c
··· 289 289 vic_handle_irq_cascaded, v); 290 290 } 291 291 292 - v->domain = irq_domain_add_simple(node, fls(valid_sources), irq, 293 - &vic_irqdomain_ops, v); 292 + v->domain = irq_domain_create_simple(of_fwnode_handle(node), 293 + fls(valid_sources), irq, 294 + &vic_irqdomain_ops, v); 294 295 /* create an IRQ mapping for each valid IRQ */ 295 296 for (i = 0; i < fls(valid_sources); i++) 296 297 if (valid_sources & (1 << i))
+1 -1
drivers/irqchip/irq-wpcm450-aic.c
··· 154 154 155 155 set_handle_irq(wpcm450_aic_handle_irq); 156 156 157 - aic->domain = irq_domain_add_linear(node, AIC_NUM_IRQS, &wpcm450_aic_ops, aic); 157 + aic->domain = irq_domain_create_linear(of_fwnode_handle(node), AIC_NUM_IRQS, &wpcm450_aic_ops, aic); 158 158 159 159 return 0; 160 160 }
+2 -2
drivers/irqchip/irq-xilinx-intc.c
··· 212 212 xintc_write(irqc, MER, MER_HIE | MER_ME); 213 213 } 214 214 215 - irqc->root_domain = irq_domain_add_linear(intc, irqc->nr_irq, 216 - &xintc_irq_domain_ops, irqc); 215 + irqc->root_domain = irq_domain_create_linear(of_fwnode_handle(intc), irqc->nr_irq, 216 + &xintc_irq_domain_ops, irqc); 217 217 if (!irqc->root_domain) { 218 218 pr_err("irq-xilinx: Unable to create IRQ domain\n"); 219 219 ret = -EINVAL;
+2 -3
drivers/irqchip/irq-xtensa-mx.c
··· 167 167 int __init xtensa_mx_init_legacy(struct device_node *interrupt_parent) 168 168 { 169 169 struct irq_domain *root_domain = 170 - irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0, 171 - &xtensa_mx_irq_domain_ops, 170 + irq_domain_create_legacy(NULL, NR_IRQS - 1, 1, 0, &xtensa_mx_irq_domain_ops, 172 171 &xtensa_mx_irq_chip); 173 172 xtensa_mx_init_common(root_domain); 174 173 return 0; ··· 177 178 struct device_node *interrupt_parent) 178 179 { 179 180 struct irq_domain *root_domain = 180 - irq_domain_add_linear(np, NR_IRQS, &xtensa_mx_irq_domain_ops, 181 + irq_domain_create_linear(of_fwnode_handle(np), NR_IRQS, &xtensa_mx_irq_domain_ops, 181 182 &xtensa_mx_irq_chip); 182 183 xtensa_mx_init_common(root_domain); 183 184 return 0;
+2 -2
drivers/irqchip/irq-xtensa-pic.c
··· 85 85 int __init xtensa_pic_init_legacy(struct device_node *interrupt_parent) 86 86 { 87 87 struct irq_domain *root_domain = 88 - irq_domain_add_legacy(NULL, NR_IRQS - 1, 1, 0, 88 + irq_domain_create_legacy(NULL, NR_IRQS - 1, 1, 0, 89 89 &xtensa_irq_domain_ops, &xtensa_irq_chip); 90 90 irq_set_default_domain(root_domain); 91 91 return 0; ··· 95 95 struct device_node *interrupt_parent) 96 96 { 97 97 struct irq_domain *root_domain = 98 - irq_domain_add_linear(np, NR_IRQS, &xtensa_irq_domain_ops, 98 + irq_domain_create_linear(of_fwnode_handle(np), NR_IRQS, &xtensa_irq_domain_ops, 99 99 &xtensa_irq_chip); 100 100 irq_set_default_domain(root_domain); 101 101 return 0;
+2 -2
drivers/irqchip/irq-zevio.c
··· 92 92 zevio_init_irq_base(zevio_irq_io + IO_IRQ_BASE); 93 93 zevio_init_irq_base(zevio_irq_io + IO_FIQ_BASE); 94 94 95 - zevio_irq_domain = irq_domain_add_linear(node, MAX_INTRS, 96 - &irq_generic_chip_ops, NULL); 95 + zevio_irq_domain = irq_domain_create_linear(of_fwnode_handle(node), MAX_INTRS, 96 + &irq_generic_chip_ops, NULL); 97 97 BUG_ON(!zevio_irq_domain); 98 98 99 99 ret = irq_alloc_domain_generic_chips(zevio_irq_domain, MAX_INTRS, 1,
+1 -1
drivers/irqchip/spear-shirq.c
··· 239 239 goto err_unmap; 240 240 } 241 241 242 - shirq_domain = irq_domain_add_legacy(np, nr_irqs, virq_base, 0, 242 + shirq_domain = irq_domain_create_legacy(of_fwnode_handle(np), nr_irqs, virq_base, 0, 243 243 &irq_domain_simple_ops, NULL); 244 244 if (WARN_ON(!shirq_domain)) { 245 245 pr_warn("%s: irq domain init failed\n", __func__);