Lines Matching refs:wdd
97 static int da9063_wdt_start(struct watchdog_device *wdd)
99 struct da9063 *da9063 = watchdog_get_drvdata(wdd);
102 ret = da9063_wdt_update_timeout(da9063, wdd->timeout);
110 static int da9063_wdt_stop(struct watchdog_device *wdd)
112 struct da9063 *da9063 = watchdog_get_drvdata(wdd);
123 static int da9063_wdt_ping(struct watchdog_device *wdd)
125 struct da9063 *da9063 = watchdog_get_drvdata(wdd);
144 static int da9063_wdt_set_timeout(struct watchdog_device *wdd,
147 struct da9063 *da9063 = watchdog_get_drvdata(wdd);
160 if (watchdog_active(wdd))
167 wdd->timeout = wdt_timeout[da9063_wdt_timeout_to_sel(timeout)];
172 static int da9063_wdt_restart(struct watchdog_device *wdd, unsigned long action,
175 struct da9063 *da9063 = watchdog_get_drvdata(wdd);
219 struct watchdog_device *wdd;
229 wdd = devm_kzalloc(dev, sizeof(*wdd), GFP_KERNEL);
230 if (!wdd)
235 wdd->info = &da9063_watchdog_info;
236 wdd->ops = &da9063_watchdog_ops;
237 wdd->min_timeout = DA9063_WDT_MIN_TIMEOUT;
238 wdd->max_timeout = DA9063_WDT_MAX_TIMEOUT;
239 wdd->min_hw_heartbeat_ms = DA9063_RESET_PROTECTION_MS;
240 wdd->parent = dev;
241 wdd->status = WATCHDOG_NOWAYOUT_INIT_STATUS;
243 watchdog_set_restart_priority(wdd, 128);
244 watchdog_set_drvdata(wdd, da9063);
245 dev_set_drvdata(dev, wdd);
247 wdd->timeout = DA9063_WDG_TIMEOUT;
252 wdd->timeout = timeout;
255 watchdog_init_timeout(wdd, 0, dev);
256 da9063_wdt_set_timeout(wdd, wdd->timeout);
260 da9063_wdt_update_timeout(da9063, wdd->timeout);
261 set_bit(WDOG_HW_RUNNING, &wdd->status);
264 return devm_watchdog_register_device(dev, wdd);
269 struct watchdog_device *wdd = dev_get_drvdata(dev);
274 if (watchdog_active(wdd))
275 return da9063_wdt_stop(wdd);
282 struct watchdog_device *wdd = dev_get_drvdata(dev);
287 if (watchdog_active(wdd))
288 return da9063_wdt_start(wdd);