Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Viresh Kumar and committed by
Wim Van Sebroeck
60a1aa50 75f5a536

+9 -9
+9 -9
drivers/watchdog/mpcore_wdt.c
··· 347 347 348 348 wdt->dev = &pdev->dev; 349 349 wdt->irq = platform_get_irq(pdev, 0); 350 - if (wdt->irq < 0) 351 - return -ENXIO; 352 - 353 - ret = devm_request_irq(wdt->dev, wdt->irq, mpcore_wdt_fire, 0, 354 - "mpcore_wdt", wdt); 355 - if (ret) { 356 - dev_printk(KERN_ERR, wdt->dev, 357 - "cannot register IRQ%d for watchdog\n", wdt->irq); 358 - return ret; 350 + if (wdt->irq >= 0) { 351 + ret = devm_request_irq(wdt->dev, wdt->irq, mpcore_wdt_fire, 0, 352 + "mpcore_wdt", wdt); 353 + if (ret) { 354 + dev_printk(KERN_ERR, wdt->dev, 355 + "cannot register IRQ%d for watchdog\n", 356 + wdt->irq); 357 + return ret; 358 + } 359 359 } 360 360 361 361 wdt->base = devm_ioremap(wdt->dev, res->start, resource_size(res));