Lines Matching refs:wdog
127 static int imx7ulp_wdt_enable(struct watchdog_device *wdog, bool enable)
129 struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
145 static int imx7ulp_wdt_ping(struct watchdog_device *wdog)
147 struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
154 static int imx7ulp_wdt_start(struct watchdog_device *wdog)
156 return imx7ulp_wdt_enable(wdog, true);
159 static int imx7ulp_wdt_stop(struct watchdog_device *wdog)
161 return imx7ulp_wdt_enable(wdog, false);
184 static int imx7ulp_wdt_set_timeout(struct watchdog_device *wdog,
187 struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
201 wdog->timeout = timeout;
205 static int imx7ulp_wdt_restart(struct watchdog_device *wdog,
208 struct imx7ulp_wdt_device *wdt = watchdog_get_drvdata(wdog);
211 ret = imx7ulp_wdt_enable(wdog, true);
219 /* wait for wdog to fire */
253 /* unlock the wdog for reconfiguration */
305 struct watchdog_device *wdog;
333 wdog = &imx7ulp_wdt->wdd;
334 wdog->info = &imx7ulp_wdt_info;
335 wdog->ops = &imx7ulp_wdt_ops;
336 wdog->min_timeout = 1;
337 wdog->max_timeout = MAX_TIMEOUT;
338 wdog->parent = dev;
339 wdog->timeout = DEFAULT_TIMEOUT;
341 watchdog_init_timeout(wdog, 0, dev);
342 watchdog_stop_on_reboot(wdog);
343 watchdog_stop_on_unregister(wdog);
344 watchdog_set_drvdata(wdog, imx7ulp_wdt);
347 ret = imx7ulp_wdt_init(imx7ulp_wdt, wdog->timeout * imx7ulp_wdt->hw->wdog_clock_rate);
351 return devm_watchdog_register_device(dev, wdog);