Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9df0ef1 authored by Viresh Kumar's avatar Viresh Kumar Committed by Wim Van Sebroeck
Browse files

watchdog: sp805_wdt: Add clk_{un}prepare support



clk_{un}prepare() routines are required for required on some platforms to run
part of clk enable/disable() routines from contexts that can schedule.

This patch adds support for these routines in sp805 driver.

Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent 4a516539
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -130,9 +130,16 @@ static int wdt_config(struct watchdog_device *wdd, bool ping)
	int ret;

	if (!ping) {
		ret = clk_prepare(wdt->clk);
		if (ret) {
			dev_err(&wdt->adev->dev, "clock prepare fail");
			return ret;
		}

		ret = clk_enable(wdt->clk);
		if (ret) {
			dev_err(&wdt->adev->dev, "clock enable fail");
			clk_unprepare(wdt->clk);
			return ret;
		}
	}
@@ -184,6 +191,7 @@ static int wdt_disable(struct watchdog_device *wdd)
	spin_unlock(&wdt->lock);

	clk_disable(wdt->clk);
	clk_unprepare(wdt->clk);

	return 0;
}