Lines Matching refs:wdt_dev
43 struct watchdog_device wdt_dev; member
51 static int meson_gxbb_wdt_start(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_start() argument
53 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_start()
61 static int meson_gxbb_wdt_stop(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_stop() argument
63 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_stop()
71 static int meson_gxbb_wdt_ping(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_ping() argument
73 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_ping()
80 static int meson_gxbb_wdt_set_timeout(struct watchdog_device *wdt_dev, in meson_gxbb_wdt_set_timeout() argument
83 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_set_timeout()
89 wdt_dev->timeout = timeout; in meson_gxbb_wdt_set_timeout()
91 meson_gxbb_wdt_ping(wdt_dev); in meson_gxbb_wdt_set_timeout()
98 static unsigned int meson_gxbb_wdt_get_timeleft(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_get_timeleft() argument
100 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_get_timeleft()
126 if (watchdog_active(&data->wdt_dev)) in meson_gxbb_wdt_resume()
127 meson_gxbb_wdt_start(&data->wdt_dev); in meson_gxbb_wdt_resume()
136 if (watchdog_active(&data->wdt_dev)) in meson_gxbb_wdt_suspend()
137 meson_gxbb_wdt_stop(&data->wdt_dev); in meson_gxbb_wdt_suspend()
184 data->wdt_dev.parent = dev; in meson_gxbb_wdt_probe()
185 data->wdt_dev.info = &meson_gxbb_wdt_info; in meson_gxbb_wdt_probe()
186 data->wdt_dev.ops = &meson_gxbb_wdt_ops; in meson_gxbb_wdt_probe()
187 data->wdt_dev.max_hw_heartbeat_ms = GXBB_WDT_TCNT_SETUP_MASK; in meson_gxbb_wdt_probe()
188 data->wdt_dev.min_timeout = 1; in meson_gxbb_wdt_probe()
189 data->wdt_dev.timeout = DEFAULT_TIMEOUT; in meson_gxbb_wdt_probe()
190 watchdog_init_timeout(&data->wdt_dev, timeout, dev); in meson_gxbb_wdt_probe()
191 watchdog_set_nowayout(&data->wdt_dev, nowayout); in meson_gxbb_wdt_probe()
192 watchdog_set_drvdata(&data->wdt_dev, data); in meson_gxbb_wdt_probe()
201 set_bit(WDOG_HW_RUNNING, &data->wdt_dev.status); in meson_gxbb_wdt_probe()
202 meson_gxbb_wdt_set_timeout(&data->wdt_dev, in meson_gxbb_wdt_probe()
214 meson_gxbb_wdt_set_timeout(&data->wdt_dev, data->wdt_dev.timeout); in meson_gxbb_wdt_probe()
216 return devm_watchdog_register_device(dev, &data->wdt_dev); in meson_gxbb_wdt_probe()