Skip to content

Commit be52abd

Browse files
prabhakarladdaeinki
authored andcommitted
drm/exynos: mixer: 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 bypassed the hierarchical setup and messed 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> Signed-off-by: Inki Dae <inki.dae@samsung.com>
1 parent 0d22b03 commit be52abd

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

drivers/gpu/drm/exynos/exynos_mixer.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -809,19 +809,17 @@ static int mixer_resources_init(struct mixer_context *mixer_ctx)
809809
return -ENXIO;
810810
}
811811

812-
res = platform_get_resource(mixer_ctx->pdev, IORESOURCE_IRQ, 0);
813-
if (res == NULL) {
814-
dev_err(dev, "get interrupt resource failed.\n");
815-
return -ENXIO;
816-
}
812+
ret = platform_get_irq(mixer_ctx->pdev, 0);
813+
if (ret < 0)
814+
return ret;
815+
mixer_ctx->irq = ret;
817816

818-
ret = devm_request_irq(dev, res->start, mixer_irq_handler,
819-
0, "drm_mixer", mixer_ctx);
817+
ret = devm_request_irq(dev, mixer_ctx->irq, mixer_irq_handler,
818+
0, "drm_mixer", mixer_ctx);
820819
if (ret) {
821820
dev_err(dev, "request interrupt failed.\n");
822821
return ret;
823822
}
824-
mixer_ctx->irq = res->start;
825823

826824
return 0;
827825
}

0 commit comments

Comments
 (0)