Lines Matching refs:wdev

50 	struct watchdog_device wdev;  member
65 static int rwdt_init_timeout(struct watchdog_device *wdev) in rwdt_init_timeout() argument
67 struct rwdt_priv *priv = watchdog_get_drvdata(wdev); in rwdt_init_timeout()
69 rwdt_write(priv, 65536 - MUL_BY_CLKS_PER_SEC(priv, wdev->timeout), RWTCNT); in rwdt_init_timeout()
83 static int rwdt_start(struct watchdog_device *wdev) in rwdt_start() argument
85 struct rwdt_priv *priv = watchdog_get_drvdata(wdev); in rwdt_start()
88 pm_runtime_get_sync(wdev->parent); in rwdt_start()
96 rwdt_init_timeout(wdev); in rwdt_start()
108 static int rwdt_stop(struct watchdog_device *wdev) in rwdt_stop() argument
110 struct rwdt_priv *priv = watchdog_get_drvdata(wdev); in rwdt_stop()
115 pm_runtime_put(wdev->parent); in rwdt_stop()
120 static unsigned int rwdt_get_timeleft(struct watchdog_device *wdev) in rwdt_get_timeleft() argument
122 struct rwdt_priv *priv = watchdog_get_drvdata(wdev); in rwdt_get_timeleft()
128 static int rwdt_restart(struct watchdog_device *wdev, unsigned long action, in rwdt_restart() argument
131 struct rwdt_priv *priv = watchdog_get_drvdata(wdev); in rwdt_restart()
133 rwdt_start(wdev); in rwdt_restart()
218 priv->wdev.bootstatus = csra & RWTCSRA_WOVF ? WDIOF_CARDRESET : 0; in rwdt_probe()
240 priv->wdev.info = &rwdt_ident; in rwdt_probe()
241 priv->wdev.ops = &rwdt_ops; in rwdt_probe()
242 priv->wdev.parent = dev; in rwdt_probe()
243 priv->wdev.min_timeout = 1; in rwdt_probe()
244 priv->wdev.max_timeout = DIV_BY_CLKS_PER_SEC(priv, 65536); in rwdt_probe()
245 priv->wdev.timeout = min(priv->wdev.max_timeout, RWDT_DEFAULT_TIMEOUT); in rwdt_probe()
248 watchdog_set_drvdata(&priv->wdev, priv); in rwdt_probe()
249 watchdog_set_nowayout(&priv->wdev, nowayout); in rwdt_probe()
250 watchdog_set_restart_priority(&priv->wdev, 0); in rwdt_probe()
251 watchdog_stop_on_unregister(&priv->wdev); in rwdt_probe()
254 watchdog_init_timeout(&priv->wdev, 0, dev); in rwdt_probe()
259 rwdt_start(&priv->wdev); in rwdt_probe()
260 set_bit(WDOG_HW_RUNNING, &priv->wdev.status); in rwdt_probe()
263 ret = watchdog_register_device(&priv->wdev); in rwdt_probe()
278 watchdog_unregister_device(&priv->wdev); in rwdt_remove()
288 if (watchdog_active(&priv->wdev)) in rwdt_suspend()
289 rwdt_stop(&priv->wdev); in rwdt_suspend()
298 if (watchdog_active(&priv->wdev)) in rwdt_resume()
299 rwdt_start(&priv->wdev); in rwdt_resume()