Lines Matching defs:imx7ulp_wdt
303 struct imx7ulp_wdt_device *imx7ulp_wdt;
308 imx7ulp_wdt = devm_kzalloc(dev, sizeof(*imx7ulp_wdt), GFP_KERNEL);
309 if (!imx7ulp_wdt)
312 platform_set_drvdata(pdev, imx7ulp_wdt);
314 imx7ulp_wdt->base = devm_platform_ioremap_resource(pdev, 0);
315 if (IS_ERR(imx7ulp_wdt->base))
316 return PTR_ERR(imx7ulp_wdt->base);
318 imx7ulp_wdt->clk = devm_clk_get_enabled(dev, NULL);
319 if (IS_ERR(imx7ulp_wdt->clk)) {
321 return PTR_ERR(imx7ulp_wdt->clk);
324 imx7ulp_wdt->post_rcs_wait = true;
328 imx7ulp_wdt->post_rcs_wait = false;
333 wdog = &imx7ulp_wdt->wdd;
344 watchdog_set_drvdata(wdog, imx7ulp_wdt);
346 imx7ulp_wdt->hw = of_device_get_match_data(dev);
347 ret = imx7ulp_wdt_init(imx7ulp_wdt, wdog->timeout * imx7ulp_wdt->hw->wdog_clock_rate);
356 struct imx7ulp_wdt_device *imx7ulp_wdt = dev_get_drvdata(dev);
358 if (watchdog_active(&imx7ulp_wdt->wdd))
359 imx7ulp_wdt_stop(&imx7ulp_wdt->wdd);
361 clk_disable_unprepare(imx7ulp_wdt->clk);
368 struct imx7ulp_wdt_device *imx7ulp_wdt = dev_get_drvdata(dev);
369 u32 timeout = imx7ulp_wdt->wdd.timeout * imx7ulp_wdt->hw->wdog_clock_rate;
372 ret = clk_prepare_enable(imx7ulp_wdt->clk);
376 if (watchdog_active(&imx7ulp_wdt->wdd)) {
377 imx7ulp_wdt_init(imx7ulp_wdt, timeout);
378 imx7ulp_wdt_start(&imx7ulp_wdt->wdd);
379 imx7ulp_wdt_ping(&imx7ulp_wdt->wdd);