Home | History | Annotate | Download | only in modules

Lines Matching refs:wdt

42 struct kempld_watchdog_data wdt;
125 memset(&wdt,0,sizeof(wdt));
128 wdt.timeout = TIMEOUT;
129 wdt.pretimeout = PRETIMEOUT;
130 wdt.pld = &pld;
154 static int kempld_wdt_probe_stages(struct kempld_watchdog_data *wdt)
156 struct kempld_device_data *pld = wdt->pld;
162 wdt->stages = 0;
163 wdt->timeout_stage = NULL;
164 wdt->pretimeout_stage = NULL;
181 wdt->stage[i] = stage;
182 wdt->stages++;
185 if (wdt->stages == 1)
186 wdt->timeout_stage = stage;
187 else if (wdt->stages == 2) {
188 wdt->pretimeout_stage = wdt->timeout_stage;
189 wdt->timeout_stage = stage;
192 wdt->stage[i] = NULL;
203 static int kempld_wdt_keepalive(struct kempld_watchdog_data *wdt)
205 struct kempld_device_data *pld = wdt->pld;
212 static int kempld_wdt_setstageaction(struct kempld_watchdog_data *wdt,
216 struct kempld_device_data *pld = wdt->pld;
236 static int kempld_wdt_setstagetimeout(struct kempld_watchdog_data *wdt,
240 struct kempld_device_data *pld = wdt->pld;
269 static int kempld_wdt_settimeout(struct kempld_watchdog_data *wdt)
274 if ((wdt->timeout <= 0) ||
275 (wdt->pretimeout < 0) ||
276 (wdt->pretimeout > wdt->timeout)) {
281 if ((wdt->pretimeout == 0) || (wdt->pretimeout_stage == NULL)) {
282 if (wdt->pretimeout != 0)
285 stage_timeout = wdt->timeout;
287 stage_pretimeout = wdt->timeout - wdt->pretimeout;
288 stage_timeout = wdt->pretimeout;
292 ret = kempld_wdt_setstageaction(wdt, wdt->pretimeout_stage,
295 && (wdt->pretimeout_stage != NULL)) {
296 ret = kempld_wdt_setstageaction(wdt, wdt->pretimeout_stage,
304 ret = kempld_wdt_setstagetimeout(wdt, wdt->pretimeout_stage,
310 ret = kempld_wdt_setstageaction(wdt, wdt->timeout_stage,
315 ret = kempld_wdt_setstagetimeout(wdt, wdt->timeout_stage,
326 static int kempld_wdt_start(struct kempld_watchdog_data *wdt)
328 struct kempld_device_data *pld = wdt->pld;
345 LABEL WDT
346 COM32 wdt.c32
353 wdt.timeout=atoi(argv[i]+8);
370 if (kempld_wdt_probe_stages(&wdt)) {
376 wdt.ident.firmware_version = KEMPLD_WDT_REV_GET(kempld_read8(&pld, KEMPLD_WDT_REV));
384 kempld_wdt_settimeout(&wdt);
385 kempld_wdt_keepalive(&wdt);
387 ret = kempld_wdt_settimeout(&wdt);
393 ret = kempld_wdt_start(&wdt);
401 printf("Watchog armed ! Rebooting in %d seconds if no feed occurs !\n",wdt.timeout);