Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clocksource/drivers/ingenic: Use devm_clk_get_enabled() helpers

The devm_clk_get_enabled() helpers:
- call devm_clk_get()
- call clk_prepare_enable() and register what is needed in order to
call clk_disable_unprepare() when needed, as a managed resource.

This simplifies the code and avoids the calls to clk_disable_unprepare().

Signed-off-by: Huan Yang <link@vivo.com>
Link: https://lore.kernel.org/r/20240820094603.103598-1-link@vivo.com
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>

authored by

Huan Yang and committed by
Daniel Lezcano
414b2fb4 e86c8186

+1 -6
+1 -6
drivers/clocksource/ingenic-ost.c
··· 93 93 return PTR_ERR(map); 94 94 } 95 95 96 - ost->clk = devm_clk_get(dev, "ost"); 96 + ost->clk = devm_clk_get_enabled(dev, "ost"); 97 97 if (IS_ERR(ost->clk)) 98 98 return PTR_ERR(ost->clk); 99 - 100 - err = clk_prepare_enable(ost->clk); 101 - if (err) 102 - return err; 103 99 104 100 /* Clear counter high/low registers */ 105 101 if (soc_info->is64bit) ··· 125 129 err = clocksource_register_hz(cs, rate); 126 130 if (err) { 127 131 dev_err(dev, "clocksource registration failed"); 128 - clk_disable_unprepare(ost->clk); 129 132 return err; 130 133 } 131 134