Skip to content

Commit 0d22b03

Browse files
prabhakarladdaeinki
authored andcommitted
drm/exynos/exynos7_drm_decon: Use platform_get_irq_byname() to get the interrupt
platform_get_resource_byname(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_byname(). Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
1 parent ecf8a99 commit 0d22b03

1 file changed

Lines changed: 3 additions & 9 deletions

File tree

drivers/gpu/drm/exynos/exynos7_drm_decon.c

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,6 @@ static int decon_probe(struct platform_device *pdev)
678678
struct device *dev = &pdev->dev;
679679
struct decon_context *ctx;
680680
struct device_node *i80_if_timings;
681-
struct resource *res;
682681
int ret;
683682

684683
if (!dev->of_node)
@@ -728,16 +727,11 @@ static int decon_probe(struct platform_device *pdev)
728727
goto err_iounmap;
729728
}
730729

731-
res = platform_get_resource_byname(pdev, IORESOURCE_IRQ,
732-
ctx->i80_if ? "lcd_sys" : "vsync");
733-
if (!res) {
734-
dev_err(dev, "irq request failed.\n");
735-
ret = -ENXIO;
730+
ret = platform_get_irq_byname(pdev, ctx->i80_if ? "lcd_sys" : "vsync");
731+
if (ret < 0)
736732
goto err_iounmap;
737-
}
738733

739-
ret = devm_request_irq(dev, res->start, decon_irq_handler,
740-
0, "drm_decon", ctx);
734+
ret = devm_request_irq(dev, ret, decon_irq_handler, 0, "drm_decon", ctx);
741735
if (ret) {
742736
dev_err(dev, "irq request failed.\n");
743737
goto err_iounmap;

0 commit comments

Comments
 (0)