irq is not necessary for mpcore wdt. Don't return error if it is not passed. But if it is passed, then request_irq must pass. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxx> --- drivers/watchdog/mpcore_wdt.c | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/watchdog/mpcore_wdt.c b/drivers/watchdog/mpcore_wdt.c index 6a04e31..ebd964a 100644 --- a/drivers/watchdog/mpcore_wdt.c +++ b/drivers/watchdog/mpcore_wdt.c @@ -334,20 +334,20 @@ static int __devinit mpcore_wdt_probe(struct platform_device *pdev) return -ENOMEM; wdt->dev = &pdev->dev; - wdt->irq = platform_get_irq(pdev, 0); - if (wdt->irq < 0) - return -ENXIO; wdt->base = devm_ioremap(wdt->dev, res->start, resource_size(res)); if (!wdt->base) return -ENOMEM; - ret = devm_request_irq(wdt->dev, wdt->irq, mpcore_wdt_fire, 0, - "mpcore_wdt", wdt); - if (ret) { - dev_printk(KERN_ERR, wdt->dev, - "cannot register IRQ%d for watchdog\n", wdt->irq); - return ret; + wdt->irq = platform_get_irq(pdev, 0); + if (wdt->irq >= 0) { + ret = devm_request_irq(wdt->dev, wdt->irq, mpcore_wdt_fire, 0, + "mpcore_wdt", wdt); + if (ret) { + dev_printk(KERN_ERR, wdt->dev, + "cannot register IRQ%d for watchdog\n", wdt->irq); + return ret; + } } /* -- 1.7.8.110.g4cb5d -- To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html