Lines Matching full:wdd
52 static int cros_ec_wdt_ping(struct watchdog_device *wdd) in cros_ec_wdt_ping() argument
54 struct cros_ec_device *cros_ec = watchdog_get_drvdata(wdd); in cros_ec_wdt_ping()
61 dev_dbg(wdd->parent, "Failed to ping watchdog (%d)", ret); in cros_ec_wdt_ping()
66 static int cros_ec_wdt_start(struct watchdog_device *wdd) in cros_ec_wdt_start() argument
68 struct cros_ec_device *cros_ec = watchdog_get_drvdata(wdd); in cros_ec_wdt_start()
74 arg.req.reboot_timeout_sec = wdd->timeout; in cros_ec_wdt_start()
77 dev_dbg(wdd->parent, "Failed to start watchdog (%d)", ret); in cros_ec_wdt_start()
82 static int cros_ec_wdt_stop(struct watchdog_device *wdd) in cros_ec_wdt_stop() argument
84 struct cros_ec_device *cros_ec = watchdog_get_drvdata(wdd); in cros_ec_wdt_stop()
91 dev_dbg(wdd->parent, "Failed to stop watchdog (%d)", ret); in cros_ec_wdt_stop()
96 static int cros_ec_wdt_set_timeout(struct watchdog_device *wdd, unsigned int t) in cros_ec_wdt_set_timeout() argument
98 unsigned int old_timeout = wdd->timeout; in cros_ec_wdt_set_timeout()
101 wdd->timeout = t; in cros_ec_wdt_set_timeout()
102 ret = cros_ec_wdt_start(wdd); in cros_ec_wdt_set_timeout()
104 wdd->timeout = old_timeout; in cros_ec_wdt_set_timeout()
128 struct watchdog_device *wdd; in cros_ec_wdt_probe() local
132 wdd = devm_kzalloc(&pdev->dev, sizeof(*wdd), GFP_KERNEL); in cros_ec_wdt_probe()
133 if (!wdd) in cros_ec_wdt_probe()
141 wdd->parent = &pdev->dev; in cros_ec_wdt_probe()
142 wdd->info = &cros_ec_wdt_ident; in cros_ec_wdt_probe()
143 wdd->ops = &cros_ec_wdt_ops; in cros_ec_wdt_probe()
144 wdd->timeout = CROS_EC_WATCHDOG_DEFAULT_TIME; in cros_ec_wdt_probe()
145 wdd->min_timeout = EC_HANG_DETECT_MIN_TIMEOUT; in cros_ec_wdt_probe()
146 wdd->max_timeout = EC_HANG_DETECT_MAX_TIMEOUT; in cros_ec_wdt_probe()
148 wdd->bootstatus = WDIOF_CARDRESET; in cros_ec_wdt_probe()
155 watchdog_stop_on_reboot(wdd); in cros_ec_wdt_probe()
156 watchdog_stop_on_unregister(wdd); in cros_ec_wdt_probe()
157 watchdog_set_drvdata(wdd, cros_ec); in cros_ec_wdt_probe()
158 platform_set_drvdata(pdev, wdd); in cros_ec_wdt_probe()
160 return devm_watchdog_register_device(dev, wdd); in cros_ec_wdt_probe()
165 struct watchdog_device *wdd = platform_get_drvdata(pdev); in cros_ec_wdt_suspend() local
168 if (watchdog_active(wdd)) in cros_ec_wdt_suspend()
169 ret = cros_ec_wdt_stop(wdd); in cros_ec_wdt_suspend()
176 struct watchdog_device *wdd = platform_get_drvdata(pdev); in cros_ec_wdt_resume() local
179 if (watchdog_active(wdd)) in cros_ec_wdt_resume()
180 ret = cros_ec_wdt_start(wdd); in cros_ec_wdt_resume()