Lines Matching refs:wdt_dev

68 	struct watchdog_device wdt_dev;
184 static int mtk_wdt_restart(struct watchdog_device *wdt_dev,
187 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev);
200 static int mtk_wdt_ping(struct watchdog_device *wdt_dev)
202 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev);
210 static int mtk_wdt_set_timeout(struct watchdog_device *wdt_dev,
213 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev);
217 wdt_dev->timeout = timeout;
222 if (wdt_dev->pretimeout)
223 wdt_dev->pretimeout = timeout / 2;
229 reg = WDT_LENGTH_TIMEOUT((timeout - wdt_dev->pretimeout) << 6)
233 mtk_wdt_ping(wdt_dev);
238 static void mtk_wdt_init(struct watchdog_device *wdt_dev)
240 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev);
246 set_bit(WDOG_HW_RUNNING, &wdt_dev->status);
247 mtk_wdt_set_timeout(wdt_dev, wdt_dev->timeout);
251 static int mtk_wdt_stop(struct watchdog_device *wdt_dev)
253 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev);
265 static int mtk_wdt_start(struct watchdog_device *wdt_dev)
268 struct mtk_wdt_dev *mtk_wdt = watchdog_get_drvdata(wdt_dev);
272 ret = mtk_wdt_set_timeout(wdt_dev, wdt_dev->timeout);
277 if (wdt_dev->pretimeout)
368 &mtk_wdt->wdt_dev);
372 mtk_wdt->wdt_dev.info = &mtk_wdt_pt_info;
373 mtk_wdt->wdt_dev.pretimeout = WDT_MAX_TIMEOUT / 2;
378 mtk_wdt->wdt_dev.info = &mtk_wdt_info;
381 mtk_wdt->wdt_dev.ops = &mtk_wdt_ops;
382 mtk_wdt->wdt_dev.timeout = WDT_MAX_TIMEOUT;
383 mtk_wdt->wdt_dev.max_hw_heartbeat_ms = WDT_MAX_TIMEOUT * 1000;
384 mtk_wdt->wdt_dev.min_timeout = WDT_MIN_TIMEOUT;
385 mtk_wdt->wdt_dev.parent = dev;
387 watchdog_init_timeout(&mtk_wdt->wdt_dev, timeout, dev);
388 watchdog_set_nowayout(&mtk_wdt->wdt_dev, nowayout);
389 watchdog_set_restart_priority(&mtk_wdt->wdt_dev, 128);
391 watchdog_set_drvdata(&mtk_wdt->wdt_dev, mtk_wdt);
393 mtk_wdt_init(&mtk_wdt->wdt_dev);
395 watchdog_stop_on_reboot(&mtk_wdt->wdt_dev);
396 err = devm_watchdog_register_device(dev, &mtk_wdt->wdt_dev);
401 mtk_wdt->wdt_dev.timeout, nowayout);
424 if (watchdog_active(&mtk_wdt->wdt_dev))
425 mtk_wdt_stop(&mtk_wdt->wdt_dev);
434 if (watchdog_active(&mtk_wdt->wdt_dev)) {
435 mtk_wdt_start(&mtk_wdt->wdt_dev);
436 mtk_wdt_ping(&mtk_wdt->wdt_dev);