Skip to content

Commit bdb9701

Browse files
ruanjinjie-engWim Van Sebroeck
authored andcommitted
watchdog: sunplus: Use the devm_clk_get_enabled() helper function
The devm_clk_get_enabled() helper: - calls devm_clk_get() - calls clk_prepare_enable() and registers what is needed in order to call clk_disable_unprepare() when needed, as a managed resource. This simplifies the code and avoids the need of a dedicated function used with devm_add_action_or_reset(). Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20230824135514.2661364-4-ruanjinjie@huawei.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
1 parent c51a697 commit bdb9701

1 file changed

Lines changed: 2 additions & 15 deletions

File tree

drivers/watchdog/sunplus_wdt.c

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,6 @@ static const struct watchdog_ops sp_wdt_ops = {
136136
.restart = sp_wdt_restart,
137137
};
138138

139-
static void sp_clk_disable_unprepare(void *data)
140-
{
141-
clk_disable_unprepare(data);
142-
}
143-
144139
static void sp_reset_control_assert(void *data)
145140
{
146141
reset_control_assert(data);
@@ -156,17 +151,9 @@ static int sp_wdt_probe(struct platform_device *pdev)
156151
if (!priv)
157152
return -ENOMEM;
158153

159-
priv->clk = devm_clk_get(dev, NULL);
154+
priv->clk = devm_clk_get_enabled(dev, NULL);
160155
if (IS_ERR(priv->clk))
161-
return dev_err_probe(dev, PTR_ERR(priv->clk), "Failed to get clock\n");
162-
163-
ret = clk_prepare_enable(priv->clk);
164-
if (ret)
165-
return dev_err_probe(dev, ret, "Failed to enable clock\n");
166-
167-
ret = devm_add_action_or_reset(dev, sp_clk_disable_unprepare, priv->clk);
168-
if (ret)
169-
return ret;
156+
return dev_err_probe(dev, PTR_ERR(priv->clk), "Failed to enable clock\n");
170157

171158
/* The timer and watchdog shared the STC reset */
172159
priv->rstc = devm_reset_control_get_shared(dev, NULL);

0 commit comments

Comments
 (0)