[PATCH] dma: qcom: Add initialization of axi and core clocks

From: Iaroslav Gridin
Date: Tue Aug 30 2016 - 11:43:09 EST


From: Voker57 <voker57@xxxxxxxxx>

These initialization are missing and causing bam not to init
Signed-off-by: Iaroslav Gridin <voker57@xxxxxxxxx>
---
drivers/dma/qcom/bam_dma.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
index 03c4eb3..faae0c8 100644
--- a/drivers/dma/qcom/bam_dma.c
+++ b/drivers/dma/qcom/bam_dma.c
@@ -395,6 +395,8 @@ struct bam_device {
const struct reg_offset_data *layout;

struct clk *bamclk;
+ struct clk *axi_clk;
+ struct clk *core_clk;
int irq;

/* dma start transaction tasklet */
@@ -1189,6 +1191,25 @@ static int bam_dma_probe(struct platform_device *pdev)
return ret;
}

+ bdev->axi_clk = devm_clk_get(bdev->dev, "axi_clk");
+ if (IS_ERR(bdev->axi_clk))
+ bdev->axi_clk = NULL;
+
+ ret = clk_prepare_enable(bdev->axi_clk);
+ if (ret) {
+ dev_err(bdev->dev, "failed to prepare/enable axi clock\n");
+ return ret;
+ }
+
+ bdev->core_clk = devm_clk_get(bdev->dev, "core_clk");
+ if (IS_ERR(bdev->core_clk))
+ bdev->core_clk = NULL;
+
+ ret = clk_prepare_enable(bdev->core_clk);
+ if (ret) {
+ dev_err(bdev->dev, "failed to prepare/enable core clock\n");
+ return ret;
+ }
ret = bam_init(bdev);
if (ret)
goto err_disable_clk;
--
2.9.3