Lines Matching refs:wdt_dev
52 struct watchdog_device wdt_dev;
61 static int lpc18xx_wdt_feed(struct watchdog_device *wdt_dev)
63 struct lpc18xx_wdt_dev *lpc18xx_wdt = watchdog_get_drvdata(wdt_dev);
81 struct watchdog_device *wdt_dev = &lpc18xx_wdt->wdt_dev;
83 lpc18xx_wdt_feed(wdt_dev);
87 msecs_to_jiffies((wdt_dev->timeout * MSEC_PER_SEC) / 2));
94 static int lpc18xx_wdt_stop(struct watchdog_device *wdt_dev)
96 struct lpc18xx_wdt_dev *lpc18xx_wdt = watchdog_get_drvdata(wdt_dev);
107 val = DIV_ROUND_UP(lpc18xx_wdt->wdt_dev.timeout * lpc18xx_wdt->clk_rate,
112 static int lpc18xx_wdt_set_timeout(struct watchdog_device *wdt_dev,
115 struct lpc18xx_wdt_dev *lpc18xx_wdt = watchdog_get_drvdata(wdt_dev);
117 lpc18xx_wdt->wdt_dev.timeout = new_timeout;
123 static unsigned int lpc18xx_wdt_get_timeleft(struct watchdog_device *wdt_dev)
125 struct lpc18xx_wdt_dev *lpc18xx_wdt = watchdog_get_drvdata(wdt_dev);
132 static int lpc18xx_wdt_start(struct watchdog_device *wdt_dev)
134 struct lpc18xx_wdt_dev *lpc18xx_wdt = watchdog_get_drvdata(wdt_dev);
150 lpc18xx_wdt_feed(wdt_dev);
155 static int lpc18xx_wdt_restart(struct watchdog_device *wdt_dev,
158 struct lpc18xx_wdt_dev *lpc18xx_wdt = watchdog_get_drvdata(wdt_dev);
232 lpc18xx_wdt->wdt_dev.info = &lpc18xx_wdt_info;
233 lpc18xx_wdt->wdt_dev.ops = &lpc18xx_wdt_ops;
235 lpc18xx_wdt->wdt_dev.min_timeout = DIV_ROUND_UP(LPC18XX_WDT_TC_MIN *
238 lpc18xx_wdt->wdt_dev.max_timeout = (LPC18XX_WDT_TC_MAX *
241 lpc18xx_wdt->wdt_dev.timeout = min(lpc18xx_wdt->wdt_dev.max_timeout,
246 lpc18xx_wdt->wdt_dev.parent = dev;
247 watchdog_set_drvdata(&lpc18xx_wdt->wdt_dev, lpc18xx_wdt);
249 watchdog_init_timeout(&lpc18xx_wdt->wdt_dev, heartbeat, dev);
255 watchdog_set_nowayout(&lpc18xx_wdt->wdt_dev, nowayout);
256 watchdog_set_restart_priority(&lpc18xx_wdt->wdt_dev, 128);
260 watchdog_stop_on_reboot(&lpc18xx_wdt->wdt_dev);
261 return devm_watchdog_register_device(dev, &lpc18xx_wdt->wdt_dev);