Skip to content

Commit 8ab1ff9

Browse files
prabhakarladwsakernel
authored andcommitted
i2c: riic: Use platform_get_irq() to get the interrupt
platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static allocation of IRQ resources in DT core code, this causes an issue when using hierarchical interrupt domains using "interrupts" property in the node as this bypasses the hierarchical setup and messes up the irq chaining. In preparation for removal of static setup of IRQ resource from DT core code use platform_get_irq(). Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Wolfram Sang <wsa@kernel.org>
1 parent aab799e commit 8ab1ff9

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

drivers/i2c/busses/i2c-riic.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -433,12 +433,12 @@ static int riic_i2c_probe(struct platform_device *pdev)
433433
}
434434

435435
for (i = 0; i < ARRAY_SIZE(riic_irqs); i++) {
436-
res = platform_get_resource(pdev, IORESOURCE_IRQ, riic_irqs[i].res_num);
437-
if (!res)
438-
return -ENODEV;
436+
ret = platform_get_irq(pdev, riic_irqs[i].res_num);
437+
if (ret < 0)
438+
return ret;
439439

440-
ret = devm_request_irq(&pdev->dev, res->start, riic_irqs[i].isr,
441-
0, riic_irqs[i].name, riic);
440+
ret = devm_request_irq(&pdev->dev, ret, riic_irqs[i].isr,
441+
0, riic_irqs[i].name, riic);
442442
if (ret) {
443443
dev_err(&pdev->dev, "failed to request irq %s\n", riic_irqs[i].name);
444444
return ret;

0 commit comments

Comments
 (0)