Lines Matching refs:wdev
53 struct watchdog_device wdev; member
110 static void rzg2l_wdt_init_timeout(struct watchdog_device *wdev) in rzg2l_wdt_init_timeout() argument
112 struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev); in rzg2l_wdt_init_timeout()
118 time_out = (wdev->timeout * (MICRO / 2)) / in rzg2l_wdt_init_timeout()
123 static int rzg2l_wdt_start(struct watchdog_device *wdev) in rzg2l_wdt_start() argument
125 struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev); in rzg2l_wdt_start()
127 pm_runtime_get_sync(wdev->parent); in rzg2l_wdt_start()
130 rzg2l_wdt_init_timeout(wdev); in rzg2l_wdt_start()
141 static int rzg2l_wdt_stop(struct watchdog_device *wdev) in rzg2l_wdt_stop() argument
143 struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev); in rzg2l_wdt_stop()
146 pm_runtime_put(wdev->parent); in rzg2l_wdt_stop()
151 static int rzg2l_wdt_set_timeout(struct watchdog_device *wdev, unsigned int timeout) in rzg2l_wdt_set_timeout() argument
153 wdev->timeout = timeout; in rzg2l_wdt_set_timeout()
160 if (watchdog_active(wdev)) { in rzg2l_wdt_set_timeout()
161 rzg2l_wdt_stop(wdev); in rzg2l_wdt_set_timeout()
162 rzg2l_wdt_start(wdev); in rzg2l_wdt_set_timeout()
168 static int rzg2l_wdt_restart(struct watchdog_device *wdev, in rzg2l_wdt_restart() argument
171 struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev); in rzg2l_wdt_restart()
186 wdev->timeout = 0; in rzg2l_wdt_restart()
189 rzg2l_wdt_init_timeout(wdev); in rzg2l_wdt_restart()
209 static int rzg2l_wdt_ping(struct watchdog_device *wdev) in rzg2l_wdt_ping() argument
211 struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev); in rzg2l_wdt_ping()
229 struct watchdog_device *wdev = data; in rzg2l_wdt_reset_assert_pm_disable() local
230 struct rzg2l_wdt_priv *priv = watchdog_get_drvdata(wdev); in rzg2l_wdt_reset_assert_pm_disable()
232 pm_runtime_disable(wdev->parent); in rzg2l_wdt_reset_assert_pm_disable()
291 priv->wdev.info = &rzg2l_wdt_ident; in rzg2l_wdt_probe()
292 priv->wdev.ops = &rzg2l_wdt_ops; in rzg2l_wdt_probe()
293 priv->wdev.parent = dev; in rzg2l_wdt_probe()
294 priv->wdev.min_timeout = 1; in rzg2l_wdt_probe()
295 priv->wdev.max_timeout = rzg2l_wdt_get_cycle_usec(priv->osc_clk_rate, 0xfff) / in rzg2l_wdt_probe()
297 priv->wdev.timeout = WDT_DEFAULT_TIMEOUT; in rzg2l_wdt_probe()
299 watchdog_set_drvdata(&priv->wdev, priv); in rzg2l_wdt_probe()
302 &priv->wdev); in rzg2l_wdt_probe()
306 watchdog_set_nowayout(&priv->wdev, nowayout); in rzg2l_wdt_probe()
307 watchdog_stop_on_unregister(&priv->wdev); in rzg2l_wdt_probe()
309 ret = watchdog_init_timeout(&priv->wdev, 0, dev); in rzg2l_wdt_probe()
313 return devm_watchdog_register_device(&pdev->dev, &priv->wdev); in rzg2l_wdt_probe()