[PATCH 16/17] clk: Detect failure to set defaults

Sean Anderson seanga2 at gmail.com
Sun May 9 02:40:39 CEST 2021


On 5/8/21 6:00 PM, Simon Glass wrote:
> When the default clocks cannot be set, the clock is silently probed and
> the error is ignored. This is incorrect, since having the clocks at the
> correct speed may be important for operation of the system.
> 
> Fix it by checking the return code.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>   drivers/clk/clk-uclass.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
> index 4ab3c402ed8..2a2e1cfbd61 100644
> --- a/drivers/clk/clk-uclass.c
> +++ b/drivers/clk/clk-uclass.c
> @@ -796,13 +796,17 @@ void devm_clk_put(struct udevice *dev, struct clk *clk)
>   
>   int clk_uclass_post_probe(struct udevice *dev)
>   {
> +	int ret;
> +
>   	/*
>   	 * when a clock provider is probed. Call clk_set_defaults()
>   	 * also after the device is probed. This takes care of cases
>   	 * where the DT is used to setup default parents and rates
>   	 * using assigned-clocks
>   	 */
> -	clk_set_defaults(dev, 1);
> +	ret = clk_set_defaults(dev, 1);
> +	if (ret)
> +		return log_ret(ret);
>   
>   	return 0;
>   }
> 

See also: https://patchwork.ozlabs.org/project/uboot/patch/20210409021313.433558-2-seanga2@gmail.com/

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


More information about the U-Boot mailing list