Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932565AbcKAXLE (ORCPT ); Tue, 1 Nov 2016 19:11:04 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:40126 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932411AbcKAXLD (ORCPT ); Tue, 1 Nov 2016 19:11:03 -0400 DMARC-Filter: OpenDMARC Filter v1.3.1 smtp.codeaurora.org B6F6A600CE Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=pass smtp.mailfrom=sboyd@codeaurora.org Date: Tue, 1 Nov 2016 16:11:01 -0700 From: Stephen Boyd To: Sarangdhar Joshi Cc: Andy Gross , David Brown , linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , Jordan Crouse , Trilok Soni Subject: Re: [PATCH 2/3] firmware: qcom: scm: Remove core, iface and bus clocks dependency Message-ID: <20161101231101.GW16026@codeaurora.org> References: <1477699729-18451-1-git-send-email-spjoshi@codeaurora.org> <1477699729-18451-3-git-send-email-spjoshi@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1477699729-18451-3-git-send-email-spjoshi@codeaurora.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1341 Lines: 41 On 10/28, Sarangdhar Joshi wrote: > @@ -380,33 +384,43 @@ EXPORT_SYMBOL(qcom_scm_is_available); > static int qcom_scm_probe(struct platform_device *pdev) > { > struct qcom_scm *scm; > + uint64_t clks; > int ret; > > scm = devm_kzalloc(&pdev->dev, sizeof(*scm), GFP_KERNEL); > if (!scm) > return -ENOMEM; > > - scm->core_clk = devm_clk_get(&pdev->dev, "core"); > - if (IS_ERR(scm->core_clk)) { > - if (PTR_ERR(scm->core_clk) == -EPROBE_DEFER) > - return PTR_ERR(scm->core_clk); > + clks = (uint64_t)of_device_get_match_data(&pdev->dev); > + if (clks & SCM_HAS_CORE_CLK) { > + scm->core_clk = devm_clk_get(&pdev->dev, "core"); > + if (IS_ERR(scm->core_clk)) { > + if (PTR_ERR(scm->core_clk) == -EPROBE_DEFER) > + return PTR_ERR(scm->core_clk); > > - scm->core_clk = NULL; > + scm->core_clk = NULL; > + } > } > > if (of_device_is_compatible(pdev->dev.of_node, "qcom,scm")) { Why didn't this also get added to the flags feature? I'd prefer we either use of_device_is_compatible() for everything, or device data to figure out what quirks to apply. > - scm->iface_clk = devm_clk_get(&pdev->dev, "iface"); > - if (IS_ERR(scm->iface_clk)) { > - if (PTR_ERR(scm->iface_clk) != -EPROBE_DEFER) -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project