Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 296799
b: refs/heads/master
c: dddbc6a
h: refs/heads/master
i:
  296797: 96501d6
  296795: 842e278
  296791: 7d17f3e
  296783: f7d2b92
  296767: 15b08be
v: v3
  • Loading branch information
Wim Van Sebroeck committed Mar 27, 2012
1 parent ace933f commit 29ada73
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 15b25701b282bd761a82c6508529b2145744075f
refs/heads/master: dddbc6a0513b25c80e73e14ee704186deedc0d00
16 changes: 10 additions & 6 deletions trunk/drivers/watchdog/coh901327_wdt.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
#define U300_WDOG_IFR_WILL_BARK_IRQ_FORCE_ENABLE 0x0001U

/* Default timeout in seconds = 1 minute */
static int margin = 60;
static unsigned int margin = 60;
static resource_size_t phybase;
static resource_size_t physize;
static int irq;
Expand Down Expand Up @@ -153,7 +153,7 @@ static void coh901327_disable(void)

static int coh901327_start(struct watchdog_device *wdt_dev)
{
coh901327_enable(margin * 100);
coh901327_enable(wdt_dev->timeout * 100);
return 0;
}

Expand All @@ -176,10 +176,10 @@ static int coh901327_ping(struct watchdog_device *wdd)
static int coh901327_settimeout(struct watchdog_device *wdt_dev,
unsigned int time)
{
margin = time;
wdt_dev->timeout = time;
clk_enable(clk);
/* Set new timeout value */
writew(margin * 100, virtbase + U300_WDOG_TR);
writew(time * 100, virtbase + U300_WDOG_TR);
/* Feed the dog */
writew(U300_WDOG_FR_FEED_RESTART_TIMER,
virtbase + U300_WDOG_FR);
Expand Down Expand Up @@ -250,7 +250,7 @@ static struct watchdog_device coh901327_wdt = {
.info = &coh901327_ident,
.ops = &coh901327_ops,
/*
* Max margin is 327 since the 10ms
* Max timeout is 327 since the 10ms
* timeout register is max
* 0x7FFF = 327670ms ~= 327s.
*/
Expand Down Expand Up @@ -353,6 +353,10 @@ static int __init coh901327_probe(struct platform_device *pdev)

clk_disable(clk);

if (margin < 1 || margin > 327)
margin = 60;
coh901327_wdt.timeout = margin;

ret = watchdog_register_device(&coh901327_wdt);
if (ret == 0)
dev_info(&pdev->dev,
Expand Down Expand Up @@ -461,7 +465,7 @@ module_exit(coh901327_exit);
MODULE_AUTHOR("Linus Walleij <linus.walleij@stericsson.com>");
MODULE_DESCRIPTION("COH 901 327 Watchdog");

module_param(margin, int, 0);
module_param(margin, uint, 0);
MODULE_PARM_DESC(margin, "Watchdog margin in seconds (default 60s)");

MODULE_LICENSE("GPL");
Expand Down

0 comments on commit 29ada73

Please sign in to comment.