We want to enable the clock right after it is obtained. Then later we'll want to read the core version via register-access (which requires the clock to be enabled). The initialization of the active_descs list can be postponed after reading from registers (or reading the device-tree). Signed-off-by: Alexandru Ardelean <alexandru.ardelean@xxxxxxxxxx> --- drivers/dma/dma-axi-dmac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c index 088c79137398..90a99bdffa2b 100644 --- a/drivers/dma/dma-axi-dmac.c +++ b/drivers/dma/dma-axi-dmac.c @@ -850,8 +850,6 @@ static int axi_dmac_probe(struct platform_device *pdev) if (IS_ERR(dmac->clk)) return PTR_ERR(dmac->clk); - INIT_LIST_HEAD(&dmac->chan.active_descs); - of_channels = of_get_child_by_name(pdev->dev.of_node, "adi,channels"); if (of_channels == NULL) return -ENODEV; @@ -866,6 +864,8 @@ static int axi_dmac_probe(struct platform_device *pdev) } of_node_put(of_channels); + INIT_LIST_HEAD(&dmac->chan.active_descs); + pdev->dev.dma_parms = &dmac->dma_parms; dma_set_max_seg_size(&pdev->dev, UINT_MAX); -- 2.17.1