Lines Matching refs:pdc_wdt
189 struct pdc_wdt_dev *pdc_wdt; in pdc_wdt_probe() local
191 pdc_wdt = devm_kzalloc(dev, sizeof(*pdc_wdt), GFP_KERNEL); in pdc_wdt_probe()
192 if (!pdc_wdt) in pdc_wdt_probe()
195 pdc_wdt->base = devm_platform_ioremap_resource(pdev, 0); in pdc_wdt_probe()
196 if (IS_ERR(pdc_wdt->base)) in pdc_wdt_probe()
197 return PTR_ERR(pdc_wdt->base); in pdc_wdt_probe()
199 pdc_wdt->sys_clk = devm_clk_get(dev, "sys"); in pdc_wdt_probe()
200 if (IS_ERR(pdc_wdt->sys_clk)) { in pdc_wdt_probe()
202 return PTR_ERR(pdc_wdt->sys_clk); in pdc_wdt_probe()
205 pdc_wdt->wdt_clk = devm_clk_get(dev, "wdt"); in pdc_wdt_probe()
206 if (IS_ERR(pdc_wdt->wdt_clk)) { in pdc_wdt_probe()
208 return PTR_ERR(pdc_wdt->wdt_clk); in pdc_wdt_probe()
211 ret = clk_prepare_enable(pdc_wdt->sys_clk); in pdc_wdt_probe()
217 pdc_wdt->sys_clk); in pdc_wdt_probe()
221 ret = clk_prepare_enable(pdc_wdt->wdt_clk); in pdc_wdt_probe()
227 pdc_wdt->wdt_clk); in pdc_wdt_probe()
232 clk_rate = clk_get_rate(pdc_wdt->wdt_clk); in pdc_wdt_probe()
244 pdc_wdt->wdt_dev.min_timeout = PDC_WDT_MIN_TIMEOUT + 1; in pdc_wdt_probe()
246 pdc_wdt->wdt_dev.min_timeout = PDC_WDT_MIN_TIMEOUT; in pdc_wdt_probe()
248 pdc_wdt->wdt_dev.info = &pdc_wdt_info; in pdc_wdt_probe()
249 pdc_wdt->wdt_dev.ops = &pdc_wdt_ops; in pdc_wdt_probe()
253 pdc_wdt->wdt_dev.max_timeout = div; in pdc_wdt_probe()
254 pdc_wdt->wdt_dev.timeout = PDC_WDT_DEF_TIMEOUT; in pdc_wdt_probe()
255 pdc_wdt->wdt_dev.parent = dev; in pdc_wdt_probe()
256 watchdog_set_drvdata(&pdc_wdt->wdt_dev, pdc_wdt); in pdc_wdt_probe()
258 watchdog_init_timeout(&pdc_wdt->wdt_dev, heartbeat, dev); in pdc_wdt_probe()
260 pdc_wdt_stop(&pdc_wdt->wdt_dev); in pdc_wdt_probe()
263 val = readl(pdc_wdt->base + PDC_WDT_TICKLE1); in pdc_wdt_probe()
268 pdc_wdt->wdt_dev.bootstatus |= WDIOF_CARDRESET; in pdc_wdt_probe()
288 watchdog_set_nowayout(&pdc_wdt->wdt_dev, nowayout); in pdc_wdt_probe()
289 watchdog_set_restart_priority(&pdc_wdt->wdt_dev, 128); in pdc_wdt_probe()
291 platform_set_drvdata(pdev, pdc_wdt); in pdc_wdt_probe()
293 watchdog_stop_on_reboot(&pdc_wdt->wdt_dev); in pdc_wdt_probe()
294 watchdog_stop_on_unregister(&pdc_wdt->wdt_dev); in pdc_wdt_probe()
295 return devm_watchdog_register_device(dev, &pdc_wdt->wdt_dev); in pdc_wdt_probe()