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: watchdog: Enable NXP LPC32XX support in Kconfig (resend) watchdog: ts72xx_wdt: disable watchdog at probe watchdog: sb_wdog: release irq and reboot notifier in error path and module_exit()
This commit is contained in:
commit
7fd3fce3a0
@ -213,11 +213,11 @@ config OMAP_WATCHDOG
|
|||||||
here to enable the OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer.
|
here to enable the OMAP1610/OMAP1710/OMAP2420/OMAP3430/OMAP4430 watchdog timer.
|
||||||
|
|
||||||
config PNX4008_WATCHDOG
|
config PNX4008_WATCHDOG
|
||||||
tristate "PNX4008 Watchdog"
|
tristate "PNX4008 and LPC32XX Watchdog"
|
||||||
depends on ARCH_PNX4008
|
depends on ARCH_PNX4008 || ARCH_LPC32XX
|
||||||
help
|
help
|
||||||
Say Y here if to include support for the watchdog timer
|
Say Y here if to include support for the watchdog timer
|
||||||
in the PNX4008 processor.
|
in the PNX4008 or LPC32XX processor.
|
||||||
This driver can be built as a module by choosing M. The module
|
This driver can be built as a module by choosing M. The module
|
||||||
will be called pnx4008_wdt.
|
will be called pnx4008_wdt.
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ static int __init sbwdog_init(void)
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
printk(KERN_ERR "%s: failed to request irq 1 - %d\n",
|
printk(KERN_ERR "%s: failed to request irq 1 - %d\n",
|
||||||
ident.identity, ret);
|
ident.identity, ret);
|
||||||
return ret;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = misc_register(&sbwdog_miscdev);
|
ret = misc_register(&sbwdog_miscdev);
|
||||||
@ -313,14 +313,20 @@ static int __init sbwdog_init(void)
|
|||||||
printk(KERN_INFO "%s: timeout is %ld.%ld secs\n",
|
printk(KERN_INFO "%s: timeout is %ld.%ld secs\n",
|
||||||
ident.identity,
|
ident.identity,
|
||||||
timeout / 1000000, (timeout / 100000) % 10);
|
timeout / 1000000, (timeout / 100000) % 10);
|
||||||
} else
|
return 0;
|
||||||
free_irq(1, (void *)user_dog);
|
}
|
||||||
|
free_irq(1, (void *)user_dog);
|
||||||
|
out:
|
||||||
|
unregister_reboot_notifier(&sbwdog_notifier);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit sbwdog_exit(void)
|
static void __exit sbwdog_exit(void)
|
||||||
{
|
{
|
||||||
misc_deregister(&sbwdog_miscdev);
|
misc_deregister(&sbwdog_miscdev);
|
||||||
|
free_irq(1, (void *)user_dog);
|
||||||
|
unregister_reboot_notifier(&sbwdog_notifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
module_init(sbwdog_init);
|
module_init(sbwdog_init);
|
||||||
|
@ -449,6 +449,9 @@ static __devinit int ts72xx_wdt_probe(struct platform_device *pdev)
|
|||||||
wdt->pdev = pdev;
|
wdt->pdev = pdev;
|
||||||
mutex_init(&wdt->lock);
|
mutex_init(&wdt->lock);
|
||||||
|
|
||||||
|
/* make sure that the watchdog is disabled */
|
||||||
|
ts72xx_wdt_stop(wdt);
|
||||||
|
|
||||||
error = misc_register(&ts72xx_wdt_miscdev);
|
error = misc_register(&ts72xx_wdt_miscdev);
|
||||||
if (error) {
|
if (error) {
|
||||||
dev_err(&pdev->dev, "failed to register miscdev\n");
|
dev_err(&pdev->dev, "failed to register miscdev\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user