gpio: pl061: Warn when IRQ line has not been configured
authorAlexander Sverdlin <alexander.sverdlin@nokia.com>
Tue, 3 Mar 2020 09:28:28 +0000 (10:28 +0100)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Wed, 25 Mar 2020 08:50:45 +0000 (09:50 +0100)
Existing (irq < 0) condition is always false because adev->irq has unsigned
type and contains 0 in case of failed irq_of_parse_and_map(). Up to now all
the mapping errors were silently ignored.

Seems that repairing this check would be backwards-incompatible and might
break the probe() for the implementations without IRQ support. Therefore
warn the user instead.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-pl061.c

index 5df7782e348ff9a04e638b606090da7ce09185f3..3439120f166ab190f24c43fe03cf4ad9d6fccb84 100644 (file)
@@ -326,10 +326,8 @@ static int pl061_probe(struct amba_device *adev, const struct amba_id *id)
 
        writeb(0, pl061->base + GPIOIE); /* disable irqs */
        irq = adev->irq[0];
-       if (irq < 0) {
-               dev_err(&adev->dev, "invalid IRQ\n");
-               return -ENODEV;
-       }
+       if (!irq)
+               dev_warn(&adev->dev, "IRQ support disabled\n");
        pl061->parent_irq = irq;
 
        girq = &pl061->gc.irq;