aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/watchdog/s3c2410_wdt.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-10-23 15:56:26 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-23 15:56:26 -0700
commit6d03a68e6d5528630955452ec4b768dbde0dc00c (patch)
tree56e843eec067ddba67fc098196b17e22c56d302f /drivers/char/watchdog/s3c2410_wdt.c
parent0c0e4668e0e65dd1404e8cf066d147235f95561d (diff)
parentcbf40d3f04c2c76a58f1183bb4a9a82fefb842e3 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: (33 commits) [WATCHDOG] remove experimental on iTCO_wdt.c [WATCHDOG] Atmel AT91RM9200 rename. [WATCHDOG] includes for sample watchdog program. [WATCHDOG] watchdog/iTCO_wdt: fix bug related to gcc uninit warning [WATCHDOG] add ich8 support to iTCO_wdt.c (patch 2) [WATCHDOG] add ich8 support to iTCO_wdt.c [WATCHDOG] ioremap balanced with iounmap for drivers/char/watchdog/s3c2410_wdt.c [WATCHDOG] w83697hf/hg WDT driver - Kconfig patch [WATCHDOG] w83697hf/hg WDT driver - autodetect patch [WATCHDOG] w83697hf/hg WDT driver - patch 16 [WATCHDOG] w83697hf/hg WDT driver - patch 15 [WATCHDOG] w83697hf/hg WDT driver - patch 14 [WATCHDOG] w83697hf/hg WDT driver - patch 13 [WATCHDOG] w83697hf/hg WDT driver - patch 12 [WATCHDOG] w83697hf/hg WDT driver - patch 11 [WATCHDOG] w83697hf/hg WDT driver - patch 10 [WATCHDOG] w83697hf/hg WDT driver - patch 9 [WATCHDOG] w83697hf/hg WDT driver - patch 8 [WATCHDOG] w83697hf/hg WDT driver - patch 7 [WATCHDOG] w83697hf/hg WDT driver - patch 6 ...
Diffstat (limited to 'drivers/char/watchdog/s3c2410_wdt.c')
-rw-r--r--drivers/char/watchdog/s3c2410_wdt.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/char/watchdog/s3c2410_wdt.c b/drivers/char/watchdog/s3c2410_wdt.c
index 68b1ca976d5..18cb050c386 100644
--- a/drivers/char/watchdog/s3c2410_wdt.c
+++ b/drivers/char/watchdog/s3c2410_wdt.c
@@ -380,18 +380,21 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
if (res == NULL) {
printk(KERN_INFO PFX "failed to get irq resource\n");
+ iounmap(wdt_base);
return -ENOENT;
}
ret = request_irq(res->start, s3c2410wdt_irq, 0, pdev->name, pdev);
if (ret != 0) {
printk(KERN_INFO PFX "failed to install irq (%d)\n", ret);
+ iounmap(wdt_base);
return ret;
}
wdt_clock = clk_get(&pdev->dev, "watchdog");
if (wdt_clock == NULL) {
printk(KERN_INFO PFX "failed to find watchdog clock source\n");
+ iounmap(wdt_base);
return -ENOENT;
}
@@ -415,6 +418,7 @@ static int s3c2410wdt_probe(struct platform_device *pdev)
if (ret) {
printk (KERN_ERR PFX "cannot register miscdev on minor=%d (%d)\n",
WATCHDOG_MINOR, ret);
+ iounmap(wdt_base);
return ret;
}
@@ -451,6 +455,7 @@ static int s3c2410wdt_remove(struct platform_device *dev)
wdt_clock = NULL;
}
+ iounmap(wdt_base);
misc_deregister(&s3c2410wdt_miscdev);
return 0;
}