Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752653AbeAQJqo (ORCPT + 1 other); Wed, 17 Jan 2018 04:46:44 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:38035 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751182AbeAQJqf (ORCPT ); Wed, 17 Jan 2018 04:46:35 -0500 X-Google-Smtp-Source: ACJfBotNEWgLDjIegj77MmLc3ZW1wAuMsosqRbIF5+o+H0YVsEN6Gu2d98LcCVExHQHgaQKrRoLrpQ== Subject: Re: [PATCH 1/4] dmaengine: qcom: bam_dma: make bam clk optional To: Sagar Dharia , Vinod Koul , Andy Gross , dmaengine@vger.kernel.org Cc: Rob Herring , Mark Rutland , David Brown , Dan Williams , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, yanhe@quicinc.com, ramkri@qti.qualcomm.com, sdharia@quicinc.com References: <20180116190236.14558-1-srinivas.kandagatla@linaro.org> <20180116190236.14558-2-srinivas.kandagatla@linaro.org> From: Srinivas Kandagatla Message-ID: Date: Wed, 17 Jan 2018 09:46:31 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 16/01/18 19:38, Sagar Dharia wrote: > > On 1/16/2018 12:02 PM, srinivas.kandagatla@linaro.org wrote: >> From: Srinivas Kandagatla >> >> When BAM is remotely controlled it does not sound correct to control >> its clk on Linux side. Make it optional, so that its not madatory >> for remote controlled BAM instances. >> >> Signed-off-by: Srinivas Kandagatla >> --- >> drivers/dma/qcom/bam_dma.c | 15 ++++++++------- >> 1 file changed, 8 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c >> index 03c4eb3fd314..78e488e8f96d 100644 >> --- a/drivers/dma/qcom/bam_dma.c >> +++ b/drivers/dma/qcom/bam_dma.c >> @@ -1180,13 +1180,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)) { >> + bdev->bamclk = NULL; >> + } else { >> + ret = clk_prepare_enable(bdev->bamclk); >> + if (ret) { >> + dev_err(bdev->dev, "failed to prepare/enable clock\n"); >> + return ret; >> + } > I believe you can also keep pm_runtime disabled if BAM is remotely > controlled. Yes, that's another topic which should be fixed too. I will add that patch in next version. thanks, srini > > Thanks > Sagar >> } >> ret = bam_init(bdev); >