watchdog: mpcore_wdt: Allow platform_get_irq() to fail

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@st.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
Viresh Kumar 2012-03-12 09:52:00 +05:30 committed by Wim Van Sebroeck
parent 75f5a536c0
commit 60a1aa50b2

View File

@ -347,15 +347,15 @@ static int __devinit mpcore_wdt_probe(struct platform_device *pdev)
wdt->dev = &pdev->dev;
wdt->irq = platform_get_irq(pdev, 0);
if (wdt->irq < 0)
return -ENXIO;
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;
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;
}
}
wdt->base = devm_ioremap(wdt->dev, res->start, resource_size(res));