Lines Matching refs:wdt_dev

34 	struct watchdog_device wdt_dev;  member
38 static int meson_gxbb_wdt_start(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_start() argument
40 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_start()
48 static int meson_gxbb_wdt_stop(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_stop() argument
50 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_stop()
58 static int meson_gxbb_wdt_ping(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_ping() argument
60 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_ping()
67 static int meson_gxbb_wdt_set_timeout(struct watchdog_device *wdt_dev, in meson_gxbb_wdt_set_timeout() argument
70 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_set_timeout()
76 wdt_dev->timeout = timeout; in meson_gxbb_wdt_set_timeout()
78 meson_gxbb_wdt_ping(wdt_dev); in meson_gxbb_wdt_set_timeout()
85 static unsigned int meson_gxbb_wdt_get_timeleft(struct watchdog_device *wdt_dev) in meson_gxbb_wdt_get_timeleft() argument
87 struct meson_gxbb_wdt *data = watchdog_get_drvdata(wdt_dev); in meson_gxbb_wdt_get_timeleft()
113 if (watchdog_active(&data->wdt_dev)) in meson_gxbb_wdt_resume()
114 meson_gxbb_wdt_start(&data->wdt_dev); in meson_gxbb_wdt_resume()
123 if (watchdog_active(&data->wdt_dev)) in meson_gxbb_wdt_suspend()
124 meson_gxbb_wdt_stop(&data->wdt_dev); in meson_gxbb_wdt_suspend()
172 data->wdt_dev.parent = dev; in meson_gxbb_wdt_probe()
173 data->wdt_dev.info = &meson_gxbb_wdt_info; in meson_gxbb_wdt_probe()
174 data->wdt_dev.ops = &meson_gxbb_wdt_ops; in meson_gxbb_wdt_probe()
175 data->wdt_dev.max_hw_heartbeat_ms = GXBB_WDT_TCNT_SETUP_MASK; in meson_gxbb_wdt_probe()
176 data->wdt_dev.min_timeout = 1; in meson_gxbb_wdt_probe()
177 data->wdt_dev.timeout = DEFAULT_TIMEOUT; in meson_gxbb_wdt_probe()
178 watchdog_set_drvdata(&data->wdt_dev, data); in meson_gxbb_wdt_probe()
187 meson_gxbb_wdt_set_timeout(&data->wdt_dev, data->wdt_dev.timeout); in meson_gxbb_wdt_probe()
189 watchdog_stop_on_reboot(&data->wdt_dev); in meson_gxbb_wdt_probe()
190 return devm_watchdog_register_device(dev, &data->wdt_dev); in meson_gxbb_wdt_probe()