Lines Matching refs:wdt_data
112 static int kempld_wdt_set_stage_action(struct kempld_wdt_data *wdt_data, in kempld_wdt_set_stage_action() argument
116 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_set_stage_action()
138 static int kempld_wdt_set_stage_timeout(struct kempld_wdt_data *wdt_data, in kempld_wdt_set_stage_timeout() argument
142 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_set_stage_timeout()
177 static unsigned int kempld_wdt_get_timeout(struct kempld_wdt_data *wdt_data, in kempld_wdt_get_timeout() argument
180 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_get_timeout()
208 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in kempld_wdt_set_timeout() local
213 timeout_stage = &wdt_data->stage[STAGE_TIMEOUT]; in kempld_wdt_set_timeout()
214 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT]; in kempld_wdt_set_timeout()
216 if (pretimeout_stage->mask && wdt_data->pretimeout > 0) in kempld_wdt_set_timeout()
217 timeout = wdt_data->pretimeout; in kempld_wdt_set_timeout()
219 ret = kempld_wdt_set_stage_action(wdt_data, timeout_stage, in kempld_wdt_set_timeout()
223 ret = kempld_wdt_set_stage_timeout(wdt_data, timeout_stage, in kempld_wdt_set_timeout()
235 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in kempld_wdt_set_pretimeout() local
240 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT]; in kempld_wdt_set_pretimeout()
251 ret = kempld_wdt_set_stage_action(wdt_data, pretimeout_stage, in kempld_wdt_set_pretimeout()
255 ret = kempld_wdt_set_stage_timeout(wdt_data, pretimeout_stage, in kempld_wdt_set_pretimeout()
260 wdt_data->pretimeout = pretimeout; in kempld_wdt_set_pretimeout()
264 static void kempld_wdt_update_timeouts(struct kempld_wdt_data *wdt_data) in kempld_wdt_update_timeouts() argument
266 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_update_timeouts()
271 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT]; in kempld_wdt_update_timeouts()
272 timeout_stage = &wdt_data->stage[STAGE_TIMEOUT]; in kempld_wdt_update_timeouts()
275 pretimeout = kempld_wdt_get_timeout(wdt_data, pretimeout_stage); in kempld_wdt_update_timeouts()
276 timeout = kempld_wdt_get_timeout(wdt_data, timeout_stage); in kempld_wdt_update_timeouts()
280 wdt_data->pretimeout = timeout; in kempld_wdt_update_timeouts()
282 wdt_data->pretimeout = 0; in kempld_wdt_update_timeouts()
284 wdt_data->wdd.timeout = pretimeout + timeout; in kempld_wdt_update_timeouts()
289 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in kempld_wdt_start() local
290 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_start()
314 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in kempld_wdt_stop() local
315 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_stop()
334 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in kempld_wdt_keepalive() local
335 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_keepalive()
347 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in kempld_wdt_ioctl() local
363 ret = put_user(wdt_data->pretimeout, (int __user *)arg); in kempld_wdt_ioctl()
372 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); in kempld_wdt_probe_stages() local
373 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_probe_stages()
380 pretimeout_stage = &wdt_data->stage[STAGE_PRETIMEOUT]; in kempld_wdt_probe_stages()
381 timeout_stage = &wdt_data->stage[STAGE_TIMEOUT]; in kempld_wdt_probe_stages()
445 struct kempld_wdt_data *wdt_data; in kempld_wdt_probe() local
451 wdt_data = devm_kzalloc(dev, sizeof(*wdt_data), GFP_KERNEL); in kempld_wdt_probe()
452 if (!wdt_data) in kempld_wdt_probe()
455 wdt_data->pld = pld; in kempld_wdt_probe()
456 wdd = &wdt_data->wdd; in kempld_wdt_probe()
475 watchdog_set_drvdata(wdd, wdt_data); in kempld_wdt_probe()
488 kempld_wdt_update_timeouts(wdt_data); in kempld_wdt_probe()
492 platform_set_drvdata(pdev, wdt_data); in kempld_wdt_probe()
504 struct kempld_wdt_data *wdt_data = platform_get_drvdata(pdev); in kempld_wdt_shutdown() local
506 kempld_wdt_stop(&wdt_data->wdd); in kempld_wdt_shutdown()
511 struct kempld_wdt_data *wdt_data = platform_get_drvdata(pdev); in kempld_wdt_remove() local
512 struct watchdog_device *wdd = &wdt_data->wdd; in kempld_wdt_remove()
527 struct kempld_wdt_data *wdt_data = platform_get_drvdata(pdev); in kempld_wdt_suspend() local
528 struct kempld_device_data *pld = wdt_data->pld; in kempld_wdt_suspend()
529 struct watchdog_device *wdd = &wdt_data->wdd; in kempld_wdt_suspend()
532 wdt_data->pm_status_store = kempld_read8(pld, KEMPLD_WDT_CFG); in kempld_wdt_suspend()
535 kempld_wdt_update_timeouts(wdt_data); in kempld_wdt_suspend()
537 if (wdt_data->pm_status_store & KEMPLD_WDT_CFG_ENABLE) in kempld_wdt_suspend()
546 struct kempld_wdt_data *wdt_data = platform_get_drvdata(pdev); in kempld_wdt_resume() local
547 struct watchdog_device *wdd = &wdt_data->wdd; in kempld_wdt_resume()
553 if (wdt_data->pm_status_store & KEMPLD_WDT_CFG_ENABLE) in kempld_wdt_resume()