gpio: omap: switch to use platform_get_irq
authorGrygorii Strashko <grygorii.strashko@ti.com>
Tue, 18 Aug 2015 11:10:53 +0000 (14:10 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 26 Aug 2015 07:52:43 +0000 (09:52 +0200)
Switch OMAP GPIO driver to use platform_get_irq(), because
it is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ, ..)
for requesting IRQ resources any more, as they can be not ready yet
in case of DT-boot.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-omap.c

index f38b01b5869cdb6d7270f5e3b9ff534614ece5f7..03fd111e2d17ce87a83aa2e4447d9d370ca55888 100644 (file)
@@ -1178,13 +1178,16 @@ static int omap_gpio_probe(struct platform_device *pdev)
        irqc->irq_set_wake = omap_gpio_wake_enable,
        irqc->name = dev_name(&pdev->dev);
 
-       res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-       if (unlikely(!res)) {
-               dev_err(dev, "Invalid IRQ resource\n");
-               return -ENODEV;
+       bank->irq = platform_get_irq(pdev, 0);
+       if (bank->irq <= 0) {
+               if (!bank->irq)
+                       bank->irq = -ENXIO;
+               if (bank->irq != -EPROBE_DEFER)
+                       dev_err(dev,
+                               "can't get irq resource ret=%d\n", bank->irq);
+               return bank->irq;
        }
 
-       bank->irq = res->start;
        bank->dev = dev;
        bank->chip.dev = dev;
        bank->chip.owner = THIS_MODULE;