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