Re: [PATCH 1/5] can: xilinx_can: defer the probe if clock is not found

From: Marc Kleine-Budde
Date: Mon Aug 12 2019 - 05:03:34 EST


On 8/12/19 9:28 AM, Appana Durga Kedareswara rao wrote:
> From: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xxxxxxxxxx>
>
> It's not always the case that clock is already available when can
> driver get probed at the first time, e.g. the clock is provided by
> clock wizard which may be probed after can driver. So let's defer
> the probe when devm_clk_get() call fails and give it chance to
> try later.

Technically the patch changes the error message to not being printed in
case of EPROBE_DEFER. This patch doesn't change any behaviour apart from
that. Please adjust the patch description accordingly.

Marc

>
> Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xxxxxxxxxx>
> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx>
> ---
> drivers/net/can/xilinx_can.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/can/xilinx_can.c b/drivers/net/can/xilinx_can.c
> index bd95cfa..ac175ab 100644
> --- a/drivers/net/can/xilinx_can.c
> +++ b/drivers/net/can/xilinx_can.c
> @@ -1791,7 +1791,8 @@ static int xcan_probe(struct platform_device *pdev)
> /* Getting the CAN can_clk info */
> priv->can_clk = devm_clk_get(&pdev->dev, "can_clk");
> if (IS_ERR(priv->can_clk)) {
> - dev_err(&pdev->dev, "Device clock not found.\n");
> + if (PTR_ERR(priv->can_clk) != -EPROBE_DEFER)
> + dev_err(&pdev->dev, "Device clock not found.\n");
> ret = PTR_ERR(priv->can_clk);
> goto err_free;
> }
>


--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |

Attachment: signature.asc
Description: OpenPGP digital signature