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

Configure Feed

Select the types of activity you want to include in your feed.

pinctrl: 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>
Link: https://lore.kernel.org/all/20250319092951.37667-31-jirislaby@kernel.org



authored by

Jiri Slaby (SUSE) and committed by
Thomas Gleixner
219182fe 4b5e1d97

+11 -12
+2 -3
drivers/pinctrl/mediatek/mtk-eint.c
··· 565 565 goto err_eint; 566 566 } 567 567 568 - eint->domain = irq_domain_add_linear(eint->dev->of_node, 569 - eint->hw->ap_num, 570 - &irq_domain_simple_ops, NULL); 568 + eint->domain = irq_domain_create_linear(of_fwnode_handle(eint->dev->of_node), 569 + eint->hw->ap_num, &irq_domain_simple_ops, NULL); 571 570 if (!eint->domain) 572 571 goto err_eint; 573 572
+1 -1
drivers/pinctrl/pinctrl-at91-pio4.c
··· 1206 1206 dev_dbg(dev, "bank %i: irq=%d\n", i, ret); 1207 1207 } 1208 1208 1209 - atmel_pioctrl->irq_domain = irq_domain_add_linear(dev->of_node, 1209 + atmel_pioctrl->irq_domain = irq_domain_create_linear(of_fwnode_handle(dev->of_node), 1210 1210 atmel_pioctrl->gpio_chip->ngpio, 1211 1211 &irq_domain_simple_ops, NULL); 1212 1212 if (!atmel_pioctrl->irq_domain)
+5 -4
drivers/pinctrl/pinctrl-single.c
··· 1611 1611 1612 1612 /* 1613 1613 * We can use the register offset as the hardirq 1614 - * number as irq_domain_add_simple maps them lazily. 1614 + * number as irq_domain_create_simple maps them lazily. 1615 1615 * This way we can easily support more than one 1616 1616 * interrupt per function if needed. 1617 1617 */ 1618 1618 num_irqs = pcs->size; 1619 1619 1620 - pcs->domain = irq_domain_add_simple(np, num_irqs, 0, 1621 - &pcs_irqdomain_ops, 1622 - pcs_soc); 1620 + pcs->domain = irq_domain_create_simple(of_fwnode_handle(np), 1621 + num_irqs, 0, 1622 + &pcs_irqdomain_ops, 1623 + pcs_soc); 1623 1624 if (!pcs->domain) { 1624 1625 irq_set_chained_handler(pcs_soc->irq, NULL); 1625 1626 return -EINVAL;
+3 -4
drivers/pinctrl/sunxi/pinctrl-sunxi.c
··· 1646 1646 } 1647 1647 } 1648 1648 1649 - pctl->domain = irq_domain_add_linear(node, 1650 - pctl->desc->irq_banks * IRQ_PER_BANK, 1651 - &sunxi_pinctrl_irq_domain_ops, 1652 - pctl); 1649 + pctl->domain = irq_domain_create_linear(of_fwnode_handle(node), 1650 + pctl->desc->irq_banks * IRQ_PER_BANK, 1651 + &sunxi_pinctrl_irq_domain_ops, pctl); 1653 1652 if (!pctl->domain) { 1654 1653 dev_err(&pdev->dev, "Couldn't register IRQ domain\n"); 1655 1654 ret = -ENOMEM;