From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Viktorin Subject: [PATCH 2/4] uio: UIO_IRQ_NONE is a valid option for uioinfo->irq Date: Tue, 17 May 2016 11:22:18 +0200 Message-ID: <1463476940-26791-3-git-send-email-viktorin@rehivetech.com> References: <1463476940-26791-1-git-send-email-viktorin@rehivetech.com> Return-path: In-Reply-To: <1463476940-26791-1-git-send-email-viktorin-MQpMGdXoZmMqDJ6do+/SaQ@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Jan Viktorin , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , "Hans J. Koch" , Greg Kroah-Hartman List-Id: devicetree@vger.kernel.org We can simplify handling of platform_get_irq into one place as it is acceptable to see UIO_IRQ_NONE instead of a valid IRQ number. Some devices don't have or don't need any interrupt to be handled. The same change has been already done for uio_pdrv_genirq. Signed-off-by: Jan Viktorin --- drivers/uio/uio_dmem_genirq.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/uio/uio_dmem_genirq.c b/drivers/uio/uio_dmem_genirq.c index e1134a4..945515d 100644 --- a/drivers/uio/uio_dmem_genirq.c +++ b/drivers/uio/uio_dmem_genirq.c @@ -165,13 +165,6 @@ static int uio_dmem_genirq_probe(struct platform_device *pdev) } uioinfo->name = pdev->dev.of_node->name; uioinfo->version = "devicetree"; - - /* Multiple IRQs are not supported */ - irq = platform_get_irq(pdev, 0); - if (irq == -ENXIO) - uioinfo->irq = UIO_IRQ_NONE; - else - uioinfo->irq = irq; } if (!uioinfo || !uioinfo->name || !uioinfo->version) { @@ -200,14 +193,18 @@ static int uio_dmem_genirq_probe(struct platform_device *pdev) priv->pdev = pdev; mutex_init(&priv->alloc_lock); + /* Multiple IRQs are not supported */ if (!uioinfo->irq) { ret = platform_get_irq(pdev, 0); - if (ret < 0) { + uioinfo->irq = ret; + if (ret == -ENXIO && pdev->dev.of_node) + uioinfo->irq = UIO_IRQ_NONE; + else if (ret < 0) { dev_err(&pdev->dev, "failed to get IRQ\n"); goto bad1; } - uioinfo->irq = ret; } + uiomem = &uioinfo->mem[0]; for (i = 0; i < pdev->num_resources; ++i) { -- 2.8.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html