uio_pdrv_genirq: fix use without device tree and no interrupt
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>
This commit is contained in:
parent
17268122ba
commit
acd3901a62
@ -154,7 +154,7 @@ static int uio_pdrv_genirq_probe(struct platform_device *pdev)
|
||||
if (!uioinfo->irq) {
|
||||
ret = platform_get_irq_optional(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");
|
||||
|
Loading…
x
Reference in New Issue
Block a user