Subject: [PATCH v2] mmc: sdhci-xenon: Fix clock resource by adding an optional bus clock

From: [email-masked] (Jisheng Zhang)
Date: Sat, 30 Sep 2017 14:17:53 +0800

Hi Thomas,

On Sat, 30 Sep 2017 08:07:10 +0200 Thomas Petazzoni wrote:

> Hello,
> 
> On Sat, 30 Sep 2017 10:41:09 +0800, Jisheng Zhang wrote:
> 
> > > +	priv->axi_clk = devm_clk_get(&pdev->dev, "axi");
> > > +	if (IS_ERR(priv->axi_clk)) {
> > > +		err = PTR_ERR(priv->axi_clk);
> > > +		if (err == -EPROBE_DEFER)
> > > +			goto err_clk;
> > > +		priv->axi_clk = NULL;    
> > 
> > IMHO, this assignment could be removed. What do you think?  
> 
> No, because if the clock is not present in the Device Tree,
> priv->axi_clk will contain an error code encoded as a pointer, so
> priv->axi_clk will not be NULL. Hence the rest of the code that will

FWICT, the clk_disable_unprepare() could also check whether the clk
is err, am I wrong?

> operate on this clock will believe there is a valid clock pointed by
> priv->axi_clk. So we really want to reset it to NULL when there was an
> error getting the clock.
> 
> Best regards,
> 
> Thomas