[PATCH] clk: fix count parameter type for clk_release_all

Sean Anderson seanga2 at gmail.com
Wed Nov 1 19:30:02 CET 2023


On 6/19/23 06:47, Eugen Hristev wrote:
> The second parameter for clk_release_all is used as an unsigned
> (which makes sense) but the function prototype declares it as an int.
> This causes warnings/error like such below:
> 
> include/clk.h:422:48: error: conversion to ‘int’ from ‘unsigned int’ may change the sign of the result [-Werror=sign-conversion]
>    422 |         return clk_release_all(bulk->clks, bulk->count);
> 
> To fix this, changed the type of the count to `unsigned int`
> 
> Fixes: 82a8a669b4f7 ("clk: add clk_release_all()")
> Signed-off-by: Eugen Hristev <eugen.hristev at collabora.com>
> ---
>   drivers/clk/clk-uclass.c | 7 ++++---
>   include/clk.h            | 4 ++--
>   2 files changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
> index dc3e9d6a2615..eada3a3a5b62 100644
> --- a/drivers/clk/clk-uclass.c
> +++ b/drivers/clk/clk-uclass.c
> @@ -416,12 +416,13 @@ int clk_get_by_name_nodev(ofnode node, const char *name, struct clk *clk)
>   	return clk_get_by_index_nodev(node, index, clk);
>   }
>   
> -int clk_release_all(struct clk *clk, int count)
> +int clk_release_all(struct clk *clk, unsigned int count)
>   {
> -	int i, ret;
> +	unsigned int i;
> +	int ret;
>   
>   	for (i = 0; i < count; i++) {
> -		debug("%s(clk[%d]=%p)\n", __func__, i, &clk[i]);
> +		debug("%s(clk[%u]=%p)\n", __func__, i, &clk[i]);
>   
>   		/* check if clock has been previously requested */
>   		if (!clk[i].dev)
> diff --git a/include/clk.h b/include/clk.h
> index d91285235f79..a342297007b6 100644
> --- a/include/clk.h
> +++ b/include/clk.h
> @@ -243,7 +243,7 @@ static inline struct clk *devm_clk_get_optional(struct udevice *dev,
>    *
>    * Return: zero on success, or -ve error code.
>    */
> -int clk_release_all(struct clk *clk, int count);
> +int clk_release_all(struct clk *clk, unsigned int count);
>   
>   /**
>    * devm_clk_put	- "free" a managed clock source
> @@ -307,7 +307,7 @@ clk_get_by_name_nodev(ofnode node, const char *name, struct clk *clk)
>   	return -ENOSYS;
>   }
>   
> -static inline int clk_release_all(struct clk *clk, int count)
> +static inline int clk_release_all(struct clk *clk, unsigned int count)
>   {
>   	return -ENOSYS;
>   }

Reviewed-by: Sean Anderson <seanga2 at gmail.com>


More information about the U-Boot mailing list