Re: [v2 PATCH 1/6] usb: xhci-mtk: get optional clock by devm_clk_get_optional()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2019-04-16 at 12:15 +0200, Greg Kroah-Hartman wrote:
> On Wed, Apr 10, 2019 at 02:47:24PM +0800, Chunfeng Yun wrote:
> > Use devm_clk_get_optional() to get optional clock
> > 
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
> > ---
> > v2: no changes
> > ---
> >  drivers/usb/host/xhci-mtk.c | 19 +++----------------
> >  1 file changed, 3 insertions(+), 16 deletions(-)
> > 
> > diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c
> > index 60987c787e44..026fe18972d3 100644
> > --- a/drivers/usb/host/xhci-mtk.c
> > +++ b/drivers/usb/host/xhci-mtk.c
> > @@ -206,19 +206,6 @@ static int xhci_mtk_ssusb_config(struct xhci_hcd_mtk *mtk)
> >  	return xhci_mtk_host_enable(mtk);
> >  }
> >  
> > -/* ignore the error if the clock does not exist */
> > -static struct clk *optional_clk_get(struct device *dev, const char *id)
> > -{
> > -	struct clk *opt_clk;
> > -
> > -	opt_clk = devm_clk_get(dev, id);
> > -	/* ignore error number except EPROBE_DEFER */
> > -	if (IS_ERR(opt_clk) && (PTR_ERR(opt_clk) != -EPROBE_DEFER))
> > -		opt_clk = NULL;
> > -
> > -	return opt_clk;
> > -}
> > -
> >  static int xhci_mtk_clks_get(struct xhci_hcd_mtk *mtk)
> >  {
> >  	struct device *dev = mtk->dev;
> > @@ -229,15 +216,15 @@ static int xhci_mtk_clks_get(struct xhci_hcd_mtk *mtk)
> >  		return PTR_ERR(mtk->sys_clk);
> >  	}
> >  
> > -	mtk->ref_clk = optional_clk_get(dev, "ref_ck");
> > +	mtk->ref_clk = devm_clk_get_optional(dev, "ref_ck");
> >  	if (IS_ERR(mtk->ref_clk))
> >  		return PTR_ERR(mtk->ref_clk);
> >  
> > -	mtk->mcu_clk = optional_clk_get(dev, "mcu_ck");
> > +	mtk->mcu_clk = devm_clk_get_optional(dev, "mcu_ck");
> >  	if (IS_ERR(mtk->mcu_clk))
> >  		return PTR_ERR(mtk->mcu_clk);
> >  
> > -	mtk->dma_clk = optional_clk_get(dev, "dma_ck");
> > +	mtk->dma_clk = devm_clk_get_optional(dev, "dma_ck");
> 
> Also, now that this clock (and the others here) are controlled by the
> devm infrastructure, do you have to change when you were cleaning up and
> stopping the clock?  
No need, optional_clk_get() uses devm_clk_get() to get clock

Thanks

> That logic seems to be the same here, which does
> not seem to be correct to me.
> 
> Please also document that in your changelog comments when resending this
> series, as all of these patches have this issue as well.
> 
> thanks,
> 
> greg k-h





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux