diff options
author | Alexander Shishkin <alexander.shishkin@linux.intel.com> | 2017-08-23 09:47:19 +0300 |
---|---|---|
committer | Alexander Shishkin <alexander.shishkin@linux.intel.com> | 2018-03-28 18:47:21 +0300 |
commit | 661b0df8489a35da4ee8acaaf43f204a913ccfc9 (patch) | |
tree | f0d9b9cede5c0b5f7e6437040169b17ee9c2c6cc | |
parent | c2d2c7de972d7a08533bde622c36ff6feb112907 (diff) | |
download | linux-661b0df8489a35da4ee8acaaf43f204a913ccfc9.tar.xz |
intel_th: Pick up irq number from resources
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.shishkin@linux.intel.com>
-rw-r--r-- | drivers/hwtracing/intel_th/core.c | 9 |
1 files changed, 8 insertions, 1 deletions
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) |