[RFC PATCH] clk: fix clk_get_rate() always return ulong

Sean Anderson seanga2 at gmail.com
Fri Aug 26 16:00:38 CEST 2022


On 8/26/22 6:31 AM, Julien Masson wrote:
> According to clk_ops struct definition, the callback `get_rate()`
> return current clock rate value as ulong.
> `clk_get_rate()` should handle the clock rate returned as ulong also.
> 
> Otherwise we may have invalid/truncated clock rate value returned by
> `clk_get_rate()`.
> 
> `log_ret` has also been removed since it use an `int` in the macro
> definition.
> 
> Signed-off-by: Julien Masson <jmasson at baylibre.com>
> ---
>   drivers/clk/clk-uclass.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
> index b89c77bf79..446f7c49b8 100644
> --- a/drivers/clk/clk-uclass.c
> +++ b/drivers/clk/clk-uclass.c
> @@ -469,7 +469,7 @@ void clk_free(struct clk *clk)
>   ulong clk_get_rate(struct clk *clk)
>   {
>   	const struct clk_ops *ops;
> -	int ret;
> +	ulong ret;
>   
>   	debug("%s(clk=%p)\n", __func__, clk);
>   	if (!clk_valid(clk))
> @@ -481,7 +481,7 @@ ulong clk_get_rate(struct clk *clk)
>   
>   	ret = ops->get_rate(clk);
>   	if (ret)
> -		return log_ret(ret);
> +		return ret;
>   
>   	return 0;

This can just be return ret no if required.

>   }
> 


More information about the U-Boot mailing list