On Tue, Aug 25, 2020 at 2:24 PM Vinod Koul <vkoul@xxxxxxxxxx> wrote: > > On 19-08-20, 10:16, Alexandru Ardelean wrote: > > The clock may also be required to read registers from the IP core (if it is > > provided and the driver needs to control it). > > So, move it earlier in the probe. > > > > Signed-off-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx> > > --- > > drivers/dma/dma-axi-dmac.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c > > index 088c79137398..07665c60c21b 100644 > > --- a/drivers/dma/dma-axi-dmac.c > > +++ b/drivers/dma/dma-axi-dmac.c > > @@ -850,6 +850,10 @@ static int axi_dmac_probe(struct platform_device *pdev) > > if (IS_ERR(dmac->clk)) > > return PTR_ERR(dmac->clk); > > > > + ret = clk_prepare_enable(dmac->clk); > > + if (ret < 0) > > + return ret; > > + > > INIT_LIST_HEAD(&dmac->chan.active_descs); > > Change is fine, but then you need to jump to err_clk_disable in few > place below this and not return error oops; thanks for catching this; will send a v2 > > > > > of_channels = of_get_child_by_name(pdev->dev.of_node, "adi,channels"); > > @@ -892,10 +896,6 @@ static int axi_dmac_probe(struct platform_device *pdev) > > dmac->chan.vchan.desc_free = axi_dmac_desc_free; > > vchan_init(&dmac->chan.vchan, dma_dev); > > > > - ret = clk_prepare_enable(dmac->clk); > > - if (ret < 0) > > - return ret; > > - > > version = axi_dmac_read(dmac, ADI_AXI_REG_VERSION); > > > > ret = axi_dmac_detect_caps(dmac, version); > > -- > > 2.17.1 > > -- > ~Vinod