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.

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>

authored by

Lad Prabhakar and committed by
Inki Dae
6a91548e 970dc5ed

+6 -8
+6 -8
drivers/gpu/drm/exynos/exynos_mixer.c
··· 809 809 return -ENXIO; 810 810 } 811 811 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; 817 816 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); 820 819 if (ret) { 821 820 dev_err(dev, "request interrupt failed.\n"); 822 821 return ret; 823 822 } 824 - mixer_ctx->irq = res->start; 825 823 826 824 return 0; 827 825 }