|
@@ -142,6 +142,7 @@ static const struct watchdog_ops pnx4008_wdt_ops = {
|
|
|
static struct watchdog_device pnx4008_wdd = {
|
|
|
.info = &pnx4008_wdt_ident,
|
|
|
.ops = &pnx4008_wdt_ops,
|
|
|
+ .timeout = DEFAULT_HEARTBEAT,
|
|
|
.min_timeout = 1,
|
|
|
.max_timeout = MAX_HEARTBEAT,
|
|
|
};
|
|
@@ -151,8 +152,7 @@ static int pnx4008_wdt_probe(struct platform_device *pdev)
|
|
|
struct resource *r;
|
|
|
int ret = 0;
|
|
|
|
|
|
- if (heartbeat < 1 || heartbeat > MAX_HEARTBEAT)
|
|
|
- heartbeat = DEFAULT_HEARTBEAT;
|
|
|
+ watchdog_init_timeout(&pnx4008_wdd, heartbeat, &pdev->dev);
|
|
|
|
|
|
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
wdt_base = devm_ioremap_resource(&pdev->dev, r);
|
|
@@ -167,7 +167,6 @@ static int pnx4008_wdt_probe(struct platform_device *pdev)
|
|
|
if (ret)
|
|
|
goto out;
|
|
|
|
|
|
- pnx4008_wdd.timeout = heartbeat;
|
|
|
pnx4008_wdd.bootstatus = (readl(WDTIM_RES(wdt_base)) & WDOG_RESET) ?
|
|
|
WDIOF_CARDRESET : 0;
|
|
|
watchdog_set_nowayout(&pnx4008_wdd, nowayout);
|
|
@@ -181,7 +180,7 @@ static int pnx4008_wdt_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
|
|
|
dev_info(&pdev->dev, "PNX4008 Watchdog Timer: heartbeat %d sec\n",
|
|
|
- heartbeat);
|
|
|
+ pnx4008_wdd.timeout);
|
|
|
|
|
|
return 0;
|
|
|
|