Searched refs:wdd (Results 1 - 30 of 30) sorted by relevance

/linux-4.4.14/drivers/watchdog/
H A Dwatchdog_dev.c54 * @wdd: the watchdog device to ping
62 static int watchdog_ping(struct watchdog_device *wdd) watchdog_ping() argument
66 mutex_lock(&wdd->lock); watchdog_ping()
68 if (test_bit(WDOG_UNREGISTERED, &wdd->status)) { watchdog_ping()
73 if (!watchdog_active(wdd)) watchdog_ping()
76 if (wdd->ops->ping) watchdog_ping()
77 err = wdd->ops->ping(wdd); /* ping the watchdog */ watchdog_ping()
79 err = wdd->ops->start(wdd); /* restart watchdog */ watchdog_ping()
82 mutex_unlock(&wdd->lock); watchdog_ping()
88 * @wdd: the watchdog device to start
95 static int watchdog_start(struct watchdog_device *wdd) watchdog_start() argument
99 mutex_lock(&wdd->lock); watchdog_start()
101 if (test_bit(WDOG_UNREGISTERED, &wdd->status)) { watchdog_start()
106 if (watchdog_active(wdd)) watchdog_start()
109 err = wdd->ops->start(wdd); watchdog_start()
111 set_bit(WDOG_ACTIVE, &wdd->status); watchdog_start()
114 mutex_unlock(&wdd->lock); watchdog_start()
120 * @wdd: the watchdog device to stop
128 static int watchdog_stop(struct watchdog_device *wdd) watchdog_stop() argument
132 mutex_lock(&wdd->lock); watchdog_stop()
134 if (test_bit(WDOG_UNREGISTERED, &wdd->status)) { watchdog_stop()
139 if (!watchdog_active(wdd)) watchdog_stop()
142 if (test_bit(WDOG_NO_WAY_OUT, &wdd->status)) { watchdog_stop()
143 dev_info(wdd->dev, "nowayout prevents watchdog being stopped!\n"); watchdog_stop()
148 err = wdd->ops->stop(wdd); watchdog_stop()
150 clear_bit(WDOG_ACTIVE, &wdd->status); watchdog_stop()
153 mutex_unlock(&wdd->lock); watchdog_stop()
159 * @wdd: the watchdog device to get the status from
165 static int watchdog_get_status(struct watchdog_device *wdd, watchdog_get_status() argument
171 if (!wdd->ops->status) watchdog_get_status()
174 mutex_lock(&wdd->lock); watchdog_get_status()
176 if (test_bit(WDOG_UNREGISTERED, &wdd->status)) { watchdog_get_status()
181 *status = wdd->ops->status(wdd); watchdog_get_status()
184 mutex_unlock(&wdd->lock); watchdog_get_status()
190 * @wdd: the watchdog device to set the timeout for
194 static int watchdog_set_timeout(struct watchdog_device *wdd, watchdog_set_timeout() argument
199 if (!wdd->ops->set_timeout || !(wdd->info->options & WDIOF_SETTIMEOUT)) watchdog_set_timeout()
202 if (watchdog_timeout_invalid(wdd, timeout)) watchdog_set_timeout()
205 mutex_lock(&wdd->lock); watchdog_set_timeout()
207 if (test_bit(WDOG_UNREGISTERED, &wdd->status)) { watchdog_set_timeout()
212 err = wdd->ops->set_timeout(wdd, timeout); watchdog_set_timeout()
215 mutex_unlock(&wdd->lock); watchdog_set_timeout()
221 * @wdd: the watchdog device to get the remaining time from
227 static int watchdog_get_timeleft(struct watchdog_device *wdd, watchdog_get_timeleft() argument
233 if (!wdd->ops->get_timeleft) watchdog_get_timeleft()
236 mutex_lock(&wdd->lock); watchdog_get_timeleft()
238 if (test_bit(WDOG_UNREGISTERED, &wdd->status)) { watchdog_get_timeleft()
243 *timeleft = wdd->ops->get_timeleft(wdd); watchdog_get_timeleft()
246 mutex_unlock(&wdd->lock); watchdog_get_timeleft()
252 * @wdd: the watchdog device to do the ioctl on
257 static int watchdog_ioctl_op(struct watchdog_device *wdd, unsigned int cmd, watchdog_ioctl_op() argument
262 if (!wdd->ops->ioctl) watchdog_ioctl_op()
265 mutex_lock(&wdd->lock); watchdog_ioctl_op()
267 if (test_bit(WDOG_UNREGISTERED, &wdd->status)) { watchdog_ioctl_op()
272 err = wdd->ops->ioctl(wdd, cmd, arg); watchdog_ioctl_op()
275 mutex_unlock(&wdd->lock); watchdog_ioctl_op()
294 struct watchdog_device *wdd = file->private_data; watchdog_write() local
306 clear_bit(WDOG_ALLOW_RELEASE, &wdd->status); watchdog_write()
313 set_bit(WDOG_ALLOW_RELEASE, &wdd->status); watchdog_write()
317 err = watchdog_ping(wdd); watchdog_write()
337 struct watchdog_device *wdd = file->private_data; watchdog_ioctl() local
343 err = watchdog_ioctl_op(wdd, cmd, arg); watchdog_ioctl()
349 return copy_to_user(argp, wdd->info, watchdog_ioctl()
352 err = watchdog_get_status(wdd, &val); watchdog_ioctl()
357 return put_user(wdd->bootstatus, p); watchdog_ioctl()
362 err = watchdog_stop(wdd); watchdog_ioctl()
367 err = watchdog_start(wdd); watchdog_ioctl()
373 if (!(wdd->info->options & WDIOF_KEEPALIVEPING)) watchdog_ioctl()
375 return watchdog_ping(wdd); watchdog_ioctl()
379 err = watchdog_set_timeout(wdd, val); watchdog_ioctl()
385 err = watchdog_ping(wdd); watchdog_ioctl()
391 if (wdd->timeout == 0) watchdog_ioctl()
393 return put_user(wdd->timeout, p); watchdog_ioctl()
395 err = watchdog_get_timeleft(wdd, &val); watchdog_ioctl()
417 struct watchdog_device *wdd; watchdog_open() local
421 wdd = old_wdd; watchdog_open()
423 wdd = container_of(inode->i_cdev, struct watchdog_device, cdev); watchdog_open()
426 if (test_and_set_bit(WDOG_DEV_OPEN, &wdd->status)) watchdog_open()
433 if (!try_module_get(wdd->ops->owner)) watchdog_open()
436 err = watchdog_start(wdd); watchdog_open()
440 file->private_data = wdd; watchdog_open()
442 if (wdd->ops->ref) watchdog_open()
443 wdd->ops->ref(wdd); watchdog_open()
449 module_put(wdd->ops->owner); watchdog_open()
451 clear_bit(WDOG_DEV_OPEN, &wdd->status); watchdog_open()
467 struct watchdog_device *wdd = file->private_data; watchdog_release() local
475 if (!test_bit(WDOG_ACTIVE, &wdd->status)) watchdog_release()
477 else if (test_and_clear_bit(WDOG_ALLOW_RELEASE, &wdd->status) || watchdog_release()
478 !(wdd->info->options & WDIOF_MAGICCLOSE)) watchdog_release()
479 err = watchdog_stop(wdd); watchdog_release()
483 mutex_lock(&wdd->lock); watchdog_release()
484 if (!test_bit(WDOG_UNREGISTERED, &wdd->status)) watchdog_release()
485 dev_crit(wdd->dev, "watchdog did not stop!\n"); watchdog_release()
486 mutex_unlock(&wdd->lock); watchdog_release()
487 watchdog_ping(wdd); watchdog_release()
491 module_put(wdd->ops->owner); watchdog_release()
494 clear_bit(WDOG_DEV_OPEN, &wdd->status); watchdog_release()
496 /* Note wdd may be gone after this, do not use after this! */ watchdog_release()
497 if (wdd->ops->unref) watchdog_release()
498 wdd->ops->unref(wdd); watchdog_release()
519 * @wdd: watchdog device
526 int watchdog_dev_register(struct watchdog_device *wdd) watchdog_dev_register() argument
530 if (wdd->id == 0) { watchdog_dev_register()
531 old_wdd = wdd; watchdog_dev_register()
532 watchdog_miscdev.parent = wdd->parent; watchdog_dev_register()
536 wdd->info->identity, WATCHDOG_MINOR, err); watchdog_dev_register()
539 wdd->info->identity); watchdog_dev_register()
546 devno = MKDEV(MAJOR(watchdog_devt), wdd->id); watchdog_dev_register()
547 cdev_init(&wdd->cdev, &watchdog_fops); watchdog_dev_register()
548 wdd->cdev.owner = wdd->ops->owner; watchdog_dev_register()
551 err = cdev_add(&wdd->cdev, devno, 1); watchdog_dev_register()
554 wdd->id, MAJOR(watchdog_devt), wdd->id); watchdog_dev_register()
555 if (wdd->id == 0) { watchdog_dev_register()
570 int watchdog_dev_unregister(struct watchdog_device *wdd) watchdog_dev_unregister() argument
572 mutex_lock(&wdd->lock); watchdog_dev_unregister()
573 set_bit(WDOG_UNREGISTERED, &wdd->status); watchdog_dev_unregister()
574 mutex_unlock(&wdd->lock); watchdog_dev_unregister()
576 cdev_del(&wdd->cdev); watchdog_dev_unregister()
577 if (wdd->id == 0) { watchdog_dev_unregister()
H A Dbcm47xx_wdt.c47 static inline struct bcm47xx_wdt *bcm47xx_wdt_get(struct watchdog_device *wdd) bcm47xx_wdt_get() argument
49 return container_of(wdd, struct bcm47xx_wdt, wdd); bcm47xx_wdt_get()
52 static int bcm47xx_wdt_hard_keepalive(struct watchdog_device *wdd) bcm47xx_wdt_hard_keepalive() argument
54 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); bcm47xx_wdt_hard_keepalive()
56 wdt->timer_set_ms(wdt, wdd->timeout * 1000); bcm47xx_wdt_hard_keepalive()
61 static int bcm47xx_wdt_hard_start(struct watchdog_device *wdd) bcm47xx_wdt_hard_start() argument
66 static int bcm47xx_wdt_hard_stop(struct watchdog_device *wdd) bcm47xx_wdt_hard_stop() argument
68 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); bcm47xx_wdt_hard_stop()
75 static int bcm47xx_wdt_hard_set_timeout(struct watchdog_device *wdd, bcm47xx_wdt_hard_set_timeout() argument
78 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); bcm47xx_wdt_hard_set_timeout()
87 wdd->timeout = new_time; bcm47xx_wdt_hard_set_timeout()
102 u32 next_tick = min(wdt->wdd.timeout * 1000, wdt->max_timer_ms); bcm47xx_wdt_soft_timer_tick()
112 static int bcm47xx_wdt_soft_keepalive(struct watchdog_device *wdd) bcm47xx_wdt_soft_keepalive() argument
114 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); bcm47xx_wdt_soft_keepalive()
116 atomic_set(&wdt->soft_ticks, wdd->timeout); bcm47xx_wdt_soft_keepalive()
121 static int bcm47xx_wdt_soft_start(struct watchdog_device *wdd) bcm47xx_wdt_soft_start() argument
123 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); bcm47xx_wdt_soft_start()
125 bcm47xx_wdt_soft_keepalive(wdd); bcm47xx_wdt_soft_start()
131 static int bcm47xx_wdt_soft_stop(struct watchdog_device *wdd) bcm47xx_wdt_soft_stop() argument
133 struct bcm47xx_wdt *wdt = bcm47xx_wdt_get(wdd); bcm47xx_wdt_soft_stop()
141 static int bcm47xx_wdt_soft_set_timeout(struct watchdog_device *wdd, bcm47xx_wdt_soft_set_timeout() argument
150 wdd->timeout = new_time; bcm47xx_wdt_soft_set_timeout()
168 wdt->wdd.ops->stop(&wdt->wdd); bcm47xx_wdt_notify_sys()
203 wdt->wdd.ops = &bcm47xx_wdt_soft_ops; bcm47xx_wdt_probe()
207 wdt->wdd.ops = &bcm47xx_wdt_hard_ops; bcm47xx_wdt_probe()
210 wdt->wdd.info = &bcm47xx_wdt_info; bcm47xx_wdt_probe()
211 wdt->wdd.timeout = WDT_DEFAULT_TIME; bcm47xx_wdt_probe()
212 wdt->wdd.parent = &pdev->dev; bcm47xx_wdt_probe()
213 ret = wdt->wdd.ops->set_timeout(&wdt->wdd, timeout); bcm47xx_wdt_probe()
216 watchdog_set_nowayout(&wdt->wdd, nowayout); bcm47xx_wdt_probe()
230 ret = watchdog_register_device(&wdt->wdd); bcm47xx_wdt_probe()
257 watchdog_unregister_device(&wdt->wdd); bcm47xx_wdt_remove()
H A Dwatchdog_core.c63 static int watchdog_deferred_registration_add(struct watchdog_device *wdd) watchdog_deferred_registration_add() argument
65 list_add_tail(&wdd->deferred, watchdog_deferred_registration_add()
70 static void watchdog_deferred_registration_del(struct watchdog_device *wdd) watchdog_deferred_registration_del() argument
78 if (wdd_tmp == wdd) { watchdog_deferred_registration_del()
85 static void watchdog_check_min_max_timeout(struct watchdog_device *wdd) watchdog_check_min_max_timeout() argument
91 if (wdd->min_timeout > wdd->max_timeout) { watchdog_check_min_max_timeout()
93 wdd->min_timeout = 0; watchdog_check_min_max_timeout()
94 wdd->max_timeout = 0; watchdog_check_min_max_timeout()
111 int watchdog_init_timeout(struct watchdog_device *wdd, watchdog_init_timeout() argument
117 watchdog_check_min_max_timeout(wdd); watchdog_init_timeout()
120 if (!watchdog_timeout_invalid(wdd, timeout_parm) && timeout_parm) { watchdog_init_timeout()
121 wdd->timeout = timeout_parm; watchdog_init_timeout()
131 if (!watchdog_timeout_invalid(wdd, t) && t) watchdog_init_timeout()
132 wdd->timeout = t; watchdog_init_timeout()
140 static int __watchdog_register_device(struct watchdog_device *wdd) __watchdog_register_device() argument
144 if (wdd == NULL || wdd->info == NULL || wdd->ops == NULL) __watchdog_register_device()
148 if (wdd->ops->start == NULL || wdd->ops->stop == NULL) __watchdog_register_device()
151 watchdog_check_min_max_timeout(wdd); __watchdog_register_device()
159 mutex_init(&wdd->lock); __watchdog_register_device()
162 if (wdd->parent) { __watchdog_register_device()
163 ret = of_alias_get_id(wdd->parent->of_node, "watchdog"); __watchdog_register_device()
174 wdd->id = id; __watchdog_register_device()
176 ret = watchdog_dev_register(wdd); __watchdog_register_device()
186 wdd->id = id; __watchdog_register_device()
188 ret = watchdog_dev_register(wdd); __watchdog_register_device()
195 devno = wdd->cdev.dev; __watchdog_register_device()
196 wdd->dev = device_create(watchdog_class, wdd->parent, devno, __watchdog_register_device()
197 NULL, "watchdog%d", wdd->id); __watchdog_register_device()
198 if (IS_ERR(wdd->dev)) { __watchdog_register_device()
199 watchdog_dev_unregister(wdd); __watchdog_register_device()
201 ret = PTR_ERR(wdd->dev); __watchdog_register_device()
210 * @wdd: watchdog device
219 int watchdog_register_device(struct watchdog_device *wdd) watchdog_register_device() argument
225 ret = __watchdog_register_device(wdd); watchdog_register_device()
227 ret = watchdog_deferred_registration_add(wdd); watchdog_register_device()
233 static void __watchdog_unregister_device(struct watchdog_device *wdd) __watchdog_unregister_device() argument
238 if (wdd == NULL) __watchdog_unregister_device()
241 devno = wdd->cdev.dev; __watchdog_unregister_device()
242 ret = watchdog_dev_unregister(wdd); __watchdog_unregister_device()
246 ida_simple_remove(&watchdog_ida, wdd->id); __watchdog_unregister_device()
247 wdd->dev = NULL; __watchdog_unregister_device()
252 * @wdd: watchdog device to unregister
258 void watchdog_unregister_device(struct watchdog_device *wdd) watchdog_unregister_device() argument
262 __watchdog_unregister_device(wdd); watchdog_unregister_device()
264 watchdog_deferred_registration_del(wdd); watchdog_unregister_device()
275 struct watchdog_device *wdd; watchdog_deferred_registration() local
277 wdd = list_first_entry(&wtd_deferred_reg_list, watchdog_deferred_registration()
279 list_del(&wdd->deferred); watchdog_deferred_registration()
280 __watchdog_register_device(wdd); watchdog_deferred_registration()
H A Dstmp3xxx_rtc_wdt.c28 static int wdt_start(struct watchdog_device *wdd) wdt_start() argument
30 struct device *dev = watchdog_get_drvdata(wdd); wdt_start()
33 pdata->wdt_set_timeout(dev->parent, wdd->timeout * WDOG_TICK_RATE); wdt_start()
37 static int wdt_stop(struct watchdog_device *wdd) wdt_stop() argument
39 struct device *dev = watchdog_get_drvdata(wdd); wdt_stop()
46 static int wdt_set_timeout(struct watchdog_device *wdd, unsigned new_timeout) wdt_set_timeout() argument
48 wdd->timeout = new_timeout; wdt_set_timeout()
49 return wdt_start(wdd); wdt_set_timeout()
100 struct watchdog_device *wdd = &stmp3xxx_wdd; stmp3xxx_wdt_suspend() local
102 if (watchdog_active(wdd)) stmp3xxx_wdt_suspend()
103 return wdt_stop(wdd); stmp3xxx_wdt_suspend()
110 struct watchdog_device *wdd = &stmp3xxx_wdd; stmp3xxx_wdt_resume() local
112 if (watchdog_active(wdd)) stmp3xxx_wdt_resume()
113 return wdt_start(wdd); stmp3xxx_wdt_resume()
H A Dsama5d4_wdt.c29 struct watchdog_device wdd; member in struct:sama5d4_wdt
53 static int sama5d4_wdt_start(struct watchdog_device *wdd) sama5d4_wdt_start() argument
55 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_start()
65 static int sama5d4_wdt_stop(struct watchdog_device *wdd) sama5d4_wdt_stop() argument
67 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_stop()
77 static int sama5d4_wdt_ping(struct watchdog_device *wdd) sama5d4_wdt_ping() argument
79 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_ping()
86 static int sama5d4_wdt_set_timeout(struct watchdog_device *wdd, sama5d4_wdt_set_timeout() argument
89 struct sama5d4_wdt *wdt = watchdog_get_drvdata(wdd); sama5d4_wdt_set_timeout()
100 wdd->timeout = timeout; sama5d4_wdt_set_timeout()
154 struct watchdog_device *wdd = &wdt->wdd; sama5d4_wdt_init() local
155 u32 value = WDT_SEC2TICKS(wdd->timeout); sama5d4_wdt_init()
177 struct watchdog_device *wdd; sama5d4_wdt_probe() local
188 wdd = &wdt->wdd; sama5d4_wdt_probe()
189 wdd->timeout = wdt_timeout; sama5d4_wdt_probe()
190 wdd->info = &sama5d4_wdt_info; sama5d4_wdt_probe()
191 wdd->ops = &sama5d4_wdt_ops; sama5d4_wdt_probe()
192 wdd->min_timeout = MIN_WDT_TIMEOUT; sama5d4_wdt_probe()
193 wdd->max_timeout = MAX_WDT_TIMEOUT; sama5d4_wdt_probe()
195 watchdog_set_drvdata(wdd, wdt); sama5d4_wdt_probe()
225 ret = watchdog_init_timeout(wdd, wdt_timeout, &pdev->dev); sama5d4_wdt_probe()
235 watchdog_set_nowayout(wdd, nowayout); sama5d4_wdt_probe()
237 ret = watchdog_register_device(wdd); sama5d4_wdt_probe()
255 sama5d4_wdt_stop(&wdt->wdd); sama5d4_wdt_remove()
257 watchdog_unregister_device(&wdt->wdd); sama5d4_wdt_remove()
H A Ddavinci_wdt.c63 * @wdd - hold watchdog device as is in WDT core
68 struct watchdog_device wdd; member in struct:davinci_wdt_device
71 static int davinci_wdt_start(struct watchdog_device *wdd) davinci_wdt_start() argument
76 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); davinci_wdt_start()
90 timer_margin = (((u64)wdd->timeout * wdt_freq) & 0xffffffff); davinci_wdt_start()
92 timer_margin = (((u64)wdd->timeout * wdt_freq) >> 32); davinci_wdt_start()
107 static int davinci_wdt_ping(struct watchdog_device *wdd) davinci_wdt_ping() argument
109 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); davinci_wdt_ping()
118 static unsigned int davinci_wdt_get_timeleft(struct watchdog_device *wdd) davinci_wdt_get_timeleft() argument
123 struct davinci_wdt_device *davinci_wdt = watchdog_get_drvdata(wdd); davinci_wdt_get_timeleft()
140 return wdd->timeout - timer_counter; davinci_wdt_get_timeleft()
161 struct watchdog_device *wdd; davinci_wdt_probe() local
176 wdd = &davinci_wdt->wdd; davinci_wdt_probe()
177 wdd->info = &davinci_wdt_info; davinci_wdt_probe()
178 wdd->ops = &davinci_wdt_ops; davinci_wdt_probe()
179 wdd->min_timeout = 1; davinci_wdt_probe()
180 wdd->max_timeout = MAX_HEARTBEAT; davinci_wdt_probe()
181 wdd->timeout = DEFAULT_HEARTBEAT; davinci_wdt_probe()
182 wdd->parent = &pdev->dev; davinci_wdt_probe()
184 watchdog_init_timeout(wdd, heartbeat, dev); davinci_wdt_probe()
186 dev_info(dev, "heartbeat %d sec\n", wdd->timeout); davinci_wdt_probe()
188 watchdog_set_drvdata(wdd, davinci_wdt); davinci_wdt_probe()
189 watchdog_set_nowayout(wdd, 1); davinci_wdt_probe()
196 ret = watchdog_register_device(wdd); davinci_wdt_probe()
207 watchdog_unregister_device(&davinci_wdt->wdd); davinci_wdt_remove()
H A Dtegra_wdt.c68 struct watchdog_device wdd; member in struct:tegra_wdt
86 static int tegra_wdt_start(struct watchdog_device *wdd) tegra_wdt_start() argument
88 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); tegra_wdt_start()
109 (wdd->timeout << WDT_CFG_PERIOD_SHIFT) | tegra_wdt_start()
118 static int tegra_wdt_stop(struct watchdog_device *wdd) tegra_wdt_stop() argument
120 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); tegra_wdt_stop()
129 static int tegra_wdt_ping(struct watchdog_device *wdd) tegra_wdt_ping() argument
131 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); tegra_wdt_ping()
138 static int tegra_wdt_set_timeout(struct watchdog_device *wdd, tegra_wdt_set_timeout() argument
141 wdd->timeout = timeout; tegra_wdt_set_timeout()
143 if (watchdog_active(wdd)) { tegra_wdt_set_timeout()
144 tegra_wdt_stop(wdd); tegra_wdt_set_timeout()
145 return tegra_wdt_start(wdd); tegra_wdt_set_timeout()
151 static unsigned int tegra_wdt_get_timeleft(struct watchdog_device *wdd) tegra_wdt_get_timeleft() argument
153 struct tegra_wdt *wdt = watchdog_get_drvdata(wdd); tegra_wdt_get_timeleft()
170 return (((3 - exp) * wdd->timeout) + count) / 4; tegra_wdt_get_timeleft()
192 struct watchdog_device *wdd; tegra_wdt_probe() local
217 wdd = &wdt->wdd; tegra_wdt_probe()
218 wdd->timeout = heartbeat; tegra_wdt_probe()
219 wdd->info = &tegra_wdt_info; tegra_wdt_probe()
220 wdd->ops = &tegra_wdt_ops; tegra_wdt_probe()
221 wdd->min_timeout = MIN_WDT_TIMEOUT; tegra_wdt_probe()
222 wdd->max_timeout = MAX_WDT_TIMEOUT; tegra_wdt_probe()
223 wdd->parent = &pdev->dev; tegra_wdt_probe()
225 watchdog_set_drvdata(wdd, wdt); tegra_wdt_probe()
227 watchdog_set_nowayout(wdd, nowayout); tegra_wdt_probe()
229 ret = watchdog_register_device(wdd); tegra_wdt_probe()
249 tegra_wdt_stop(&wdt->wdd); tegra_wdt_remove()
251 watchdog_unregister_device(&wdt->wdd); tegra_wdt_remove()
263 if (watchdog_active(&wdt->wdd)) tegra_wdt_runtime_suspend()
264 tegra_wdt_stop(&wdt->wdd); tegra_wdt_runtime_suspend()
273 if (watchdog_active(&wdt->wdd)) tegra_wdt_runtime_resume()
274 tegra_wdt_start(&wdt->wdd); tegra_wdt_runtime_resume()
H A Dsp805_wdt.c55 * @wdd: instance of struct watchdog_device
64 struct watchdog_device wdd; member in struct:sp805_wdt
78 static int wdt_setload(struct watchdog_device *wdd, unsigned int timeout) wdt_setload() argument
80 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_setload()
99 wdd->timeout = div_u64((load + 1) * 2 + (rate / 2), rate); wdt_setload()
106 static unsigned int wdt_timeleft(struct watchdog_device *wdd) wdt_timeleft() argument
108 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_timeleft()
124 static int wdt_config(struct watchdog_device *wdd, bool ping) wdt_config() argument
126 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_config()
158 static int wdt_ping(struct watchdog_device *wdd) wdt_ping() argument
160 return wdt_config(wdd, true); wdt_ping()
164 static int wdt_enable(struct watchdog_device *wdd) wdt_enable() argument
166 return wdt_config(wdd, false); wdt_enable()
170 static int wdt_disable(struct watchdog_device *wdd) wdt_disable() argument
172 struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); wdt_disable()
227 wdt->wdd.info = &wdt_info; sp805_wdt_probe()
228 wdt->wdd.ops = &wdt_ops; sp805_wdt_probe()
229 wdt->wdd.parent = &adev->dev; sp805_wdt_probe()
232 watchdog_set_nowayout(&wdt->wdd, nowayout); sp805_wdt_probe()
233 watchdog_set_drvdata(&wdt->wdd, wdt); sp805_wdt_probe()
234 wdt_setload(&wdt->wdd, DEFAULT_TIMEOUT); sp805_wdt_probe()
236 ret = watchdog_register_device(&wdt->wdd); sp805_wdt_probe()
256 watchdog_unregister_device(&wdt->wdd); sp805_wdt_remove()
257 watchdog_set_drvdata(&wdt->wdd, NULL); sp805_wdt_remove()
266 if (watchdog_active(&wdt->wdd)) sp805_wdt_suspend()
267 return wdt_disable(&wdt->wdd); sp805_wdt_suspend()
276 if (watchdog_active(&wdt->wdd)) sp805_wdt_resume()
277 return wdt_enable(&wdt->wdd); sp805_wdt_resume()
H A Dgpio_wdt.c41 struct watchdog_device wdd; member in struct:gpio_wdt_priv
55 struct watchdog_device *wdd = (struct watchdog_device *)data; gpio_wdt_hwping() local
56 struct gpio_wdt_priv *priv = watchdog_get_drvdata(wdd); gpio_wdt_hwping()
59 msecs_to_jiffies(wdd->timeout * 1000))) { gpio_wdt_hwping()
60 dev_crit(wdd->dev, "Timer expired. System will reboot soon!\n"); gpio_wdt_hwping()
87 gpio_wdt_hwping((unsigned long)&priv->wdd); gpio_wdt_start_impl()
90 static int gpio_wdt_start(struct watchdog_device *wdd) gpio_wdt_start() argument
92 struct gpio_wdt_priv *priv = watchdog_get_drvdata(wdd); gpio_wdt_start()
100 static int gpio_wdt_stop(struct watchdog_device *wdd) gpio_wdt_stop() argument
102 struct gpio_wdt_priv *priv = watchdog_get_drvdata(wdd); gpio_wdt_stop()
113 static int gpio_wdt_ping(struct watchdog_device *wdd) gpio_wdt_ping() argument
115 struct gpio_wdt_priv *priv = watchdog_get_drvdata(wdd); gpio_wdt_ping()
122 static int gpio_wdt_set_timeout(struct watchdog_device *wdd, unsigned int t) gpio_wdt_set_timeout() argument
124 wdd->timeout = t; gpio_wdt_set_timeout()
126 return gpio_wdt_ping(wdd); gpio_wdt_set_timeout()
214 watchdog_set_drvdata(&priv->wdd, priv); gpio_wdt_probe()
216 priv->wdd.info = &gpio_wdt_ident; gpio_wdt_probe()
217 priv->wdd.ops = &gpio_wdt_ops; gpio_wdt_probe()
218 priv->wdd.min_timeout = SOFT_TIMEOUT_MIN; gpio_wdt_probe()
219 priv->wdd.max_timeout = SOFT_TIMEOUT_MAX; gpio_wdt_probe()
220 priv->wdd.parent = &pdev->dev; gpio_wdt_probe()
222 if (watchdog_init_timeout(&priv->wdd, 0, &pdev->dev) < 0) gpio_wdt_probe()
223 priv->wdd.timeout = SOFT_TIMEOUT_DEF; gpio_wdt_probe()
225 setup_timer(&priv->timer, gpio_wdt_hwping, (unsigned long)&priv->wdd); gpio_wdt_probe()
227 ret = watchdog_register_device(&priv->wdd); gpio_wdt_probe()
242 watchdog_unregister_device(&priv->wdd); gpio_wdt_probe()
252 watchdog_unregister_device(&priv->wdd); gpio_wdt_remove()
H A Dkempld_wdt.c83 struct watchdog_device wdd; member in struct:kempld_wdt_data
205 static int kempld_wdt_set_timeout(struct watchdog_device *wdd, kempld_wdt_set_timeout() argument
208 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); kempld_wdt_set_timeout()
228 wdd->timeout = timeout; kempld_wdt_set_timeout()
232 static int kempld_wdt_set_pretimeout(struct watchdog_device *wdd, kempld_wdt_set_pretimeout() argument
235 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); kempld_wdt_set_pretimeout()
245 if (pretimeout > wdd->timeout) kempld_wdt_set_pretimeout()
256 wdd->timeout - pretimeout); kempld_wdt_set_pretimeout()
284 wdt_data->wdd.timeout = pretimeout + timeout; kempld_wdt_update_timeouts()
287 static int kempld_wdt_start(struct watchdog_device *wdd) kempld_wdt_start() argument
289 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); kempld_wdt_start()
294 ret = kempld_wdt_set_timeout(wdd, wdd->timeout); kempld_wdt_start()
312 static int kempld_wdt_stop(struct watchdog_device *wdd) kempld_wdt_stop() argument
314 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); kempld_wdt_stop()
332 static int kempld_wdt_keepalive(struct watchdog_device *wdd) kempld_wdt_keepalive() argument
334 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); kempld_wdt_keepalive()
344 static long kempld_wdt_ioctl(struct watchdog_device *wdd, unsigned int cmd, kempld_wdt_ioctl() argument
347 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); kempld_wdt_ioctl()
357 ret = kempld_wdt_set_pretimeout(wdd, new_value); kempld_wdt_ioctl()
360 ret = kempld_wdt_keepalive(wdd); kempld_wdt_ioctl()
370 static int kempld_wdt_probe_stages(struct watchdog_device *wdd) kempld_wdt_probe_stages() argument
372 struct kempld_wdt_data *wdt_data = watchdog_get_drvdata(wdd); kempld_wdt_probe_stages()
447 struct watchdog_device *wdd; kempld_wdt_probe() local
456 wdd = &wdt_data->wdd; kempld_wdt_probe()
457 wdd->parent = dev; kempld_wdt_probe()
472 wdd->info = &kempld_wdt_info; kempld_wdt_probe()
473 wdd->ops = &kempld_wdt_ops; kempld_wdt_probe()
475 watchdog_set_drvdata(wdd, wdt_data); kempld_wdt_probe()
476 watchdog_set_nowayout(wdd, nowayout); kempld_wdt_probe()
478 ret = kempld_wdt_probe_stages(wdd); kempld_wdt_probe()
482 kempld_wdt_set_timeout(wdd, timeout); kempld_wdt_probe()
483 kempld_wdt_set_pretimeout(wdd, pretimeout); kempld_wdt_probe()
493 ret = watchdog_register_device(wdd); kempld_wdt_probe()
497 dev_info(dev, "Watchdog registered with %ds timeout\n", wdd->timeout); kempld_wdt_probe()
506 kempld_wdt_stop(&wdt_data->wdd); kempld_wdt_shutdown()
512 struct watchdog_device *wdd = &wdt_data->wdd; kempld_wdt_remove() local
516 ret = kempld_wdt_stop(wdd); kempld_wdt_remove()
517 watchdog_unregister_device(wdd); kempld_wdt_remove()
529 struct watchdog_device *wdd = &wdt_data->wdd; kempld_wdt_suspend() local
538 return kempld_wdt_stop(wdd); kempld_wdt_suspend()
547 struct watchdog_device *wdd = &wdt_data->wdd; kempld_wdt_resume() local
554 return kempld_wdt_start(wdd); kempld_wdt_resume()
556 return kempld_wdt_stop(wdd); kempld_wdt_resume()
H A Dbcm7038_wdt.c38 struct watchdog_device wdd; member in struct:bcm7038_watchdog
149 wdt->wdd.info = &bcm7038_wdt_info; bcm7038_wdt_probe()
150 wdt->wdd.ops = &bcm7038_wdt_ops; bcm7038_wdt_probe()
151 wdt->wdd.min_timeout = WDT_MIN_TIMEOUT; bcm7038_wdt_probe()
152 wdt->wdd.timeout = WDT_DEFAULT_TIMEOUT; bcm7038_wdt_probe()
153 wdt->wdd.max_timeout = 0xffffffff / wdt->rate; bcm7038_wdt_probe()
154 wdt->wdd.parent = dev; bcm7038_wdt_probe()
155 watchdog_set_drvdata(&wdt->wdd, wdt); bcm7038_wdt_probe()
157 err = watchdog_register_device(&wdt->wdd); bcm7038_wdt_probe()
174 bcm7038_wdt_stop(&wdt->wdd); bcm7038_wdt_remove()
176 watchdog_unregister_device(&wdt->wdd); bcm7038_wdt_remove()
187 if (watchdog_active(&wdt->wdd)) bcm7038_wdt_suspend()
188 return bcm7038_wdt_stop(&wdt->wdd); bcm7038_wdt_suspend()
197 if (watchdog_active(&wdt->wdd)) bcm7038_wdt_resume()
198 return bcm7038_wdt_start(&wdt->wdd); bcm7038_wdt_resume()
211 if (watchdog_active(&wdt->wdd)) bcm7038_wdt_shutdown()
212 bcm7038_wdt_stop(&wdt->wdd); bcm7038_wdt_shutdown()
H A Dsirfsoc_wdt.c42 static unsigned int sirfsoc_wdt_gettimeleft(struct watchdog_device *wdd) sirfsoc_wdt_gettimeleft() argument
48 wdt_base = watchdog_get_drvdata(wdd); sirfsoc_wdt_gettimeleft()
58 static int sirfsoc_wdt_updatetimeout(struct watchdog_device *wdd) sirfsoc_wdt_updatetimeout() argument
63 timeout_ticks = wdd->timeout * CLOCK_FREQ; sirfsoc_wdt_updatetimeout()
64 wdt_base = watchdog_get_drvdata(wdd); sirfsoc_wdt_updatetimeout()
80 static int sirfsoc_wdt_enable(struct watchdog_device *wdd) sirfsoc_wdt_enable() argument
82 void __iomem *wdt_base = watchdog_get_drvdata(wdd); sirfsoc_wdt_enable()
83 sirfsoc_wdt_updatetimeout(wdd); sirfsoc_wdt_enable()
97 static int sirfsoc_wdt_disable(struct watchdog_device *wdd) sirfsoc_wdt_disable() argument
99 void __iomem *wdt_base = watchdog_get_drvdata(wdd); sirfsoc_wdt_disable()
109 static int sirfsoc_wdt_settimeout(struct watchdog_device *wdd, unsigned int to) sirfsoc_wdt_settimeout() argument
111 wdd->timeout = to; sirfsoc_wdt_settimeout()
112 sirfsoc_wdt_updatetimeout(wdd); sirfsoc_wdt_settimeout()
170 struct watchdog_device *wdd = platform_get_drvdata(pdev); sirfsoc_wdt_shutdown() local
172 sirfsoc_wdt_disable(wdd); sirfsoc_wdt_shutdown()
189 struct watchdog_device *wdd = dev_get_drvdata(dev); sirfsoc_wdt_resume() local
196 sirfsoc_wdt_updatetimeout(wdd); sirfsoc_wdt_resume()
H A Dqcom-wdt.c28 struct watchdog_device wdd; member in struct:qcom_wdt
36 struct qcom_wdt *to_qcom_wdt(struct watchdog_device *wdd) to_qcom_wdt() argument
38 return container_of(wdd, struct qcom_wdt, wdd); to_qcom_wdt()
41 static int qcom_wdt_start(struct watchdog_device *wdd) qcom_wdt_start() argument
43 struct qcom_wdt *wdt = to_qcom_wdt(wdd); qcom_wdt_start()
47 writel(wdd->timeout * wdt->rate, wdt->base + WDT_BITE_TIME); qcom_wdt_start()
52 static int qcom_wdt_stop(struct watchdog_device *wdd) qcom_wdt_stop() argument
54 struct qcom_wdt *wdt = to_qcom_wdt(wdd); qcom_wdt_stop()
60 static int qcom_wdt_ping(struct watchdog_device *wdd) qcom_wdt_ping() argument
62 struct qcom_wdt *wdt = to_qcom_wdt(wdd); qcom_wdt_ping()
68 static int qcom_wdt_set_timeout(struct watchdog_device *wdd, qcom_wdt_set_timeout() argument
71 wdd->timeout = timeout; qcom_wdt_set_timeout()
72 return qcom_wdt_start(wdd); qcom_wdt_set_timeout()
169 wdt->wdd.dev = &pdev->dev; qcom_wdt_probe()
170 wdt->wdd.info = &qcom_wdt_info; qcom_wdt_probe()
171 wdt->wdd.ops = &qcom_wdt_ops; qcom_wdt_probe()
172 wdt->wdd.min_timeout = 1; qcom_wdt_probe()
173 wdt->wdd.max_timeout = 0x10000000U / wdt->rate; qcom_wdt_probe()
174 wdt->wdd.parent = &pdev->dev; qcom_wdt_probe()
181 wdt->wdd.timeout = min(wdt->wdd.max_timeout, 30U); qcom_wdt_probe()
182 watchdog_init_timeout(&wdt->wdd, 0, &pdev->dev); qcom_wdt_probe()
184 ret = watchdog_register_device(&wdt->wdd); qcom_wdt_probe()
211 watchdog_unregister_device(&wdt->wdd); qcom_wdt_remove()
H A Dat91sam9_wdt.c83 #define to_wdt(wdd) container_of(wdd, struct at91wdt, wdd)
85 struct watchdog_device wdd; member in struct:at91wdt
127 !watchdog_active(&wdt->wdd)) { at91_ping()
135 static int at91_wdt_start(struct watchdog_device *wdd) at91_wdt_start() argument
137 struct at91wdt *wdt = to_wdt(wdd); at91_wdt_start()
139 wdt->next_heartbeat = jiffies + wdd->timeout * HZ; at91_wdt_start()
143 static int at91_wdt_stop(struct watchdog_device *wdd) at91_wdt_stop() argument
149 static int at91_wdt_set_timeout(struct watchdog_device *wdd, unsigned int new_timeout) at91_wdt_set_timeout() argument
151 wdd->timeout = new_timeout; at91_wdt_set_timeout()
152 return at91_wdt_start(wdd); at91_wdt_set_timeout()
237 if (watchdog_init_timeout(&wdt->wdd, 0, dev)) at91_wdt_init()
238 watchdog_init_timeout(&wdt->wdd, heartbeat, dev); at91_wdt_init()
239 watchdog_set_nowayout(&wdt->wdd, wdt->nowayout); at91_wdt_init()
240 err = watchdog_register_device(&wdt->wdd); at91_wdt_init()
244 wdt->next_heartbeat = jiffies + wdt->wdd.timeout * HZ; at91_wdt_init()
278 dev_warn(wdt->wdd.parent, "failed to get IRQ from DT\n"); of_at91wdt_init()
345 wdt->wdd.parent = &pdev->dev; at91wdt_probe()
346 wdt->wdd.info = &at91_wdt_info; at91wdt_probe()
347 wdt->wdd.ops = &at91_wdt_ops; at91wdt_probe()
348 wdt->wdd.timeout = WDT_HEARTBEAT; at91wdt_probe()
349 wdt->wdd.min_timeout = 1; at91wdt_probe()
350 wdt->wdd.max_timeout = 0xFFFF; at91wdt_probe()
380 wdt->wdd.timeout, wdt->nowayout); at91wdt_probe()
393 watchdog_unregister_device(&wdt->wdd); at91wdt_remove()
H A Dmax63xx_wdt.c47 struct watchdog_device wdd; member in struct:max63xx_wdt
119 static int max63xx_wdt_ping(struct watchdog_device *wdd) max63xx_wdt_ping() argument
121 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); max63xx_wdt_ping()
127 static int max63xx_wdt_start(struct watchdog_device *wdd) max63xx_wdt_start() argument
129 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); max63xx_wdt_start()
139 static int max63xx_wdt_stop(struct watchdog_device *wdd) max63xx_wdt_stop() argument
141 struct max63xx_wdt *wdt = watchdog_get_drvdata(wdd); max63xx_wdt_stop()
228 platform_set_drvdata(pdev, &wdt->wdd); max63xx_wdt_probe()
229 watchdog_set_drvdata(&wdt->wdd, wdt); max63xx_wdt_probe()
231 wdt->wdd.parent = &pdev->dev; max63xx_wdt_probe()
232 wdt->wdd.timeout = wdt->timeout->twd; max63xx_wdt_probe()
233 wdt->wdd.info = &max63xx_wdt_info; max63xx_wdt_probe()
234 wdt->wdd.ops = &max63xx_wdt_ops; max63xx_wdt_probe()
236 watchdog_set_nowayout(&wdt->wdd, nowayout); max63xx_wdt_probe()
238 err = watchdog_register_device(&wdt->wdd); max63xx_wdt_probe()
249 struct watchdog_device *wdd = platform_get_drvdata(pdev); max63xx_wdt_remove() local
251 watchdog_unregister_device(wdd); max63xx_wdt_remove()
H A Dda9062_wdt.c109 static int da9062_wdt_start(struct watchdog_device *wdd) da9062_wdt_start() argument
111 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_start()
124 static int da9062_wdt_stop(struct watchdog_device *wdd) da9062_wdt_stop() argument
126 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_stop()
147 static int da9062_wdt_ping(struct watchdog_device *wdd) da9062_wdt_ping() argument
149 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_ping()
160 static int da9062_wdt_set_timeout(struct watchdog_device *wdd, da9062_wdt_set_timeout() argument
163 struct da9062_watchdog *wdt = watchdog_get_drvdata(wdd); da9062_wdt_set_timeout()
173 wdd->timeout = wdt_timeout[selector]; da9062_wdt_set_timeout()
H A Dda9063_wdt.c63 static int da9063_wdt_start(struct watchdog_device *wdd) da9063_wdt_start() argument
65 struct da9063_watchdog *wdt = watchdog_get_drvdata(wdd); da9063_wdt_start()
78 static int da9063_wdt_stop(struct watchdog_device *wdd) da9063_wdt_stop() argument
80 struct da9063_watchdog *wdt = watchdog_get_drvdata(wdd); da9063_wdt_stop()
92 static int da9063_wdt_ping(struct watchdog_device *wdd) da9063_wdt_ping() argument
94 struct da9063_watchdog *wdt = watchdog_get_drvdata(wdd); da9063_wdt_ping()
106 static int da9063_wdt_set_timeout(struct watchdog_device *wdd, da9063_wdt_set_timeout() argument
109 struct da9063_watchdog *wdt = watchdog_get_drvdata(wdd); da9063_wdt_set_timeout()
119 wdd->timeout = wdt_timeout[selector]; da9063_wdt_set_timeout()
H A Dux500_wdt.c41 static int ux500_wdt_start(struct watchdog_device *wdd) ux500_wdt_start() argument
46 static int ux500_wdt_stop(struct watchdog_device *wdd) ux500_wdt_stop() argument
51 static int ux500_wdt_keepalive(struct watchdog_device *wdd) ux500_wdt_keepalive() argument
56 static int ux500_wdt_set_timeout(struct watchdog_device *wdd, ux500_wdt_set_timeout() argument
59 ux500_wdt_stop(wdd); ux500_wdt_set_timeout()
61 ux500_wdt_start(wdd); ux500_wdt_set_timeout()
H A Dmpc8xxx_wdt.c55 struct watchdog_device wdd; member in struct:mpc8xxx_wdt_ddata
90 mod_timer(&ddata->timer, jiffies + HZ * ddata->wdd.timeout / 2); mpc8xxx_wdt_timer_ping()
96 container_of(w, struct mpc8xxx_wdt_ddata, wdd); mpc8xxx_wdt_start()
116 container_of(w, struct mpc8xxx_wdt_ddata, wdd); mpc8xxx_wdt_ping()
125 container_of(w, struct mpc8xxx_wdt_ddata, wdd); mpc8xxx_wdt_stop()
180 ddata->wdd.info = &mpc8xxx_wdt_info, mpc8xxx_wdt_probe()
181 ddata->wdd.ops = &mpc8xxx_wdt_ops, mpc8xxx_wdt_probe()
186 ddata->wdd.timeout = timeout_sec; mpc8xxx_wdt_probe()
188 watchdog_set_nowayout(&ddata->wdd, nowayout); mpc8xxx_wdt_probe()
190 ret = watchdog_register_device(&ddata->wdd); mpc8xxx_wdt_probe()
218 watchdog_unregister_device(&ddata->wdd); mpc8xxx_wdt_remove()
H A Dst_lpc_wdt.c126 static int st_wdog_start(struct watchdog_device *wdd) st_wdog_start() argument
128 struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog_start()
135 static int st_wdog_stop(struct watchdog_device *wdd) st_wdog_stop() argument
137 struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog_stop()
144 static int st_wdog_set_timeout(struct watchdog_device *wdd, st_wdog_set_timeout() argument
147 struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog_set_timeout()
149 wdd->timeout = timeout; st_wdog_set_timeout()
155 static int st_wdog_keepalive(struct watchdog_device *wdd) st_wdog_keepalive() argument
157 struct st_wdog *st_wdog = watchdog_get_drvdata(wdd); st_wdog_keepalive()
159 st_wdog_load_timer(st_wdog, wdd->timeout); st_wdog_keepalive()
H A Dof_xilinx_wdt.c50 static int xilinx_wdt_start(struct watchdog_device *wdd) xilinx_wdt_start() argument
53 struct xwdt_device *xdev = watchdog_get_drvdata(wdd); xilinx_wdt_start()
71 static int xilinx_wdt_stop(struct watchdog_device *wdd) xilinx_wdt_stop() argument
74 struct xwdt_device *xdev = watchdog_get_drvdata(wdd); xilinx_wdt_stop()
91 static int xilinx_wdt_keepalive(struct watchdog_device *wdd) xilinx_wdt_keepalive() argument
94 struct xwdt_device *xdev = watchdog_get_drvdata(wdd); xilinx_wdt_keepalive()
H A Dvia_wdt.c101 static int wdt_ping(struct watchdog_device *wdd) wdt_ping() argument
104 next_heartbeat = jiffies + wdd->timeout * HZ; wdt_ping()
108 static int wdt_start(struct watchdog_device *wdd) wdt_start() argument
112 writel(wdd->timeout, wdt_mem + VIA_WDT_COUNT); wdt_start()
114 wdt_ping(wdd); wdt_start()
119 static int wdt_stop(struct watchdog_device *wdd) wdt_stop() argument
127 static int wdt_set_timeout(struct watchdog_device *wdd, wdt_set_timeout() argument
131 wdd->timeout = new_timeout; wdt_set_timeout()
H A Dcadence_wdt.c123 * @wdd: watchdog device
130 static int cdns_wdt_stop(struct watchdog_device *wdd) cdns_wdt_stop() argument
132 struct cdns_wdt *wdt = watchdog_get_drvdata(wdd); cdns_wdt_stop()
145 * @wdd: watchdog device
151 static int cdns_wdt_reload(struct watchdog_device *wdd) cdns_wdt_reload() argument
153 struct cdns_wdt *wdt = watchdog_get_drvdata(wdd); cdns_wdt_reload()
166 * @wdd: watchdog device
181 static int cdns_wdt_start(struct watchdog_device *wdd) cdns_wdt_start() argument
183 struct cdns_wdt *wdt = watchdog_get_drvdata(wdd); cdns_wdt_start()
192 count = (wdd->timeout * (clock_f / wdt->prescaler)) / cdns_wdt_start()
229 * @wdd: watchdog device
236 static int cdns_wdt_settimeout(struct watchdog_device *wdd, cdns_wdt_settimeout() argument
239 wdd->timeout = new_time; cdns_wdt_settimeout()
241 return cdns_wdt_start(wdd); cdns_wdt_settimeout()
H A Dpnx4008_wdt.c85 static int pnx4008_wdt_start(struct watchdog_device *wdd) pnx4008_wdt_start() argument
102 writel(wdd->timeout * WDOG_COUNTER_RATE, WDTIM_MATCH0(wdt_base)); pnx4008_wdt_start()
110 static int pnx4008_wdt_stop(struct watchdog_device *wdd) pnx4008_wdt_stop() argument
120 static int pnx4008_wdt_set_timeout(struct watchdog_device *wdd, pnx4008_wdt_set_timeout() argument
123 wdd->timeout = new_timeout; pnx4008_wdt_set_timeout()
H A Die6xx_wdt.c101 static int ie6xx_wdt_ping(struct watchdog_device *wdd) ie6xx_wdt_ping() argument
110 static int ie6xx_wdt_set_timeout(struct watchdog_device *wdd, unsigned int t) ie6xx_wdt_set_timeout() argument
143 wdd->timeout = t; ie6xx_wdt_set_timeout()
147 static int ie6xx_wdt_start(struct watchdog_device *wdd) ie6xx_wdt_start() argument
149 ie6xx_wdt_set_timeout(wdd, wdd->timeout); ie6xx_wdt_start()
159 static int ie6xx_wdt_stop(struct watchdog_device *wdd) ie6xx_wdt_stop() argument
H A Dep93xx_wdt.c69 static int ep93xx_wdt_start(struct watchdog_device *wdd) ep93xx_wdt_start() argument
79 static int ep93xx_wdt_stop(struct watchdog_device *wdd) ep93xx_wdt_stop() argument
87 static int ep93xx_wdt_keepalive(struct watchdog_device *wdd) ep93xx_wdt_keepalive() argument
H A Ds3c2410_wdt.c237 static int s3c2410wdt_keepalive(struct watchdog_device *wdd) s3c2410wdt_keepalive() argument
239 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_keepalive()
257 static int s3c2410wdt_stop(struct watchdog_device *wdd) s3c2410wdt_stop() argument
259 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_stop()
268 static int s3c2410wdt_start(struct watchdog_device *wdd) s3c2410wdt_start() argument
271 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_start()
304 static int s3c2410wdt_set_heartbeat(struct watchdog_device *wdd, unsigned timeout) s3c2410wdt_set_heartbeat() argument
306 struct s3c2410_wdt *wdt = watchdog_get_drvdata(wdd); s3c2410wdt_set_heartbeat()
349 wdd->timeout = (count * divisor) / freq; s3c2410wdt_set_heartbeat()
H A Dcoh901327_wdt.c166 static int coh901327_ping(struct watchdog_device *wdd) coh901327_ping() argument
/linux-4.4.14/include/linux/
H A Dwatchdog.h107 static inline bool watchdog_active(struct watchdog_device *wdd) watchdog_active() argument
109 return test_bit(WDOG_ACTIVE, &wdd->status); watchdog_active()
113 static inline void watchdog_set_nowayout(struct watchdog_device *wdd, bool nowayout) watchdog_set_nowayout() argument
116 set_bit(WDOG_NO_WAY_OUT, &wdd->status); watchdog_set_nowayout()
120 static inline bool watchdog_timeout_invalid(struct watchdog_device *wdd, unsigned int t) watchdog_timeout_invalid() argument
129 return t < wdd->min_timeout || watchdog_timeout_invalid()
130 (wdd->max_timeout && t > wdd->max_timeout); watchdog_timeout_invalid()
134 static inline void watchdog_set_drvdata(struct watchdog_device *wdd, void *data) watchdog_set_drvdata() argument
136 wdd->driver_data = data; watchdog_set_drvdata()
139 static inline void *watchdog_get_drvdata(struct watchdog_device *wdd) watchdog_get_drvdata() argument
141 return wdd->driver_data; watchdog_get_drvdata()
145 extern int watchdog_init_timeout(struct watchdog_device *wdd,
H A Dbcm47xx_wdt.h17 struct watchdog_device wdd; member in struct:bcm47xx_wdt

Completed in 269 milliseconds