aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Schmitt <sven.schmitt@volkswagen.de>2012-08-09 14:46:34 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2012-08-24 10:54:05 +0200
commitda3d50ef308d53f216f1f92f4971f245c13e9f65 (patch)
tree0aaa3135784287ae0a39acc98a84a66d81702816
parentef813c412c0cf254ddce7d922289e2d6a69960f0 (diff)
downloadlinux-da3d50ef308d53f216f1f92f4971f245c13e9f65.tar.gz
can: sja1000_platform: fix wrong flag IRQF_SHARED for interrupt sharing
The sja1000 platform driver wrongly assumes that a shared IRQ is indicated with the IRQF_SHARED flag in irq resource flags. This patch changes the driver to handle the correct flag IORESOURCE_IRQ_SHAREABLE instead. There are no mainline users of the platform driver which wrongly make use of IRQF_SHARED. Signed-off-by: Sven Schmitt <sven.schmitt@volkswagen.de> Acked-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--drivers/net/can/sja1000/sja1000_platform.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/can/sja1000/sja1000_platform.c b/drivers/net/can/sja1000/sja1000_platform.c
index 4f50145f64839..662c5f7eb0c54 100644
--- a/drivers/net/can/sja1000/sja1000_platform.c
+++ b/drivers/net/can/sja1000/sja1000_platform.c
@@ -109,7 +109,9 @@ static int sp_probe(struct platform_device *pdev)
priv = netdev_priv(dev);
dev->irq = res_irq->start;
- priv->irq_flags = res_irq->flags & (IRQF_TRIGGER_MASK | IRQF_SHARED);
+ priv->irq_flags = res_irq->flags & IRQF_TRIGGER_MASK;
+ if (res_irq->flags & IORESOURCE_IRQ_SHAREABLE)
+ priv->irq_flags |= IRQF_SHARED;
priv->reg_base = addr;
/* The CAN clock frequency is half the oscillator clock frequency */
priv->can.clock.freq = pdata->osc_freq / 2;