Platform devices pass their IRQs around as resources, so as a convenience
for the glue layer code, allow them pass the IRQ to the core driver in
the resources array.

Signed-off-by: Alexander Shishkin <alexander.shish...@linux.intel.com>
---
 drivers/hwtracing/intel_th/core.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/hwtracing/intel_th/core.c 
b/drivers/hwtracing/intel_th/core.c
index d295b221e0bc..8f820c182240 100644
--- a/drivers/hwtracing/intel_th/core.c
+++ b/drivers/hwtracing/intel_th/core.c
@@ -805,7 +805,14 @@ intel_th_alloc(struct device *dev, struct intel_th_drvdata 
*drvdata,
               struct resource *devres, unsigned int ndevres, int irq)
 {
        struct intel_th *th;
-       int err;
+       int err, r;
+
+       if (irq == -1)
+               for (r = 0; r < ndevres; r++)
+                       if (devres[r].flags & IORESOURCE_IRQ) {
+                               irq = devres[r].start;
+                               break;
+                       }
 
        th = kzalloc(sizeof(*th), GFP_KERNEL);
        if (!th)
-- 
2.16.2

Reply via email to