watchdog: w83627hf_wdt: Add early_disable module parameter
Add early_disable module parameter to match functionality previously available in the w83697hf_wdt driver. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
ebc5e33607
commit
be281588d0
1 changed files with 12 additions and 3 deletions
|
@ -64,6 +64,10 @@ MODULE_PARM_DESC(nowayout,
|
||||||
"Watchdog cannot be stopped once started (default="
|
"Watchdog cannot be stopped once started (default="
|
||||||
__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
|
__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
|
||||||
|
|
||||||
|
static int early_disable;
|
||||||
|
module_param(early_disable, int, 0);
|
||||||
|
MODULE_PARM_DESC(early_disable, "Disable watchdog at boot time (default=0)");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Kernel methods.
|
* Kernel methods.
|
||||||
*/
|
*/
|
||||||
|
@ -208,9 +212,14 @@ static int w83627hf_init(struct watchdog_device *wdog, enum chips chip)
|
||||||
|
|
||||||
t = superio_inb(cr_wdt_timeout);
|
t = superio_inb(cr_wdt_timeout);
|
||||||
if (t != 0) {
|
if (t != 0) {
|
||||||
pr_info("Watchdog already running. Resetting timeout to %d sec\n",
|
if (early_disable) {
|
||||||
wdog->timeout);
|
pr_warn("Stopping previously enabled watchdog until userland kicks in\n");
|
||||||
superio_outb(cr_wdt_timeout, wdog->timeout);
|
superio_outb(cr_wdt_timeout, 0);
|
||||||
|
} else {
|
||||||
|
pr_info("Watchdog already running. Resetting timeout to %d sec\n",
|
||||||
|
wdog->timeout);
|
||||||
|
superio_outb(cr_wdt_timeout, wdog->timeout);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set second mode & disable keyboard turning off watchdog */
|
/* set second mode & disable keyboard turning off watchdog */
|
||||||
|
|
Loading…
Add table
Reference in a new issue