[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