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: gsc: 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
25b52279 61f5fc8d

+3 -7
+3 -7
drivers/gpu/drm/exynos/exynos_drm_gsc.c
··· 1220 1220 struct gsc_driverdata *driver_data; 1221 1221 struct exynos_drm_ipp_formats *formats; 1222 1222 struct gsc_context *ctx; 1223 - struct resource *res; 1224 1223 int num_formats, ret, i, j; 1225 1224 1226 1225 ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); ··· 1274 1275 return PTR_ERR(ctx->regs); 1275 1276 1276 1277 /* resource irq */ 1277 - res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 1278 - if (!res) { 1279 - dev_err(dev, "failed to request irq resource.\n"); 1280 - return -ENOENT; 1281 - } 1278 + ctx->irq = platform_get_irq(pdev, 0); 1279 + if (ctx->irq < 0) 1280 + return ctx->irq; 1282 1281 1283 - ctx->irq = res->start; 1284 1282 ret = devm_request_irq(dev, ctx->irq, gsc_irq_handler, 0, 1285 1283 dev_name(dev), ctx); 1286 1284 if (ret < 0) {