aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLad Prabhakar <[email protected]>2022-03-09 20:23:27 +0000
committerGreg Kroah-Hartman <[email protected]>2022-03-18 13:55:21 +0100
commit1456277644b3d33e76f553724127184b1cd27974 (patch)
treedbd52d307f6a52ddeb0d3d101c7d207f3a486d01
parent3b2e6a932eade9625fb6388c970004ae866601ee (diff)
platform: goldfish: pipe: 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 bypasses the hierarchical setup and messes 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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
-rw-r--r--drivers/platform/goldfish/goldfish_pipe.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/platform/goldfish/goldfish_pipe.c b/drivers/platform/goldfish/goldfish_pipe.c
index b67539f9848c..7737d56191d7 100644
--- a/drivers/platform/goldfish/goldfish_pipe.c
+++ b/drivers/platform/goldfish/goldfish_pipe.c
@@ -896,11 +896,9 @@ static int goldfish_pipe_probe(struct platform_device *pdev)
return -EINVAL;
}
- r = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
- if (!r)
- return -EINVAL;
-
- dev->irq = r->start;
+ dev->irq = platform_get_irq(pdev, 0);
+ if (dev->irq < 0)
+ return dev->irq;
/*
* Exchange the versions with the host device