Lines Matching refs:wdt

87 	struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev);  in sh_wdt_start()  local
91 pm_runtime_get_sync(wdt->dev); in sh_wdt_start()
92 clk_enable(wdt->clk); in sh_wdt_start()
94 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_start()
97 mod_timer(&wdt->timer, next_ping_period(clock_division_ratio)); in sh_wdt_start()
123 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_start()
130 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_stop() local
134 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_stop()
136 del_timer(&wdt->timer); in sh_wdt_stop()
142 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_stop()
144 clk_disable(wdt->clk); in sh_wdt_stop()
145 pm_runtime_put_sync(wdt->dev); in sh_wdt_stop()
152 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_keepalive() local
155 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_keepalive()
157 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_keepalive()
164 struct sh_wdt *wdt = watchdog_get_drvdata(wdt_dev); in sh_wdt_set_heartbeat() local
170 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_set_heartbeat()
173 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_set_heartbeat()
180 struct sh_wdt *wdt = (struct sh_wdt *)data; in sh_wdt_ping() local
183 spin_lock_irqsave(&wdt->lock, flags); in sh_wdt_ping()
193 mod_timer(&wdt->timer, next_ping_period(clock_division_ratio)); in sh_wdt_ping()
195 dev_warn(wdt->dev, "Heartbeat lost! Will not ping " in sh_wdt_ping()
197 spin_unlock_irqrestore(&wdt->lock, flags); in sh_wdt_ping()
222 struct sh_wdt *wdt; in sh_wdt_probe() local
233 wdt = devm_kzalloc(&pdev->dev, sizeof(struct sh_wdt), GFP_KERNEL); in sh_wdt_probe()
234 if (unlikely(!wdt)) in sh_wdt_probe()
237 wdt->dev = &pdev->dev; in sh_wdt_probe()
239 wdt->clk = devm_clk_get(&pdev->dev, NULL); in sh_wdt_probe()
240 if (IS_ERR(wdt->clk)) { in sh_wdt_probe()
245 wdt->clk = NULL; in sh_wdt_probe()
249 wdt->base = devm_ioremap_resource(wdt->dev, res); in sh_wdt_probe()
250 if (IS_ERR(wdt->base)) in sh_wdt_probe()
251 return PTR_ERR(wdt->base); in sh_wdt_probe()
254 watchdog_set_drvdata(&sh_wdt_dev, wdt); in sh_wdt_probe()
256 spin_lock_init(&wdt->lock); in sh_wdt_probe()
277 init_timer(&wdt->timer); in sh_wdt_probe()
278 wdt->timer.function = sh_wdt_ping; in sh_wdt_probe()
279 wdt->timer.data = (unsigned long)wdt; in sh_wdt_probe()
280 wdt->timer.expires = next_ping_period(clock_division_ratio); in sh_wdt_probe()