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 <glaubitz@physik.fu-berlin.de> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Acked-by: Stephen Boyd <sboyd@kernel.org> Link: https://lore.kernel.org/r/b53e6b557b4240579933b3359dda335ff94ed5af.1675354849.git.geert+renesas@glider.be Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
1 parent 2508708 commit ff30bd6

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

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)