2012-11-24 20:07:25 +00:00
|
|
|
--- a/drivers/watchdog/bcm47xx_wdt.c
|
|
|
|
+++ b/drivers/watchdog/bcm47xx_wdt.c
|
2012-12-12 22:42:18 +00:00
|
|
|
@@ -30,7 +30,7 @@
|
|
|
|
#define DRV_NAME "bcm47xx_wdt"
|
2012-11-24 20:07:25 +00:00
|
|
|
|
2012-12-12 22:42:18 +00:00
|
|
|
#define WDT_DEFAULT_TIME 30 /* seconds */
|
|
|
|
-#define WDT_MAX_TIME 255 /* seconds */
|
|
|
|
+#define WDT_SOFTTIMER_MAX 255 /* seconds */
|
|
|
|
|
|
|
|
static int wdt_time = WDT_DEFAULT_TIME;
|
|
|
|
static bool nowayout = WATCHDOG_NOWAYOUT;
|
|
|
|
@@ -49,7 +49,7 @@ static inline struct bcm47xx_wdt *bcm47x
|
2012-11-24 20:07:25 +00:00
|
|
|
return container_of(wdd, struct bcm47xx_wdt, wdd);
|
|
|
|
}
|
|
|
|
|
|
|
|
-static void bcm47xx_timer_tick(unsigned long data)
|
|
|
|
+static void bcm47xx_wdt_soft_timer_tick(unsigned long data)
|
|
|
|
{
|
|
|
|
struct bcm47xx_wdt *wdt = (struct bcm47xx_wdt *)data;
|
|
|
|
u32 next_tick = min(wdt->wdd.timeout * 1000, wdt->max_timer_ms);
|
2012-12-12 22:42:18 +00:00
|
|
|
@@ -62,7 +62,7 @@ static void bcm47xx_timer_tick(unsigned
|
2012-11-24 20:07:25 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-static int bcm47xx_wdt_keepalive(struct watchdog_device *wdd)
|
|
|
|
+static int bcm47xx_wdt_soft_keepalive(struct watchdog_device *wdd)
|
|
|
|
{
|
|
|
|
struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd);
|
|
|
|
|
2012-12-12 22:42:18 +00:00
|
|
|
@@ -71,17 +71,17 @@ static int bcm47xx_wdt_keepalive(struct
|
2012-11-24 20:07:25 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
-static int bcm47xx_wdt_start(struct watchdog_device *wdd)
|
|
|
|
+static int bcm47xx_wdt_soft_start(struct watchdog_device *wdd)
|
|
|
|
{
|
|
|
|
struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd);
|
|
|
|
|
|
|
|
- bcm47xx_wdt_keepalive(wdd);
|
|
|
|
- bcm47xx_timer_tick((unsigned long)wdt);
|
|
|
|
+ bcm47xx_wdt_soft_keepalive(wdd);
|
|
|
|
+ bcm47xx_wdt_soft_timer_tick((unsigned long)wdt);
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
-static int bcm47xx_wdt_stop(struct watchdog_device *wdd)
|
|
|
|
+static int bcm47xx_wdt_soft_stop(struct watchdog_device *wdd)
|
|
|
|
{
|
|
|
|
struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd);
|
|
|
|
|
2012-12-12 22:42:18 +00:00
|
|
|
@@ -91,12 +91,12 @@ static int bcm47xx_wdt_stop(struct watch
|
2012-11-24 20:07:25 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
-static int bcm47xx_wdt_set_timeout(struct watchdog_device *wdd,
|
|
|
|
- unsigned int new_time)
|
|
|
|
+static int bcm47xx_wdt_soft_set_timeout(struct watchdog_device *wdd,
|
|
|
|
+ unsigned int new_time)
|
|
|
|
{
|
2012-12-12 22:42:18 +00:00
|
|
|
- if (new_time < 1 || new_time > WDT_MAX_TIME) {
|
|
|
|
+ if (new_time < 1 || new_time > WDT_SOFTTIMER_MAX) {
|
2012-11-24 20:07:25 +00:00
|
|
|
pr_warn("timeout value must be 1<=x<=%d, using %d\n",
|
2012-12-12 22:42:18 +00:00
|
|
|
- WDT_MAX_TIME, new_time);
|
|
|
|
+ WDT_SOFTTIMER_MAX, new_time);
|
|
|
|
return -EINVAL;
|
|
|
|
}
|
|
|
|
|
|
|
|
@@ -122,12 +122,12 @@ static int bcm47xx_wdt_notify_sys(struct
|
2012-11-24 20:07:25 +00:00
|
|
|
return NOTIFY_DONE;
|
|
|
|
}
|
|
|
|
|
|
|
|
-static struct watchdog_ops bcm47xx_wdt_ops = {
|
|
|
|
+static struct watchdog_ops bcm47xx_wdt_soft_ops = {
|
|
|
|
.owner = THIS_MODULE,
|
|
|
|
- .start = bcm47xx_wdt_start,
|
|
|
|
- .stop = bcm47xx_wdt_stop,
|
|
|
|
- .ping = bcm47xx_wdt_keepalive,
|
|
|
|
- .set_timeout = bcm47xx_wdt_set_timeout,
|
|
|
|
+ .start = bcm47xx_wdt_soft_start,
|
|
|
|
+ .stop = bcm47xx_wdt_soft_stop,
|
|
|
|
+ .ping = bcm47xx_wdt_soft_keepalive,
|
|
|
|
+ .set_timeout = bcm47xx_wdt_soft_set_timeout,
|
|
|
|
};
|
|
|
|
|
|
|
|
static int __devinit bcm47xx_wdt_probe(struct platform_device *pdev)
|
2012-12-12 22:42:18 +00:00
|
|
|
@@ -138,10 +138,10 @@ static int __devinit bcm47xx_wdt_probe(s
|
2012-11-24 20:07:25 +00:00
|
|
|
if (!wdt)
|
|
|
|
return -ENXIO;
|
|
|
|
|
|
|
|
- setup_timer(&wdt->soft_timer, bcm47xx_timer_tick,
|
|
|
|
+ setup_timer(&wdt->soft_timer, bcm47xx_wdt_soft_timer_tick,
|
|
|
|
(long unsigned int)wdt);
|
|
|
|
|
|
|
|
- wdt->wdd.ops = &bcm47xx_wdt_ops;
|
|
|
|
+ wdt->wdd.ops = &bcm47xx_wdt_soft_ops;
|
|
|
|
wdt->wdd.info = &bcm47xx_wdt_info;
|
|
|
|
wdt->wdd.timeout = WDT_DEFAULT_TIME;
|
|
|
|
ret = wdt->wdd.ops->set_timeout(&wdt->wdd, timeout);
|