Re: [PATCH 2/5] dmaengine: axi-dmac: move clock enable earlier

From: Vinod Koul
Date: Tue Aug 25 2020 - 07:25:07 EST


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

>
> 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