On Wed 14 Feb 06:44 PST 2018, Srinivas Kandagatla wrote: > @@ -1233,13 +1233,14 @@ static int bam_dma_probe(struct platform_device *pdev) > "qcom,controlled-remotely"); > > bdev->bamclk = devm_clk_get(bdev->dev, "bam_clk"); > - if (IS_ERR(bdev->bamclk)) > - return PTR_ERR(bdev->bamclk); > - > - ret = clk_prepare_enable(bdev->bamclk); > - if (ret) { > - dev_err(bdev->dev, "failed to prepare/enable clock\n"); > - return ret; > + if (IS_ERR(bdev->bamclk)) { In the case of !bdev->controlled_remotely I think this should still be an error. > + bdev->bamclk = NULL; > + } else { > + ret = clk_prepare_enable(bdev->bamclk); > + if (ret) { > + dev_err(bdev->dev, "failed to prepare/enable clock\n"); > + return ret; > + } The rest of the driver will keep operating the bamclk (which is okay), so for symmetry purposes I think you should just keep the clk_prepare_enable() block unmodified. Regards, Bjorn -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html