/** * cdns_wdt_shutdown - Stop the device. * * @pdev: handle to the platform structure. * */ static void cdns_wdt_shutdown(struct platform_device *pdev) { struct cdns_wdt *wdt = platform_get_drvdata(pdev); cdns_wdt_stop(&wdt->cdns_wdt_device); clk_disable_unprepare(wdt->clk); }
/** * cdns_wdt_remove - Probe call for the device. * * @pdev: handle to the platform device structure. * Return: 0 on success, otherwise negative error. * * Unregister the device after releasing the resources. */ static int cdns_wdt_remove(struct platform_device *pdev) { struct cdns_wdt *wdt = platform_get_drvdata(pdev); cdns_wdt_stop(&wdt->cdns_wdt_device); watchdog_unregister_device(&wdt->cdns_wdt_device); clk_disable_unprepare(wdt->clk); return 0; }
/** * cdns_wdt_suspend - Stop the device. * * @dev: handle to the device structure. * Return: 0 always. */ static int __maybe_unused cdns_wdt_suspend(struct device *dev) { struct cdns_wdt *wdt = dev_get_drvdata(dev); if (watchdog_active(&wdt->cdns_wdt_device)) { cdns_wdt_stop(&wdt->cdns_wdt_device); clk_disable_unprepare(wdt->clk); } return 0; }