Commit ccfd6921 authored by Jerry Hoemann's avatar Jerry Hoemann Committed by Wim Van Sebroeck

watchdog: hpwdt: Add dynamic debug

Add a few dynamic debug messages to aid in module level debug.
Signed-off-by: default avatarJerry Hoemann <jerry.hoemann@hpe.com>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent 0458f403
...@@ -59,6 +59,7 @@ static int hpwdt_start(struct watchdog_device *wdd) ...@@ -59,6 +59,7 @@ static int hpwdt_start(struct watchdog_device *wdd)
int control = 0x81 | (pretimeout ? 0x4 : 0); int control = 0x81 | (pretimeout ? 0x4 : 0);
int reload = SECS_TO_TICKS(wdd->timeout); int reload = SECS_TO_TICKS(wdd->timeout);
dev_dbg(wdd->parent, "start watchdog 0x%08x:0x%02x\n", reload, control);
iowrite16(reload, hpwdt_timer_reg); iowrite16(reload, hpwdt_timer_reg);
iowrite8(control, hpwdt_timer_con); iowrite8(control, hpwdt_timer_con);
...@@ -69,6 +70,8 @@ static void hpwdt_stop(void) ...@@ -69,6 +70,8 @@ static void hpwdt_stop(void)
{ {
unsigned long data; unsigned long data;
pr_debug("stop watchdog\n");
data = ioread8(hpwdt_timer_con); data = ioread8(hpwdt_timer_con);
data &= 0xFE; data &= 0xFE;
iowrite8(data, hpwdt_timer_con); iowrite8(data, hpwdt_timer_con);
...@@ -85,6 +88,7 @@ static int hpwdt_ping(struct watchdog_device *wdd) ...@@ -85,6 +88,7 @@ static int hpwdt_ping(struct watchdog_device *wdd)
{ {
int reload = SECS_TO_TICKS(wdd->timeout); int reload = SECS_TO_TICKS(wdd->timeout);
dev_dbg(wdd->parent, "ping watchdog 0x%08x\n", reload);
iowrite16(reload, hpwdt_timer_reg); iowrite16(reload, hpwdt_timer_reg);
return 0; return 0;
...@@ -97,8 +101,11 @@ static unsigned int hpwdt_gettimeleft(struct watchdog_device *wdd) ...@@ -97,8 +101,11 @@ static unsigned int hpwdt_gettimeleft(struct watchdog_device *wdd)
static int hpwdt_settimeout(struct watchdog_device *wdd, unsigned int val) static int hpwdt_settimeout(struct watchdog_device *wdd, unsigned int val)
{ {
dev_dbg(wdd->parent, "set_timeout = %d\n", val);
wdd->timeout = val; wdd->timeout = val;
if (val <= wdd->pretimeout) { if (val <= wdd->pretimeout) {
dev_dbg(wdd->parent, "pretimeout < timeout. Setting to zero\n");
wdd->pretimeout = 0; wdd->pretimeout = 0;
pretimeout = 0; pretimeout = 0;
if (watchdog_active(wdd)) if (watchdog_active(wdd))
...@@ -114,12 +121,16 @@ static int hpwdt_set_pretimeout(struct watchdog_device *wdd, unsigned int req) ...@@ -114,12 +121,16 @@ static int hpwdt_set_pretimeout(struct watchdog_device *wdd, unsigned int req)
{ {
unsigned int val = 0; unsigned int val = 0;
dev_dbg(wdd->parent, "set_pretimeout = %d\n", req);
if (req) { if (req) {
val = PRETIMEOUT_SEC; val = PRETIMEOUT_SEC;
if (val >= wdd->timeout) if (val >= wdd->timeout)
return -EINVAL; return -EINVAL;
} }
if (val != req)
dev_dbg(wdd->parent, "Rounding pretimeout to: %d\n", val);
wdd->pretimeout = val; wdd->pretimeout = val;
pretimeout = !!val; pretimeout = !!val;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment