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