Lines Matching defs:wdt_data
104 static int kempld_wdt_set_stage_action(struct kempld_wdt_data *wdt_data,
108 struct kempld_device_data *pld = wdt_data->pld;
130 static int kempld_wdt_set_stage_timeout(struct kempld_wdt_data *wdt_data,
134 struct kempld_device_data *pld = wdt_data->pld;
171 static unsigned int kempld_wdt_get_timeout(struct kempld_wdt_data *wdt_data,
174 struct kempld_device_data *pld = wdt_data->pld;
202 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
207 timeout_stage = &wdt_data->stage[STAGE_TIMEOUT];
208 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT];
210 if (pretimeout_stage->mask && wdt_data->pretimeout > 0)
211 timeout = wdt_data->pretimeout;
213 ret = kempld_wdt_set_stage_action(wdt_data, timeout_stage,
217 ret = kempld_wdt_set_stage_timeout(wdt_data, timeout_stage,
229 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
234 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT];
245 ret = kempld_wdt_set_stage_action(wdt_data, pretimeout_stage,
249 ret = kempld_wdt_set_stage_timeout(wdt_data, pretimeout_stage,
254 wdt_data->pretimeout = pretimeout;
258 static void kempld_wdt_update_timeouts(struct kempld_wdt_data *wdt_data)
260 struct kempld_device_data *pld = wdt_data->pld;
265 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT];
266 timeout_stage = &wdt_data->stage[STAGE_TIMEOUT];
269 pretimeout = kempld_wdt_get_timeout(wdt_data, pretimeout_stage);
270 timeout = kempld_wdt_get_timeout(wdt_data, timeout_stage);
274 wdt_data->pretimeout = timeout;
276 wdt_data->pretimeout = 0;
278 wdt_data->wdd.timeout = pretimeout + timeout;
283 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
284 struct kempld_device_data *pld = wdt_data->pld;
308 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
309 struct kempld_device_data *pld = wdt_data->pld;
328 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
329 struct kempld_device_data *pld = wdt_data->pld;
341 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
357 ret = put_user(wdt_data->pretimeout, (int __user *)arg);
366 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd);
367 struct kempld_device_data *pld = wdt_data->pld;
374 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT];
375 timeout_stage = &wdt_data->stage[STAGE_TIMEOUT];
439 struct kempld_wdt_data *wdt_data;
445 wdt_data = devm_kzalloc(dev, sizeof(*wdt_data), GFP_KERNEL);
446 if (!wdt_data)
449 wdt_data->pld = pld;
450 wdd = &wdt_data->wdd;
469 watchdog_set_drvdata(wdd, wdt_data);
482 kempld_wdt_update_timeouts(wdt_data);
486 platform_set_drvdata(pdev, wdt_data);
503 struct kempld_wdt_data *wdt_data = platform_get_drvdata(pdev);
504 struct kempld_device_data *pld = wdt_data->pld;
505 struct watchdog_device *wdd = &wdt_data->wdd;
508 wdt_data->pm_status_store = kempld_read8(pld, KEMPLD_WDT_CFG);
511 kempld_wdt_update_timeouts(wdt_data);
513 if (wdt_data->pm_status_store & KEMPLD_WDT_CFG_ENABLE)
522 struct kempld_wdt_data *wdt_data = platform_get_drvdata(pdev);
523 struct watchdog_device *wdd = &wdt_data->wdd;
529 if (wdt_data->pm_status_store & KEMPLD_WDT_CFG_ENABLE)