Skip to content

Commit be0a3b7

Browse files
prabhakarladdaeinki
authored andcommitted
drm/exynos/fimc: 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 b342c1f commit be0a3b7

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

drivers/gpu/drm/exynos/exynos_drm_fimc.c

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,7 +1267,6 @@ static int fimc_probe(struct platform_device *pdev)
12671267
struct exynos_drm_ipp_formats *formats;
12681268
struct device *dev = &pdev->dev;
12691269
struct fimc_context *ctx;
1270-
struct resource *res;
12711270
int ret;
12721271
int i, j, num_limits, num_formats;
12731272

@@ -1330,14 +1329,12 @@ static int fimc_probe(struct platform_device *pdev)
13301329
return PTR_ERR(ctx->regs);
13311330

13321331
/* resource irq */
1333-
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
1334-
if (!res) {
1335-
dev_err(dev, "failed to request irq resource.\n");
1336-
return -ENOENT;
1337-
}
1332+
ret = platform_get_irq(pdev, 0);
1333+
if (ret < 0)
1334+
return ret;
13381335

1339-
ret = devm_request_irq(dev, res->start, fimc_irq_handler,
1340-
0, dev_name(dev), ctx);
1336+
ret = devm_request_irq(dev, ret, fimc_irq_handler,
1337+
0, dev_name(dev), ctx);
13411338
if (ret < 0) {
13421339
dev_err(dev, "failed to request irq.\n");
13431340
return ret;

0 commit comments

Comments
 (0)