Lines Matching defs:wdd
57 struct watchdog_device wdd;
72 static int cgbc_wdt_start(struct watchdog_device *wdd)
74 struct cgbc_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
76 unsigned int timeout1 = (wdd->timeout - wdd->pretimeout) * 1000;
77 unsigned int timeout2 = wdd->pretimeout * 1000;
91 if (wdd->pretimeout) {
105 static int cgbc_wdt_stop(struct watchdog_device *wdd)
107 struct cgbc_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
117 static int cgbc_wdt_keepalive(struct watchdog_device *wdd)
119 struct cgbc_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
126 static int cgbc_wdt_set_pretimeout(struct watchdog_device *wdd,
129 wdd->pretimeout = pretimeout;
131 if (watchdog_active(wdd))
132 return cgbc_wdt_start(wdd);
137 static int cgbc_wdt_set_timeout(struct watchdog_device *wdd,
140 if (timeout < wdd->pretimeout)
141 wdd->pretimeout = 0;
143 wdd->timeout = timeout;
145 if (watchdog_active(wdd))
146 return cgbc_wdt_start(wdd);
171 struct watchdog_device *wdd;
178 wdd = &wdt_data->wdd;
179 wdd->parent = dev;
181 wdd->info = &cgbc_wdt_info;
182 wdd->ops = &cgbc_wdt_ops;
183 wdd->max_timeout = CGBC_WDT_MAX_TIMEOUT;
184 wdd->min_timeout = CGBC_WDT_MIN_TIMEOUT;
186 watchdog_set_drvdata(wdd, wdt_data);
187 watchdog_set_nowayout(wdd, nowayout);
189 wdd->timeout = CGBC_WDT_DEFAULT_TIMEOUT;
190 watchdog_init_timeout(wdd, timeout, dev);
191 cgbc_wdt_set_pretimeout(wdd, pretimeout);
194 watchdog_stop_on_reboot(wdd);
195 watchdog_stop_on_unregister(wdd);
197 return devm_watchdog_register_device(dev, wdd);