On 11.02.2021 22:19, Alex Elder wrote:
> When initializing the IPA core clock and interconnects, it's
> possible we'll get an EPROBE_DEFER error.  This isn't really an
> error, it's just means we need to be re-probed later.
> 
> Check the return code when initializing these, and if it's
> EPROBE_DEFER, skip printing the error message.
> 
> Signed-off-by: Alex Elder <el...@linaro.org>
> ---
>  drivers/net/ipa/ipa_clock.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ipa/ipa_clock.c b/drivers/net/ipa/ipa_clock.c
> index 354675a643db5..238a713f6b604 100644
> --- a/drivers/net/ipa/ipa_clock.c
> +++ b/drivers/net/ipa/ipa_clock.c
> @@ -1,7 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0
>  
>  /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
> - * Copyright (C) 2018-2020 Linaro Ltd.
> + * Copyright (C) 2018-2021 Linaro Ltd.
>   */
>  
>  #include <linux/refcount.h>
> @@ -68,8 +68,9 @@ static int ipa_interconnect_init_one(struct device *dev,
>       if (IS_ERR(path)) {
>               int ret = PTR_ERR(path);
>  
> -             dev_err(dev, "error %d getting %s interconnect\n", ret,
> -                     data->name);
> +             if (ret != -EPROBE_DEFER)
> +                     dev_err(dev, "error %d getting %s interconnect\n", ret,
> +                             data->name);
>  

You may want to use dev_err_probe() here.

>               return ret;
>       }
> @@ -281,7 +282,10 @@ ipa_clock_init(struct device *dev, const struct 
> ipa_clock_data *data)
>  
>       clk = clk_get(dev, "core");
>       if (IS_ERR(clk)) {
> -             dev_err(dev, "error %ld getting core clock\n", PTR_ERR(clk));
> +             ret = PTR_ERR(clk);
> +             if (ret != -EPROBE_DEFER)
> +                     dev_err(dev, "error %d getting core clock\n", ret);
> +
>               return ERR_CAST(clk);
>       }
>  
> 

Reply via email to