[PATCH] uio_pdrv_genirq: don't re-setup irq if already configured by OF

From: Anatolij Gustschin
Date: Tue Jan 29 2013 - 10:56:16 EST


If an OF node doesn't specify an interrupt property, 'uioinfo->irq'
will be assigned to the UIO_IRQ_NONE value meaning no interrupt
support. Trying to re-setup the irq later results in an error again
and probing fails. To prevent this do not try to re-setup the irq
if it was configured to UIO_IRQ_NONE by OF related code.

Signed-off-by: Anatolij Gustschin <agust@xxxxxxx>
---
drivers/uio/uio_pdrv_genirq.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/uio/uio_pdrv_genirq.c b/drivers/uio/uio_pdrv_genirq.c
index c122bca..16f7ae4 100644
--- a/drivers/uio/uio_pdrv_genirq.c
+++ b/drivers/uio/uio_pdrv_genirq.c
@@ -146,7 +146,7 @@ static int uio_pdrv_genirq_probe(struct platform_device *pdev)
priv->flags = 0; /* interrupt is enabled to begin with */
priv->pdev = pdev;

- if (!uioinfo->irq) {
+ if (!pdev->dev.of_node && !uioinfo->irq) {
ret = platform_get_irq(pdev, 0);
if (ret < 0) {
dev_err(&pdev->dev, "failed to get IRQ\n");
--
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/