Skip to content

Commit ff30bd6

Browse files
geertuglaubitz
authored andcommitted
sh: clk: Fix clk_enable() to return 0 on NULL clk
On SH, devm_clk_get_optional_enabled() fails with -EINVAL if the clock is not found. This happens because __devm_clk_get() assumes it can pass a NULL clock pointer (as returned by clk_get_optional()) to the init() function (clk_prepare_enable() in this case), while the SH implementation of clk_enable() considers that an error. Fix this by making the SH clk_enable() implementation return zero instead, like the Common Clock Framework does. Reported-by: John Paul Adrian Glaubitz <[email protected]> Signed-off-by: Geert Uytterhoeven <[email protected]> Tested-by: John Paul Adrian Glaubitz <[email protected]> Acked-by: Stephen Boyd <[email protected]> Link: https://lore.kernel.org/r/b53e6b557b4240579933b3359dda335ff94ed5af.1675354849.git.geert+renesas@glider.be Signed-off-by: John Paul Adrian Glaubitz <[email protected]>
1 parent 2508708 commit ff30bd6

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/sh/clk/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ int clk_enable(struct clk *clk)
295295
int ret;
296296

297297
if (!clk)
298-
return -EINVAL;
298+
return 0;
299299

300300
spin_lock_irqsave(&clock_lock, flags);
301301
ret = __clk_enable(clk);

0 commit comments

Comments
 (0)