diff options
author | David Vrabel <dvrabel@arcom.com> | 2006-01-19 12:56:29 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-20 16:42:57 -0500 |
commit | 489447380a2921ec0e9154f773c44ab3167ede4b (patch) | |
tree | 10edc2bca15765dae7699b8d26cf3d828869bc3c /drivers/char | |
parent | 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 (diff) |
[PATCH] handle errors returned by platform_get_irq*()
platform_get_irq*() now returns on -ENXIO when the resource cannot be
found. Ensure all users of platform_get_irq*() handle this error
appropriately.
Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/s3c2410-rtc.c | 4 | ||||
-rw-r--r-- | drivers/char/watchdog/mpcore_wdt.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/char/s3c2410-rtc.c b/drivers/char/s3c2410-rtc.c index 2e308657f6f6..b0038b19b505 100644 --- a/drivers/char/s3c2410-rtc.c +++ b/drivers/char/s3c2410-rtc.c | |||
@@ -448,13 +448,13 @@ static int s3c2410_rtc_probe(struct platform_device *pdev) | |||
448 | /* find the IRQs */ | 448 | /* find the IRQs */ |
449 | 449 | ||
450 | s3c2410_rtc_tickno = platform_get_irq(pdev, 1); | 450 | s3c2410_rtc_tickno = platform_get_irq(pdev, 1); |
451 | if (s3c2410_rtc_tickno <= 0) { | 451 | if (s3c2410_rtc_tickno < 0) { |
452 | dev_err(&pdev->dev, "no irq for rtc tick\n"); | 452 | dev_err(&pdev->dev, "no irq for rtc tick\n"); |
453 | return -ENOENT; | 453 | return -ENOENT; |
454 | } | 454 | } |
455 | 455 | ||
456 | s3c2410_rtc_alarmno = platform_get_irq(pdev, 0); | 456 | s3c2410_rtc_alarmno = platform_get_irq(pdev, 0); |
457 | if (s3c2410_rtc_alarmno <= 0) { | 457 | if (s3c2410_rtc_alarmno < 0) { |
458 | dev_err(&pdev->dev, "no irq for alarm\n"); | 458 | dev_err(&pdev->dev, "no irq for alarm\n"); |
459 | return -ENOENT; | 459 | return -ENOENT; |
460 | } | 460 | } |
diff --git a/drivers/char/watchdog/mpcore_wdt.c b/drivers/char/watchdog/mpcore_wdt.c index b4d843489881..2c2c51773200 100644 --- a/drivers/char/watchdog/mpcore_wdt.c +++ b/drivers/char/watchdog/mpcore_wdt.c | |||
@@ -338,6 +338,10 @@ static int __devinit mpcore_wdt_probe(struct platform_device *dev) | |||
338 | 338 | ||
339 | wdt->dev = &dev->dev; | 339 | wdt->dev = &dev->dev; |
340 | wdt->irq = platform_get_irq(dev, 0); | 340 | wdt->irq = platform_get_irq(dev, 0); |
341 | if (wdt->irq < 0) { | ||
342 | ret = -ENXIO; | ||
343 | goto err_free; | ||
344 | } | ||
341 | wdt->base = ioremap(res->start, res->end - res->start + 1); | 345 | wdt->base = ioremap(res->start, res->end - res->start + 1); |
342 | if (!wdt->base) { | 346 | if (!wdt->base) { |
343 | ret = -ENOMEM; | 347 | ret = -ENOMEM; |