| From bf12fdf0ab728ca8e5933aac46dd972c0dd0421e Mon Sep 17 00:00:00 2001 |
| From: Esben Haabendal <esben@geanix.com> |
| Date: Wed, 1 Jul 2020 16:56:58 +0200 |
| Subject: uio_pdrv_genirq: fix use without device tree and no interrupt |
| |
| From: Esben Haabendal <esben@geanix.com> |
| |
| commit bf12fdf0ab728ca8e5933aac46dd972c0dd0421e upstream. |
| |
| While e3a3c3a20555 ("UIO: fix uio_pdrv_genirq with device tree but no |
| interrupt") added support for using uio_pdrv_genirq for devices without |
| interrupt for device tree platforms, the removal of uio_pdrv in |
| 26dac3c49d56 ("uio: Remove uio_pdrv and use uio_pdrv_genirq instead") |
| broke the support for non device tree platforms. |
| |
| This change fixes this, so that uio_pdrv_genirq can be used without |
| interrupt on all platforms. |
| |
| This still leaves the support that uio_pdrv had for custom interrupt |
| handler lacking, as uio_pdrv_genirq does not handle it (yet). |
| |
| Fixes: 26dac3c49d56 ("uio: Remove uio_pdrv and use uio_pdrv_genirq instead") |
| Signed-off-by: Esben Haabendal <esben@geanix.com> |
| Cc: stable@vger.kernel.org |
| Link: https://lore.kernel.org/r/20200701145659.3978-3-esben@geanix.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/uio/uio_pdrv_genirq.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/uio/uio_pdrv_genirq.c |
| +++ b/drivers/uio/uio_pdrv_genirq.c |
| @@ -148,7 +148,7 @@ static int uio_pdrv_genirq_probe(struct |
| if (!uioinfo->irq) { |
| ret = platform_get_irq(pdev, 0); |
| uioinfo->irq = ret; |
| - if (ret == -ENXIO && pdev->dev.of_node) |
| + if (ret == -ENXIO) |
| uioinfo->irq = UIO_IRQ_NONE; |
| else if (ret < 0) { |
| dev_err(&pdev->dev, "failed to get IRQ\n"); |