Lines Matching refs:pdc_wdt

184 	struct pdc_wdt_dev *pdc_wdt;  in pdc_wdt_probe()  local
186 pdc_wdt = devm_kzalloc(dev, sizeof(*pdc_wdt), GFP_KERNEL); in pdc_wdt_probe()
187 if (!pdc_wdt) in pdc_wdt_probe()
190 pdc_wdt->base = devm_platform_ioremap_resource(pdev, 0); in pdc_wdt_probe()
191 if (IS_ERR(pdc_wdt->base)) in pdc_wdt_probe()
192 return PTR_ERR(pdc_wdt->base); in pdc_wdt_probe()
194 pdc_wdt->sys_clk = devm_clk_get_enabled(dev, "sys"); in pdc_wdt_probe()
195 if (IS_ERR(pdc_wdt->sys_clk)) { in pdc_wdt_probe()
197 return PTR_ERR(pdc_wdt->sys_clk); in pdc_wdt_probe()
200 pdc_wdt->wdt_clk = devm_clk_get_enabled(dev, "wdt"); in pdc_wdt_probe()
201 if (IS_ERR(pdc_wdt->wdt_clk)) { in pdc_wdt_probe()
203 return PTR_ERR(pdc_wdt->wdt_clk); in pdc_wdt_probe()
207 clk_rate = clk_get_rate(pdc_wdt->wdt_clk); in pdc_wdt_probe()
219 pdc_wdt->wdt_dev.min_timeout = PDC_WDT_MIN_TIMEOUT + 1; in pdc_wdt_probe()
221 pdc_wdt->wdt_dev.min_timeout = PDC_WDT_MIN_TIMEOUT; in pdc_wdt_probe()
223 pdc_wdt->wdt_dev.info = &pdc_wdt_info; in pdc_wdt_probe()
224 pdc_wdt->wdt_dev.ops = &pdc_wdt_ops; in pdc_wdt_probe()
228 pdc_wdt->wdt_dev.max_timeout = div; in pdc_wdt_probe()
229 pdc_wdt->wdt_dev.timeout = PDC_WDT_DEF_TIMEOUT; in pdc_wdt_probe()
230 pdc_wdt->wdt_dev.parent = dev; in pdc_wdt_probe()
231 watchdog_set_drvdata(&pdc_wdt->wdt_dev, pdc_wdt); in pdc_wdt_probe()
233 watchdog_init_timeout(&pdc_wdt->wdt_dev, heartbeat, dev); in pdc_wdt_probe()
235 pdc_wdt_stop(&pdc_wdt->wdt_dev); in pdc_wdt_probe()
238 val = readl(pdc_wdt->base + PDC_WDT_TICKLE1); in pdc_wdt_probe()
243 pdc_wdt->wdt_dev.bootstatus |= WDIOF_CARDRESET; in pdc_wdt_probe()
263 watchdog_set_nowayout(&pdc_wdt->wdt_dev, nowayout); in pdc_wdt_probe()
264 watchdog_set_restart_priority(&pdc_wdt->wdt_dev, 128); in pdc_wdt_probe()
266 platform_set_drvdata(pdev, pdc_wdt); in pdc_wdt_probe()
268 watchdog_stop_on_reboot(&pdc_wdt->wdt_dev); in pdc_wdt_probe()
269 watchdog_stop_on_unregister(&pdc_wdt->wdt_dev); in pdc_wdt_probe()
270 return devm_watchdog_register_device(dev, &pdc_wdt->wdt_dev); in pdc_wdt_probe()