mirror of https://gitee.com/openkylin/linux.git
watchdog: hpwdt: Add dynamic debug
Add a few dynamic debug messages to aid in module level debug. Signed-off-by: Jerry Hoemann <jerry.hoemann@hpe.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
This commit is contained in:
parent
0458f403fe
commit
ccfd69213d
|
@ -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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
|
|
||||||
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)
|
||||||
{
|
{
|
||||||
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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue