]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
clk: fix clk_get_rate() always return ulong
authorJulien Masson <jmasson@baylibre.com>
Fri, 15 Dec 2023 14:09:43 +0000 (15:09 +0100)
committerSean Anderson <seanga2@gmail.com>
Tue, 30 Jan 2024 03:34:52 +0000 (22:34 -0500)
When we call clk_get_rate(), we expect to get clock rate value as
ulong.
In that case we should not use log_ret() macro since it use internally
an int.
Otherwise we may return an invalid/truncated clock rate value.

Signed-off-by: Julien Masson <jmasson@baylibre.com>
Fixes: 5c5992cb90c ("clk: Add debugging for return values")
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/87o7erv9p4.fsf@baylibre.com
drivers/clk/clk-uclass.c

index 3e9d68feb3c779dac5aa8d0b04b15378067ae525..d5e20071859e91467d7d52f52a1dae98d1ca153b 100644 (file)
@@ -478,7 +478,6 @@ void clk_free(struct clk *clk)
 ulong clk_get_rate(struct clk *clk)
 {
        const struct clk_ops *ops;
-       ulong ret;
 
        debug("%s(clk=%p)\n", __func__, clk);
        if (!clk_valid(clk))
@@ -488,11 +487,7 @@ ulong clk_get_rate(struct clk *clk)
        if (!ops->get_rate)
                return -ENOSYS;
 
-       ret = ops->get_rate(clk);
-       if (ret)
-               return log_ret(ret);
-
-       return 0;
+       return ops->get_rate(clk);
 }
 
 struct clk *clk_get_parent(struct clk *clk)